-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Info missing for recv/read messages in p2p/grp #869
Comments
I'm not sure there is a bug. We do not guarantee that each message will be individually acknowledged. For instance, if "read" is ack-ed for seq=45, that mean all messages prior to seq=45 are also read and received even if there was no ack for seq=44. Please point me to specific gaps in your logs. What exactly was not acknowledged in your session? |
Yes, and i understand that "read" for seq 45, will mark read prior to seq 45.
This issue is very easily replicable on sandbox.tinode.co, just get two users, and let them send messages at fast pace, one of them will stop receiving info:read/recv(and ui will show only double/single ticks, and not blue ticks even though other has subscribed to topic and marked note). |
I'm looking at this part of your server log (I removed entries unrelated to seq=45)
Where exactly do you see the problem? |
Please show me the part of the logs which illustrates the problem. Or list the line numbers in the attached logs. |
A: session:- user: |
In line 218 server notifies user
|
I think you are missing point. The point i am trying to convey you is that server is not sending "read"(emphasis) for messages sent by B and marked as "read" by A. Server will not send info:read to B until another message is sent by B->A and A marks it as read(by sending note) -> and server issues a info:read to B, no matter wait. I get it that server is overwhelmed because of too many read/recv from both sides, but that is where bug lies. This is just a single p2p topic, and we are using standalone 4 core machine, and as i said earlier too this is replicable on sandbox.tinode.co . I think i have tried my best to explain you the problem. |
It's quite possible that I'm missing the point because I'm unable to see the problem in the attached logs. Or you are unable to clearly demonstrate it. You said in context of message 42:
No, that is not a problem because the server did not receive The server received It's very difficult for me to follow your reasoning. Please give me the line number where client
I do not see a message with id=99067 in your logs. |
Could you please clarify this so we could be on same page.
Thanks |
Yes, I see the problem now. Let me think about it. |
Thank you acknowledging the issue. Looking forward to it. |
Here is the underlying reason.
If a client sends a message with And that's where the problem comes from:
The most rational way to fix it is that if |
Very interesting but obvious solution, it seems. Thanks, this has fixed the issue. |
Subject of the issue
Hi,
This seems like a bug. So the scenario is more than 1 users are chatting in a topic(p2p/grp), and issue is that one of the users won't get info:what:read/recv against note:what:read/recv issued by the other user. We saw that even if single message is sent but at the same instance of time, info message is missing for one of the topic subscriber, although highly prevalent when users are typing at fast pace.
Thanks
Your environment
Server-side
0.21.0
Client-side
0.21.0
Steps to reproduce, Actual behaviour
Create a p2p topic, with two users UserA, UserB. Both send message to each other at same time. One of them will not receive info message of either recv or read. Single message might not be enough to reproduce. So they can keep sending messages to each other at high rate (2-3 rps). One of them will stop receiving info message of recv/read. (It happens mostly with read, recv info is sent by server most of times)
Expected behaviour
Both users should receive info:read/recv for all messages (or at least last one)
Server-side log, Client-side log
info-missing-fast-typing.zip
In this bug example, client-1 stopped receiving read messages, only received were sent by server, however client-2 was online and actively sending messages to client-1. Server is dropping info messages. These logs are from debug-panel with our hosted server. But it is easily replicable on sandbox.tinode.co as well
The text was updated successfully, but these errors were encountered: