Code Monkey home page Code Monkey logo

Comments (6)

pohly avatar pohly commented on June 24, 2024

We discussed this today in the Kubernetes-CSI standup and everyone agreed that a) this should be fixed in the hostpath driver and b) that having these idempotency tests in csi-test will be very useful.

from csi-driver-host-path.

BenTheElder avatar BenTheElder commented on June 24, 2024

what is necessary to fix this? just limiting the concurrency of operations in the driver?

from csi-driver-host-path.

BenTheElder avatar BenTheElder commented on June 24, 2024

xref: #72, this sounds like a superset of that

from csi-driver-host-path.

okartau avatar okartau commented on June 24, 2024

I created #139 to tolerate repeated NodeUnpublish requests.
My local testing shows that this allows hostpath driver to pass the added repeated csi-sanity testing currently coming in kubernetes-csi/csi-test#229, so right now there is no need to add mutex locking to satisfy those repeated tests, as I can't see failures.

from csi-driver-host-path.

pohly avatar pohly commented on June 24, 2024

so right now there is no need to add mutex locking to satisfy those repeated tests, as I can't see failures.

This is a dangerous argument: that you haven't been able to trigger a problem caused by missing locking does not mean that the problem doesn't exist or that we don't need to do anything about it.

In practice the problem should be exceedingly rare. It only happens when two gRPC calls reach the driver at the same time and get processed in parallel. I think the idempotency tests don't cover that, they just issue the same call multiple times sequentially.

So while we don't need mutex locking to make the NodeUnpublishVolume idempotent, we still need it to make the code more robust.

from csi-driver-host-path.

okartau avatar okartau commented on June 24, 2024

This is a dangerous argument: that you haven't been able to trigger a problem caused by missing locking does not mean that the problem doesn't exist or that we don't need to do anything about it.

I agree, I did not mean we don't need to deal with locking at all, just that currently to-be-added test cases do not expose problem that we can see fixed by added locking.
We should add locking, but the progress will be more assuring if we can have test case(s) improved by locking.

from csi-driver-host-path.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.