eolivelli opened a new issue #2385:
URL: https://github.com/apache/bookkeeper/issues/2385


   **BUG REPORT**
   The error is due to sending an empty "multi" op to ZK, that is broken in 
3.6.1 (see https://github.com/apache/zookeeper/pull/1407)
   
   A workaround would be to not issue the "multi" operation in case there is no 
op to do.
   It will mitigate the problem, when the client is using 3.6.1 and cannot 
rollback to 3.5.x and untill the fix won't be shipped in 3.6.2
   
   ***Describe the bug***
   
   20-07-24-16-15-41    java.io.IOException: Encountered exception on waiting 
result
   java.io.IOException: Encountered exception on waiting result
        at 
org.apache.distributedlog.util.Utils.lambda$ioResult$0(Utils.java:701)
        at 
org.apache.bookkeeper.common.concurrent.FutureUtils.result(FutureUtils.java:77)
        at org.apache.distributedlog.util.Utils.ioResult(Utils.java:687)
        at 
magnews.gateway.datalog.distributedlog.DLEventLog.purgePrevious(DLEventLog.java:373)
        at 
magnews.gateway.autotuning.periodic.PeriodicRuleManager$RuleExecutor.run(PeriodicRuleManager.java:525)
        at magnews.gateway.utils.UniqueRunnable.run(UniqueRunnable.java:51)
        at magnews.gateway.utils.UniqueRunnable.run(UniqueRunnable.java:39)
        at 
magnews.gateway.utils.TriggeredScheduler.run(TriggeredScheduler.java:193)
        at java.base/java.lang.Thread.run(Thread.java:830)
   Caused by: java.lang.NullPointerException
        at org.apache.zookeeper.ZooKeeper.multiInternal(ZooKeeper.java:2105)
        at org.apache.zookeeper.ZooKeeper.multi(ZooKeeper.java:2050)
        at 
org.apache.bookkeeper.zookeeper.ZooKeeperClient.access$1101(ZooKeeperClient.java:70)
        at 
org.apache.bookkeeper.zookeeper.ZooKeeperClient$3.zkRun(ZooKeeperClient.java:498)
        at 
org.apache.bookkeeper.zookeeper.ZooKeeperClient$ZkRetryRunnable.run(ZooKeeperClient.java:389)
        at 
org.apache.bookkeeper.zookeeper.ZooKeeperClient.multi(ZooKeeperClient.java:510)
        at 
org.apache.distributedlog.zk.ZKTransaction.execute(ZKTransaction.java:67)
        at 
org.apache.distributedlog.BKLogWriteHandler.setLogSegmentTruncationStatus(BKLogWriteHandler.java:1223)
        at 
org.apache.distributedlog.BKLogWriteHandler.setLogSegmentsOlderThanDLSNTruncated(BKLogWriteHandler.java:1117)
        at 
org.apache.distributedlog.BKLogWriteHandler.lambda$setLogSegmentsOlderThanDLSNTruncated$0(BKLogWriteHandler.java:1083)
        at 
java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1183)
        at 
java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2306)
        at 
org.apache.distributedlog.BKLogWriteHandler.setLogSegmentsOlderThanDLSNTruncated(BKLogWriteHandler.java:1082)
        at 
org.apache.distributedlog.BKAsyncLogWriter.truncate(BKAsyncLogWriter.java:449)
        ... 6 more
   
   
   
   ***To Reproduce***
   Use DLog with ZK 3.6.1
   
   ***Expected behavior***
   
   No error
   
   ***Additional context***
   
   A fix to ZK is here
   https://github.com/apache/zookeeper/pull/1407
   
   but it will be available only from 3.6.2, that has not been released yet
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to