Apache куратор NPE в JsonInstanceSerializer
Я сталкиваюсь со странным NPE при запуске Apache Curator's ServiceProvider
, Это происходит периодически на серверах, но я не смог воспроизвести ошибку локально, поэтому так сложно понять, в чем проблема.
Вот код:
CuratorFramework curatorFramework = CuratorFrameworkFactory.newClient(zookeeperConnectString, new RetryNTimes(5, 1000));
curatorFramework.start();
ServiceDiscovery<Void> serviceDiscovery = ServiceDiscoveryBuilder.builder(Void.class).basePath(ZK_BASE_PATH).client(curatorFramework).build();
serviceDiscovery.start();
ServiceProvider<Void> serviceProvider = serviceDiscovery.serviceProviderBuilder().serviceName(ZK_SERVICE_NAME).build();
serviceProvider.start();
Вот трассировка стека:
Caused by: java.lang.NullPointerException
at org.codehaus.jackson.JsonFactory.createJsonParser(JsonFactory.java:604)
at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1973)
at org.apache.curator.x.discovery.details.JsonInstanceSerializer.deserialize(JsonInstanceSerializer.java:50)
at org.apache.curator.x.discovery.details.ServiceCacheImpl.addInstance(ServiceCacheImpl.java:193)
at org.apache.curator.x.discovery.details.ServiceCacheImpl.start(ServiceCacheImpl.java:96)
at org.apache.curator.x.discovery.details.ServiceProviderImpl.start(ServiceProviderImpl.java:67)
Что происходит в том, что в ServiceCacheImpl#addInstance
вызов childData.getData()
возвращает ноль и передает его для десериализации, что, очевидно, вызывает NPE.
Я использую Apache Curator версии 2.11.0.
Кто-нибудь еще сталкивался с такой же проблемой? Спасибо!