Details
-
Bug
-
Resolution: Fixed
-
Major
-
3.0.1
-
None
Description
- Elastic Server: 5.6.4
- Transport Plugin: cypress-3.0.0-5.6.4
- Couchbase Server: 5.1.1
The intent of storeUUID is to store the given UUID if possibe, otherwise fail silently so the operation can be retried. What's happening instead is that the write fails because a competing thread has already written the document. The method throws an exception istead of failing silently, and this exception is propagated all the way to the Jetty ServletHandler. This causes Couchbase to remove the replication
Stack trace:
[2018-08-08T08:40:10,582][WARN ][o.e.j.s.ServletHandler ] /pools/default/buckets/mybucket
|
org.elasticsearch.index.engine.VersionConflictEngineException: [couchbaseCheckpoint][bucketUUID]: version conflict, document already exists (current version [1])
|
at org.elasticsearch.index.engine.InternalEngine.planIndexingAsPrimary(InternalEngine.java:582) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.index.engine.InternalEngine.index(InternalEngine.java:493) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.index.shard.IndexShard.index(IndexShard.java:557) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.index.shard.IndexShard.index(IndexShard.java:546) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.action.bulk.TransportShardBulkAction.executeIndexRequestOnPrimary(TransportShardBulkAction.java:492) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.action.bulk.TransportShardBulkAction.executeBulkItemRequest(TransportShardBulkAction.java:146) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:115) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:70) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryShardReference.perform(TransportReplicationAction.java:975) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryShardReference.perform(TransportReplicationAction.java:944) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.action.support.replication.ReplicationOperation.execute(ReplicationOperation.java:113) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction.onResponse(TransportReplicationAction.java:345) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction.onResponse(TransportReplicationAction.java:270) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.action.support.replication.TransportReplicationAction$1.onResponse(TransportReplicationAction.java:924) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.action.support.replication.TransportReplicationAction$1.onResponse(TransportReplicationAction.java:921) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.index.shard.IndexShardOperationsLock.acquire(IndexShardOperationsLock.java:151) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.index.shard.IndexShard.acquirePrimaryOperationLock(IndexShard.java:1659) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.action.support.replication.TransportReplicationAction.acquirePrimaryShardReference(TransportReplicationAction.java:933) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.action.support.replication.TransportReplicationAction.access$500(TransportReplicationAction.java:92) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction.doRun(TransportReplicationAction.java:291) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryOperationTransportHandler.messageReceived(TransportReplicationAction.java:266) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryOperationTransportHandler.messageReceived(TransportReplicationAction.java:248) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.transport.RequestHandlerRegistry.processMessageReceived(RequestHandlerRegistry.java:69) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.transport.TransportService$7.doRun(TransportService.java:654) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:638) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-5.6.4.jar:5.6.4]
|
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_171]
|
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_171]
|
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
|