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

Question: missing binary API reply with sequence number #78

Closed
fatelei opened this issue Oct 22, 2022 · 5 comments
Closed

Question: missing binary API reply with sequence number #78

fatelei opened this issue Oct 22, 2022 · 5 comments
Labels

Comments

@fatelei
Copy link

fatelei commented Oct 22, 2022

vpp is a single thread server, so it handles request one by one, and response it one by one. i don't know how the disorder will be happen.

@ondrej-fabry
Copy link
Member

To be honest, I am not really sure what you are asking here. The request and replies are matched by the context field in the message itself. Each Channel or Stream has unique context number which is used in the request and VPP replies using the same context, that is how GoVPP client matches request/reply even if they are processed out of order.

@fatelei
Copy link
Author

fatelei commented Oct 24, 2022

i using govpp, i found this error missing binary API reply with sequence number. Because of vpp is single thread server, it handle the request one by one, so i think the vpp will echo the request number in order. I want to known what kind of situation will lead this error.

@fatelei
Copy link
Author

fatelei commented Oct 24, 2022

close it, i will check vpp is single thread or multi thread. i

@fatelei fatelei closed this as completed Oct 24, 2022
@ondrej-fabry
Copy link
Member

Could you share the code you are using to send/receive requests?

@ondrej-fabry
Copy link
Member

ondrej-fabry commented Oct 25, 2022

This error message occurs when you receive a reply that has higher sequence number than expected. The sequence number is actually part of the context field mentioned above and each Channel contains it's own sequence number which is increased every time you send request. The RequestContext you get from SendRequest will be used to check the sequence number in the reply you get to verify it matches. However if you use the Channel in multiple goroutines or if you send multiple requests simultaneously before receiving reply from the previous request you will run into this error.

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

No branches or pull requests

3 participants