These are chat archives for atomix/atomix

12th
Jun 2018
Jordan Halterman
@kuujo
Jun 12 2018 00:07
Amount of memory used in allocations doesn’t seem a very useful metric by itself. Doesn’t bother me as long as it’s not holding on to a lot of memory that can’t be GCed.
That’s a log time though
long*
Johno Crawford
@johnou
Jun 12 2018 00:12
well it's a lot of resources for CI imo
Jordan Halterman
@kuujo
Jun 12 2018 00:12
yep
Johno Crawford
@johnou
Jun 12 2018 00:12
ok from 2 gig to 200mb
Jordan Halterman
@kuujo
Jun 12 2018 00:19
that works
Johno Crawford
@johnou
Jun 12 2018 00:20
renamed enableNettyTLS to be project specific, didn't see any usages
not sure if it's in ONOS?
Jordan Halterman
@kuujo
Jun 12 2018 00:21
yes it’s used in ONOS but it needs to be part of the builder not a system property
Johno Crawford
@johnou
Jun 12 2018 00:21
also decreased init heap because one of the CI runs failed due to alloc failure
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000006ca660000, 4120510464, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 4120510464 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /builds/atomix-io/atomix/utils/hs_err_pid105.log
oh that's nice formatting
Jordan Halterman
@kuujo
Jun 12 2018 00:22
```
Jordan Halterman
@kuujo
Jun 12 2018 17:55
@johnou should we remove Travis?
Jordan Halterman
@kuujo
Jun 12 2018 18:21
also wtf happened to coveralls
Johno Crawford
@johnou
Jun 12 2018 18:37
@kuujo coveralls only runs if travis succeeds iirc
Jordan Halterman
@kuujo
Jun 12 2018 18:37
pretty sure it didn’t run the last few times Travis succeeded
Johno Crawford
@johnou
Jun 12 2018 18:38
Haven't seen gitlab pass yet, need to debug more
Johno Crawford
@johnou
Jun 12 2018 18:54
22 minutes
Jordan Halterman
@kuujo
Jun 12 2018 18:55
nice
Johno Crawford
@johnou
Jun 12 2018 19:02
Isn't that half the time
Ronnie
@rroller
Jun 12 2018 19:11
coveralls. Is that a project name? That's an amazing name
Jordan Halterman
@kuujo
Jun 12 2018 19:11
haha yep
yeah it was like 50 minutes on Travis
Johno Crawford
@johnou
Jun 12 2018 19:19
I'll fix the gitlab ci config to push javadocs and coveralls
Jordan Halterman
@kuujo
Jun 12 2018 19:19
and snapshot
Johno Crawford
@johnou
Jun 12 2018 19:19
Need to get the kid to bed first
Yep
Jordan Halterman
@kuujo
Jun 12 2018 19:20
story of my life
moranl
@moranl
Jun 12 2018 21:01
Hi all, I'm new to the community. I'm looking for a distributed consensus cluster solution for a large amount of nodes (>1K hopefully supports >10K), low reliability of the nodes, small amounts of data (small blobs). I came across Atomix and eager to try. First, I'm trying to better understand how good Atomix is for nodes behind FW/NAT. I saw you're using Netty which supports UDP, but wonder if there are any directions / observations. Also, is there any concept of super nodes? Looked around the documentation and groups for answer but didn't find any, hope I didn't miss anything. Thanks!
moranl
@moranl
Jun 12 2018 21:57
Meant UDT of course :)
Johno Crawford
@johnou
Jun 12 2018 22:07
the UDT transport in Netty is no longer maintained and will be removed in a future release
you might want to look into something else
moranl
@moranl
Jun 12 2018 22:41
Thanks! Does anyone have experience with such case of FW/NAT support or super nodes, etc? Or you wouldn't recommend using Atomix(/Netty) in this case?
Jordan Halterman
@kuujo
Jun 12 2018 23:39
ONOS tests are good to go
Jordan Halterman
@kuujo
Jun 12 2018 23:52
There’s no concept of supernodes and I’m not all that familiar. Still working on architecture documentation, but I gave a talk internally at my company on Atomix 3 last week, and I posted the YouTube link above.
Jordan Halterman
@kuujo
Jun 12 2018 23:59

There are generally three facets of Atomix:
• Cluster management
• Cluster communication
• Distributed primitives

Cluster management as it’s currently designed probably doesn’t scale well to thousands of nodes. We need to use a better group membership protocol for that.

Communication is supported via direct and publish-subscribe messaging APIs wrapping Netty TCP channels.

Distributed primitives are effectively replicated state machines backed by scalable Raft or primary-backup protocols with high-level APIs for replicating state (distributed collections) or coordinating state changes (locks, leader elections, etc).