These are chat archives for atomix/atomix

22nd
May 2018
Jordan Halterman
@kuujo
May 22 2018 00:04
warning?
can you paste it?
rbondar
@rbondar
May 22 2018 00:15

updated to latest snapshot and got KryoException warning

2018-05-22 00:02:59 WARN  i.a.m.impl.NettyMessagingService lambda$null$20 - An error occurred in a message handler: {}
com.esotericsoftware.kryo.KryoException: java.lang.IndexOutOfBoundsException: Index: 22, Size: 3
Serialization trace:
type (io.atomix.cluster.MemberId)
memberId (io.atomix.cluster.impl.ClusterHeartbeat)
        at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:144)

and so on...
Is it expected?

Jordan Halterman
@kuujo
May 22 2018 01:07
strange
@johnou
is this consistent?
Seems like the raw bytes are not correct for some reason
maybe a pooled array being reused
Jordan Halterman
@kuujo
May 22 2018 01:29
I think we have a bunch of 2.0 Raft changes to get into 2.1 again. Been working on scale issues for one of our deployments
Going to start working on upgrading to Atomix 2.1 in ONOS tomorrow :fire:
Will do an RC along with that at some point, and the API will be stable
We’ll see how far I’ve gotten at the end of the week
I’m going to try to set up a milestone in GitHub for all the issues that need to be completed for release so anyone that wants to can contribute to it
Jordan Halterman
@kuujo
May 22 2018 01:36
Some simpler tasks that exist at the prikitibe level:
• Convert remaining primitive proxies to new proxy API
• Add/clean up/rest REST API for all primitives
• Cherry pick remaining Raft bug fixes from 2.0 to master
• Implement streaming iterators for collection primitives (I just did an example of one in ONOS)
• Convert all primitive tests to the synchronous API (covers more code)
• Add any primitives that may be missing/desired
@flylight
primitive* level
Jianwei Mao
@MaoJianwei
May 22 2018 01:37
Hi :smile:
Jordan Halterman
@kuujo
May 22 2018 01:37
Hi
Jianwei Mao
@MaoJianwei
May 22 2018 01:38
image.png
Hi Jordan, I have add both of them into my pom
By the way, if JVM can not find a class, it will report JNI failure, but the above exception is not from JNI. it is a little strange for me.
something interesting that: If I run it in my IDE(Intellij IDEA), IDE will use class name to run the main, such as com.maojianwei.test.Server. This method can run the server normally. But when I run it in CLI mannully, although with the same -classpath settings, it will report that exception. :cry:
The code that’s loading the available partition group types is not finding the primary-backup type:
https://github.com/atomix/atomix/blob/master/primitive/src/main/java/io/atomix/primitive/partition/PartitionGroups.java
Jianwei Mao
@MaoJianwei
May 22 2018 01:49
Thanks! I go to learn it now.
Jordan Halterman
@kuujo
May 22 2018 01:49
Obviously the classes from that module are loaded if the code is getting that far, but not sure why the service loader isn’t finding the services file
Jianwei Mao
@MaoJianwei
May 22 2018 01:52
image.png
interesting, there is just Raft's, I will take a look to the oracle page
Jianwei Mao
@MaoJianwei
May 22 2018 02:01
Thanks, when I add io.atomix.protocols.backup.partition.PrimaryBackupPartitionGroupFactory mannally, It works! let me check why this problem happened :smile: excuse me, is it a suitable time for you now? sorry for bother :clap:
image.png
Jianwei Mao
@MaoJianwei
May 22 2018 02:06
oh I guess: when maven-shade-plugin untar atomix-raft & atomix-primary-backup jars, then copy all of them into my jar. So the Primary-Backup's io.atomix.primitive.partition.PartitionGroupFactory is overwritten by Raft's. So it seems that our Atomix can not work with maven-shade-plugin now :smile:
Jianwei Mao
@MaoJianwei
May 22 2018 02:23
image.png
this configuration for maven-shade-plugin is OK for it
Johno Crawford
@johnou
May 22 2018 20:52
Yes that's quite common when shading, same solution required for spring
@rbondar can you share the full stack trace please?