Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Client isn't equipped to handle requests/responses concurrently #2

Open
djdv opened this issue Feb 8, 2024 · 0 comments
Open

Client isn't equipped to handle requests/responses concurrently #2

djdv opened this issue Feb 8, 2024 · 0 comments

Comments

@djdv
Copy link

djdv commented Feb 8, 2024

Pulling this issue out from: djdv/go-filesystem-utils#40
Making multiple requests concurrently causes the client to mix up responses and send them out of order.
E.g.

2023/11/21 13:21:51 [TRACE] request: RPC #4290061661 (nfs.Lookup)
2023/11/21 13:21:51 [TRACE] request: RPC #4290061662 (nfs.Lookup)
err on: Qmc2fSA6chjZMbXRi7JGQZ7tXEmDbtG2XF9FXRLCtGLBQV [] xid did not mat ch, expected: ffb5255e, received: ffb5255d
err on: Qmc2fSA6chjZMbXRi7JGQZ7tXEmDbtG2XF9FXRLCtGLBQV [] xid did not mat ch, expected: ffb5255d, received: ffb5255e

Users can work around this problem by synchronizing themselves client side (such as with a mutex).
However, this detail should likely be documented, and ideally resolved.

For me, it was confusing because the sibling server library does appear to handle its operations concurrently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant