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

Invalid payload in membership brakes cluster completely #2179

Closed
yngvar-antonsson opened this issue Jan 23, 2024 · 4 comments · Fixed by #2181
Closed

Invalid payload in membership brakes cluster completely #2179

yngvar-antonsson opened this issue Jan 23, 2024 · 4 comments · Fixed by #2181
Assignees

Comments

@yngvar-antonsson
Copy link
Collaborator

The invalid payload in membership members (or the invalid member itself) leads to broken webui (or some undiscovered problems).

membership.members['!!binary something'] = {
    payload = 98,
}
@Bob4anckii
Copy link

Bob4anckii commented Jan 23, 2024

TDG 2.6.9
During running destructive tests on a cluster of 8 hosts, a 15% network packet corruption scenario was run for 10 minutes, resulting to this bug
The problem was detected when called

require'fun'.iter(require'membership'.members()):filter(function(member)
        return type(member.payload) ~= 'table'
    end):totable()

On instance of tarantool

@grafin
Copy link
Member

grafin commented Jan 23, 2024

How is that possible? I thought Tarantool relies on TCP to detect broken packets and resend them. Were the packets modified on higher levels of OSI (like in a proxy before Tarantool)?

@yngvar-antonsson
Copy link
Collaborator Author

How is that possible? I thought Tarantool relies on TCP to detect broken packets and resend them. Were the packets modified on higher levels of OSI (like in a proxy before Tarantool)?

I'm not sure about the place where the packets were corrupted, but membership works with UDP.
Anyway, for the four years in Tarantool I've never seen this bug.

@grafin
Copy link
Member

grafin commented Jan 23, 2024

I'm not sure about the place where the packets were corrupted, but membership works with UDP

Thanks for the info, then it is plausible that the packets might be corrupted in any way during the transmission (although not probable in real setups, thats why it probably didn't happen before intentional destruction testing)

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

Successfully merging a pull request may close this issue.

3 participants