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 Connection cannot detect idle connection to send ping and server shutdown connection #13576

Closed
asimarslan opened this issue Aug 14, 2018 · 0 comments

Comments

@asimarslan
Copy link
Member

@asimarslan asimarslan commented Aug 14, 2018

Client connection should detect that a connection is reading but not sending any data to server to detect heartbeat idle case.
Current implementation checks only last read time which is not enough for reading only connections like just simple listener use case.

Possible fix line : HeartbeatManager.java#L94

Test Case:

Two member with a single client that registers a Topic listener on the non-owner member.
Member side publish continuous data to topic and client listener consumes it.
After member heartbeat timeout, member-2 will shutdown client as no ping received.

@asimarslan asimarslan modified the milestones: 3.11, 3.10.5 Aug 14, 2018
@sancar sancar self-assigned this Aug 14, 2018
sancar added a commit to sancar/hazelcast that referenced this issue Aug 14, 2018
Client was not sending Ping to server when last read time is
up-to-date. When server constantly pushes events to client,
client does not send any ping to server. And consequently,
server closes client because it does not send any ping.

Client logic has changed so that it send pings if there is no
outgoing packages recently, rarther than looking at incoming
packages.

fixes hazelcast#13576
sancar added a commit to sancar/hazelcast that referenced this issue Aug 14, 2018
Client was not sending Ping to server when last read time is
up-to-date. When server constantly pushes events to client,
client does not send any ping to server. And consequently,
server closes client because it does not send any ping.

Client logic has changed so that it send pings if there is no
outgoing packages recently, rarther than looking at incoming
packages.

fixes hazelcast#13576

(cherry picked from commit 9bb70fa)
sancar added a commit to sancar/hazelcast that referenced this issue Aug 15, 2018
Client was not sending Ping to server when last read time is
up-to-date. When server constantly pushes events to client,
client does not send any ping to server. And consequently,
server closes client because it does not send any ping.

Client logic has changed so that it send pings if there is no
outgoing packages recently, rarther than looking at incoming
packages.

fixes hazelcast#13576
sancar added a commit to sancar/hazelcast that referenced this issue Aug 15, 2018
Client was not sending Ping to server when last read time is
up-to-date. When server constantly pushes events to client,
client does not send any ping to server. And consequently,
server closes client because it does not send any ping.

Client logic has changed so that it send pings if there is no
outgoing packages recently, rarther than looking at incoming
packages.

fixes hazelcast#13576

(cherry picked from commit 9bb70fa)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

3 participants
You can’t perform that action at this time.