[jgroups-users] SEQUENCER on Docker+k8s

Questions/problems related to using JGroups <[email protected]> Tue, 31 Jan 2017 16:55:01 +0100
Newsgroups gmane.comp.java.javagroups.general
Message-ID <[email protected]>
Hi everyone,

I'm currently trying to run a JGroups SEQUENCER using Docker and
Kubernetes on AWS EC2. (1 master on a m3.medium and 5 minions on
c4.2xlarge instances)

My goal is to see how much can I scale JGroups SEQUENCER before it
starts to fail. (Either not every messages are delivered by everyone or
out of order or simply cluster failure)

I'm using a custom config[1] making use of the TCPGOSSIP server as we
want to use UNICAST.

My code is really simple[2], every peer connect to the same cluster and
at a given time they start sending messages every second for a given
duration.

When trying with that many peers (200) I get a lot of exceptions and
JGroups starts to fail with these messages[3] (Not exhaustive but errors
are always related to the native send method and a "Invalid Argument").

Is JGroups expected to fail with this many peers or are these errors
strange and shows a problem somewhere in my configuration or somewhere else?

P.S.: I tried messing with the sysctl parameters from [4] with no luck:
- sysctl net.ipv4.ip_local_port_range="15000 61000"
- sysctl net.ipv4.tcp_fin_timeout=30
- sysctl net.core.somaxconn=1024
- ifconfig eth0 txqueuelen 5000
- sysctl net.core.netdev_max_backlog=2000
- sysctl net.ipv4.tcp_max_syn_backlog=2048


Cheers
JT


[1]
https://github.com/jocelynthode/EpTOTester/blob/master/projects/JGroupsTester/src/main/resources/sequencer-tcpgossip.xml

[2]
https://github.com/jocelynthode/EpTOTester/blob/master/projects/JGroupsTester/src/main/kotlin/EventTester.kt

[3] https://gist.github.com/jocelynthode/b4f7d04e248c10672c10fe79210bda27

[4] http://stackoverflow.com/a/3923785/2826574

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot