Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • Apr 24 08:14
    CAIWan1998 opened #1106
  • Mar 29 03:31
    tomikazi opened #1105
  • Feb 17 18:44

    kuujo on revert-hardening


  • Feb 17 18:44

    kuujo on 3.1

    Revert "Atomix hardening". Unf… (compare)

  • Feb 17 18:44
    kuujo closed #1104
  • Feb 17 14:16
    pierventre review_requested #1104
  • Feb 17 14:16
    pierventre review_requested #1104
  • Feb 17 14:16
    pierventre review_requested #1104
  • Feb 17 14:16
    pierventre opened #1104
  • Feb 17 14:15

    pierventre on revert-hardening

    Revert "Atomix hardening". Unf… (compare)

  • Feb 10 16:42
    hyperxpro commented #21
  • Feb 07 21:32

    kuujo on 3.1

    [maven-release-plugin] prepare … (compare)

  • Feb 07 21:32

    kuujo on atomix-3.1.12


  • Feb 07 21:32

    kuujo on 3.1

    [maven-release-plugin] prepare … (compare)

  • Jan 29 08:44

    pierventre on 3.1

    Add demote API to LeaderElector… (compare)

  • Jan 29 08:44
    pierventre closed #1103
  • Jan 27 11:12
    pierventre review_requested #1103
  • Jan 20 22:03
    pierventre review_requested #1103
  • Jan 20 22:03
    pierventre review_requested #1103
  • Jan 20 22:03
    pierventre opened #1103
Johno Crawford

Please join Slack!

We are no longer monitoring this channel, which is why nobody’s getting responses. Gitter has never been very easy to monitor, so we moved to Slack. The following link is a permanent invite to the Slack workspace:


In order to form a ONOS cluster with we must create an Atomix cluster first. My all three Atomix nodes and three ONOS nodes are same 3 physical hosts.

I am facing problems running Atomix cluster. The first Atomix node is running correctly and displaying following outputs:

13:39:55.911 [main] INFO io.atomix.core.Atomix - 3.0.7 (revision 9e8e73 built on 2018-10-11 18:07:26)

13:39:56.241 [netty-messaging-event-epoll-server-0] INFO i.a.c.m.impl.NettyMessagingService - TCP server listening for connections on
13:39:56.243 [netty-messaging-event-epoll-server-0] INFO i.a.c.m.impl.NettyMessagingService - Started
13:39:56.306 [atomix-bootstrap-heartbeat-receiver] INFO i.a.c.d.BootstrapDiscoveryProvider - Joined
13:39:56.306 [atomix-bootstrap-heartbeat-receiver] INFO i.a.c.i.DefaultClusterMembershipService - atomix-1 - Member activated: Member{id=atomix-1, address=, properties={}}
13:39:56.308 [atomix-bootstrap-heartbeat-receiver] INFO i.a.c.i.DefaultClusterMembershipService - Started
13:39:56.309 [atomix-cluster-0] INFO i.a.c.m.i.DefaultClusterCommunicationService - Started
13:39:56.311 [atomix-cluster-0] INFO i.a.c.m.i.DefaultClusterEventService - Started
13:39:56.318 [atomix-0] INFO i.a.p.p.i.DefaultPartitionGroupMembershipService - Started
13:39:56.337 [atomix-0] INFO i.a.p.p.i.HashBasedPrimaryElectionService - Started
13:39:56.371 [atomix-0] INFO i.a.p.r.p.impl.RaftPartitionServer - Starting server for partition PartitionId{id=1, group=system}
13:39:56.577 [raft-server-system-partition-1] INFO i.a.protocols.raft.impl.RaftContext - RaftServer{system-partition-1} - Transitioning to FOLLOWER
13:40:00.157 [raft-server-system-partition-1] WARN i.a.p.raft.roles.FollowerRole - RaftServer{system-partition-1}{role=FOLLOWER} - java.net.ConnectException
13:40:00.158 [raft-server-system-partition-1] WARN i.a.p.raft.roles.FollowerRole - RaftServer{system-partition-1}{role=FOLLOWER} - java.net.ConnectException

The problem is getting occured while running second and third Atomix nodes. While running those two nodes Atomix log displays "Failed to acquire storage lock; ensure each Raft server is configured with a distinct storage directory". Full logs are given below:

13:54:13.743 [main] INFO io.atomix.core.Atomix - 3.0.7 (revision 9e8e73 built on 2018-10-11 18:07:26)

13:54:13.984 [netty-messaging-event-epoll-server-0] INFO i.a.c.m.impl.NettyMessagingService - TCP server listening for connections on
13:54:13.985 [netty-messaging-event-epoll-server-0] INFO i.a.c.m.impl.NettyMessagingService - Started
13:54:14.342 [atomix-bootstrap-heartbeat-receiver] INFO i.a.c.d.BootstrapDiscoveryProvider - Joined
13:54:14.343 [atomix-bootstrap-heartbeat-receiver] INFO i.a.c.i.DefaultClusterMembershipService - atomix-2 - Member activated: Member{id=atomix-2, address=, properties={}}
13:54:14.345 [atomix-bootstrap-heartbeat-receiver] INFO i.a.c.i.DefaultClusterMembershipService - Started
13:54:14.345 [atomix-cluster-0] INFO i.a.c.m.i.DefaultClusterCommunicationService - Started
13:54:14.348 [atomix-cluster-0] INFO i.a.c.m.i.DefaultClusterEventService - Started
13:54:14.464 [atomix-cluster-heartbeat-sender] INFO i.a.c.i.DefaultClusterMembershipService - atomix-1 - Member updated: Member{id=atomix-1, address=, properties={}}
13:54:14.622 [atomix-partition-group-membership-service-0] INFO i.a.p.p.i.DefaultPartitionGroupMembershipService - Started
13:54:14.638 [atomix-partition-group-membership-service-0] INFO i.a.p.p.i.HashBasedPrimaryElectionService - Started
13:54:14.673 [atomix-partition-group-membership-service-0] INFO i.a.p.r.p.impl.RaftPartitionServer - Starting server for partition PartitionId{id=1, group=system}
Exception in thread "main" java.util.concurrent.CompletionException: io.atomix.storage.StorageException: Failed to acquire storage lock; ensure each Raft server is configured with a distinct storage directory

Emil Kirschner
joined slack but not getting any replies either….
Basanth Gowda
Hello - This is Basanth, I am new to Atomix, though I have been following it for little more than a year..
Was wondering, if there is a way to run Atomix on a single JVM for distributed Map. we will run with multiple JVM's in production, but should be able to get it running on desktops
Matthew Burghoffer
@johnou the slack invite link is no longer valid - is it possible to make a new one (and put the link somewhere accessible for others)?
Marc Sernatinger
Is there info on the slack server somewhere?
Came by this chat via https://atomix.io/community/ and didn't see any mention of a Slack
Hello, @kuujo , I am playing around with Atomix for a week, it is amazing. It's a lot of work effort. Thank you for providing such a great sutff.
Hi All, I am trying to create a distributed map
    MultiRaftProtocol protocol = MultiRaftProtocol.builder()
    Map<String, String> map = atomix.<String, String>mapBuilder("my-map")
but i always get NullPointerExecption in the build step, any idea what is missing
@damianoneill @santhoshTpixler - do you have slack intivitation link ?
@kuujo - could you please share slack invitation link , as old link is not active ?
@jhalterman - do you have invitation link to slack community for atomix
I just got this link from Slack so it should work
@kuujo - thanks.
hey all!
Hi, I'm new to atomix. Is rollingUpgrade is supported in atomix cluster ?
Xun Liu
hi @kuujo
I developed a service atomix-java-3.0-server with atomix-java-3.0 version,
Can I use atomix-go-client to connect to atomix-java-3.0-server?
Paranshu Singhal
[ec2-user@ip-172-31-17-190 atomix-sample-3.0.8]$ ./bin/atomix-agent
Exception in thread "main" java.lang.NullPointerException
        at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:782)
        at io.atomix.cluster.messaging.impl.NettyBroadcastService$Builder.withLocalAddress(NettyBroadcastService.java:84)
        at io.atomix.cluster.AtomixCluster.buildBroadcastService(AtomixCluster.java:351)
        at io.atomix.cluster.AtomixCluster.<init>(AtomixCluster.java:187)
        at io.atomix.core.Atomix.<init>(Atomix.java:484)
        at io.atomix.core.AtomixBuilder.build(AtomixBuilder.java:488)
        at io.atomix.agent.AtomixAgent.buildAtomix(AtomixAgent.java:325)
        at io.atomix.agent.AtomixAgent.main(AtomixAgent.java:60)
Anybody know anything about this?
Paranshu Singhal
Solved it.
Junbo Ruan
@kuujo can i add one node in runtime without changing configuration file & restarting?
@paranshu-singhal how you solved the << Exception in thread "main" java.lang.NullPointerException >> error. please help
does anybody want to shed some light on the status of atomix? Last time I asked I was told to wait for atomix3... is atomix3 stable yet?
anybody in here?
What's the atomix-log?
Berke Sökhan
They sat they dont monitor this channel at the top, but the slack link they gave seems to be expired
Max Xandeco
Hey There, I can't find my way on something here from the documentation, I have deployed atomix on kubernetes, and would like to "connect"
to that cluster to make use of an AtomicIdGenerator, can't find a way to do that. maybe I have completly misunderstood how atomix works?
I am able to bootstrap a "embedded" cluster locally and use from there, but can't find any way to connect to this k8s setup. 🤔
Max Xandeco
What I was looking was to start my application, and somehow set the discovery address to the k8s service, and my app would be able to "join" that cluster, that is already set and running in k8s.
how to join slack workspace?
hi? Which version is productive ready ? atomix3.1.8 ?
my question is abt expiringmap
is it possible to keep entries which don't expire as i'm using variable expiration map?
basically i want to keep both entries - some which expire and some which don't

The getting started guide says to do the local node with


But that method no longer exists.. am I correct to assume I'm to use




I'm using a two node cluster with datagrid profile. I then create a `DistributedMap to which I'm writing and reading from. That works fine if only the first node is online, once the second node joins, it also gets all the data, but if I terminate one of the nodes again (calling atomix.close()) then write to the DistributedMap again, I'm getting a PrimitiveExceptionTimeout.
What am I missing here? I went by the getting started guide. The map is created as follows

DistributedMapBuilder<String, String> mapBuilder = atomix.mapBuilder(mapName); map = mapBuilder.withCacheEnabled().build();

by the way, is the google group private? Seems I can't join
I put a working sample of my PrimiteTimeoutException problem on Github: https://github.com/ssteiner/AtomixTester. It works if I kill the non leader, and the problem occurrs when I kill the leader (commented out in main.java)
Isn't withdrawing a member from leader election supposed to lead to a new election (especially if the withdrawn candidate is the current leader)?
Saravanakumar Nagarajan
Slack invite is expired, can someone please post a new link here
Hey there,
I'm an active contributor to the Apache James project, a distributed email server. A part of an email server is to generate monotic counters (UID & MODSEQ) Nowadays we actively rely on Cassandra lightweight tansactions which is not just performant enough.
Atomix seems like an awesome way to improve this. We are so far in the (very) early evaluation stage and did not yet put together Proofs Of Concepts. Standalone docker/kubernetes seems to be the way to go for us (ease of management).
I spent a bit of time reading the doumentation website (good job BTW!) and it seems to me that persistence (ie not loosing data after turning all atomix nodes off-and-on) looks like a non adressed topic. How such events would be handled? Should persistence be a concern of the third party app or is it handled out of the box? (No volumes in https://github.com/atomix/atomix/blob/master/dist/Dockerfile seems to back this up...)
Syed Junaid
Hello, I want to know where the configuration of timing of cluster is located?
needs to change
thanks in advance
Daniel del Castillo
hey here, is this community alive?
Daniel del Castillo
I'm new to Atomix and I've got a question about MultiPrimaryProtocol. I've got a 3 node cluster with a raft management group and I've got a primary backup-group for my primitives. I'm running the 3 nodes in my laptop. I've got a DistributedQueue and an AtomicMap and they work well until one of the nodes (the leader I believe) is removed from the cluster (either because it restarts or it crashes, etc) When this happens all the other nodes throw a Timeout exception when either reading or writing data to the primitive collection. I'm not sure how this scenario should be handle to ensure the rest of the nodes keep working as normal. If the lead node of a distributed collection that uses multi-primary protocol goes down should that not trigger a leader election and then the other nodes carry on normally?