LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

ближайшую пару лет этот проект лучше не трогать ибо там таких багов тонна, часть ошибок от сервера оно пытается насильно десериализовать как пакет с данными, обламывается и гадит невнятным эксепшеном:

ava.lang.NullPointerException: Name is null
	at java.lang.Enum.valueOf(Enum.java:236) ~[na:1.8.0_77-Debian]
	at mousio.etcd4j.responses.EtcdKeyAction.valueOf(EtcdKeyAction.java:6) ~[etcd4j-2.10.0.jar:2.10.0]
	at mousio.etcd4j.responses.EtcdKeysResponse.<init>(EtcdKeysResponse.java:62) ~[etcd4j-2.10.0.jar:2.10.0]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_77-Debian]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_77-Debian]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_77-Debian]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_77-Debian]
	at com.fasterxml.jackson.databind.introspect.AnnotatedConstructor.call(AnnotatedConstructor.java:125) ~[jackson-databind-2.6.3.jar:2.6.3]
	at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromObjectWith(StdValueInstantiator.java:227) ~[jackson-databind-2.6.3.jar:2.6.3]
	at com.fasterxml.jackson.databind.deser.impl.PropertyBasedCreator.build(PropertyBasedCreator.java:135) ~[jackson-databind-2.6.3.jar:2.6.3]
	at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:442) ~[jackson-databind-2.6.3.jar:2.6.3]
	at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1099) ~[jackson-databind-2.6.3.jar:2.6.3]
	at com.fasterxml.jackson.module.afterburner.deser.SuperSonicBeanDeserializer.deserializeFromObject(SuperSonicBeanDeserializer.java:236) ~[jackson-module-afterburner-2.7.0.jar:2.7.0]
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:133) ~[jackson-databind-2.6.3.jar:2.6.3]
	at com.fasterxml.jackson.module.afterburner.deser.SuperSonicBeanDeserializer.deserialize(SuperSonicBeanDeserializer.java:117) ~[jackson-module-afterburner-2.7.0.jar:2.7.0]
	at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3736) ~[jackson-databind-2.6.3.jar:2.6.3]
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2796) ~[jackson-databind-2.6.3.jar:2.6.3]
	at mousio.etcd4j.responses.EtcdResponseDecoders$JsonDecoder.decode(EtcdResponseDecoders.java:54) ~[etcd4j-2.10.0.jar:2.10.0]
	at mousio.etcd4j.transport.EtcdResponseHandler.channelRead0(EtcdResponseHandler.java:139) ~[etcd4j-2.10.0.jar:2.10.0]
	at mousio.etcd4j.transport.EtcdResponseHandler.channelRead0(EtcdResponseHandler.java:47) ~[etcd4j-2.10.0.jar:2.10.0]
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) ~[netty-transport-4.1.0.CR2.jar:4.1.0.CR2]

самый цимес в том что судя по обработке эксепшенов, использованию полей вместо геттеров, многопоточном коде (https://github.com/jurmous/etcd4j/blob/master/src/main/java/mousio/client/pro...) и прочим нюансам - автор поделки чайник или мудак

ps. etcd для хранения стейта кластера 8)

Исходная версия Deleted, :

ближайшую пару лет этот проект лучше не трогать ибо там таких багов тонна, часть ошибок от сервера оно пытается насильно десериализовать как пакет с данными, обламывается и гадит невнятным эксепшеном:

ava.lang.NullPointerException: Name is null
	at java.lang.Enum.valueOf(Enum.java:236) ~[na:1.8.0_77-Debian]
	at mousio.etcd4j.responses.EtcdKeyAction.valueOf(EtcdKeyAction.java:6) ~[etcd4j-2.10.0.jar:2.10.0]
	at mousio.etcd4j.responses.EtcdKeysResponse.<init>(EtcdKeysResponse.java:62) ~[etcd4j-2.10.0.jar:2.10.0]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_77-Debian]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_77-Debian]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_77-Debian]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_77-Debian]
	at com.fasterxml.jackson.databind.introspect.AnnotatedConstructor.call(AnnotatedConstructor.java:125) ~[jackson-databind-2.6.3.jar:2.6.3]
	at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromObjectWith(StdValueInstantiator.java:227) ~[jackson-databind-2.6.3.jar:2.6.3]
	at com.fasterxml.jackson.databind.deser.impl.PropertyBasedCreator.build(PropertyBasedCreator.java:135) ~[jackson-databind-2.6.3.jar:2.6.3]
	at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:442) ~[jackson-databind-2.6.3.jar:2.6.3]
	at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1099) ~[jackson-databind-2.6.3.jar:2.6.3]
	at com.fasterxml.jackson.module.afterburner.deser.SuperSonicBeanDeserializer.deserializeFromObject(SuperSonicBeanDeserializer.java:236) ~[jackson-module-afterburner-2.7.0.jar:2.7.0]
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:133) ~[jackson-databind-2.6.3.jar:2.6.3]
	at com.fasterxml.jackson.module.afterburner.deser.SuperSonicBeanDeserializer.deserialize(SuperSonicBeanDeserializer.java:117) ~[jackson-module-afterburner-2.7.0.jar:2.7.0]
	at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3736) ~[jackson-databind-2.6.3.jar:2.6.3]
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2796) ~[jackson-databind-2.6.3.jar:2.6.3]
	at mousio.etcd4j.responses.EtcdResponseDecoders$JsonDecoder.decode(EtcdResponseDecoders.java:54) ~[etcd4j-2.10.0.jar:2.10.0]
	at mousio.etcd4j.transport.EtcdResponseHandler.channelRead0(EtcdResponseHandler.java:139) ~[etcd4j-2.10.0.jar:2.10.0]
	at mousio.etcd4j.transport.EtcdResponseHandler.channelRead0(EtcdResponseHandler.java:47) ~[etcd4j-2.10.0.jar:2.10.0]
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) ~[netty-transport-4.1.0.CR2.jar:4.1.0.CR2]

самый цимес в том что судя по обработке эксепшенов, использованию полей вместо геттеров и прочим нюансам - автор поделки чайник или мудак

ps. etcd для хранения стейта кластера 8)