Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • Jun 03 15:33
    Taher-Ghaleb commented #1094
  • May 24 06:42
    franz1981 commented #1095
  • May 24 06:41
    franz1981 commented #1095
  • May 19 14:08
    coveralls commented #1080
  • May 19 14:03
    ynfeng commented #1080
  • May 19 14:03
    ynfeng commented #1080
  • May 19 14:03
    ynfeng commented #1080
  • May 19 13:44
    ynfeng synchronize #1080
  • May 19 08:14
    ynfeng commented #1080
  • May 16 15:33
    franz1981 commented #1095
  • May 16 15:32
    franz1981 commented #1095
  • May 16 14:25
    franz1981 commented #1095
  • May 16 14:20
    franz1981 commented #1095
  • May 16 14:20
    franz1981 commented #1095
  • May 16 14:19
    franz1981 commented #1095
  • May 16 14:05
    franz1981 commented #1095
  • May 16 14:04
    franz1981 commented #1095
  • May 16 14:02
    franz1981 commented #1095
  • May 16 14:01
    franz1981 commented #1095
  • May 16 13:55
    johnou commented #1095
Hey! I'm trying to startup a cluster with two computer in the same LAN but, dispite in the same machine the cluster works, in two computer nothing seems to starts. The console prints multiple time Connection timeout... What can I do?
Vikram G Palakurthi
Hello everyone, first thanks for the great api. I am trying to refer docs and all of the links point to http which is being blocked since I am behind the corporate proxy. Can the website be updated so it could use the right protocol, thanks.
Hello everyone. I'm working on a project that needs to replicate a map to several host and maintain serializable consistency level. Atomix seems to be a prefect tool for this. In our scenario, read is frequent (2w qps on average on a 3 node cluster) and write is rare ( 1 qps at maxium ). Are there any benchmark of Atomix's performance with regard to r/w qps ? or any suggestions on whether should I use Atomix in this senario?

we want to deploy atomix cluster in kubernetes . we tried with helm but atomix pods are failing k8s-admin@k8s-master:~/atomix-helm$ kubectl describe pod test2-atomix-0
Name: test2-atomix-0
Namespace: default
Priority: 0
PriorityClassName: <none>
Node: <none>
Labels: app=test2-atomix
Annotations: <none>
Status: Pending
Controlled By: StatefulSet/test2-atomix
Init Containers:
Image: ubuntu:16.04
Port: <none>
Host Port: <none>
/scripts/create-config.sh --nodes=$ATOMIX_NODES > /config/atomix.properties
/config from system-config (rw)
/scripts from init-scripts (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-498sp (ro)
Image: atomix/atomix:3.0.6
Ports: 5678/TCP, 5679/TCP
Host Ports: 0/TCP, 0/TCP
cpu: 500m
memory: 512Mi
Liveness: http-get http://:5678/v1/status delay=60s timeout=10s period=10s #success=1 #failure=3
Readiness: http-get http://:5678/v1/status delay=10s timeout=10s period=10s #success=1 #failure=6
/etc/atomix/system from system-config (rw)
/etc/atomix/user from user-config (rw)
/var/lib/atomix from data (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-498sp (ro)
Type Status
PodScheduled False
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: data-test2-atomix-0
ReadOnly: false
Type: ConfigMap (a volume populated by a ConfigMap)
Name: test2-atomix-init-scripts
Optional: false
Type: ConfigMap (a volume populated by a ConfigMap)
Name: test2-atomix-config
Optional: false
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
SizeLimit: <unset>
Type: Secret (a volume populated by a Secret)
SecretName: default-token-498sp
Optional: false
QoS Class: Burstable
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Type Reason Age From Message

Warning FailedScheduling 82s (x30 over 41m) default-scheduler pod has unbound immediate PersistentVolumeClaims
But Persistent volume claim is in pending state k8s-admin@k8s-master:~/atomix-helm$ kubectl get pvc data-test2-atomix-0
data-test2-atomix-0 Pending

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
Tellier Benoit
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...)