Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
When the wan-copy region command is executed over a partitioned region, it is possible that sometimes an EntryDestroyedException error is found if, while reading the entries from the region, one of them is destroyed.
The error has been seen sometimes when running the following test:
WanCopyRegionCommandDUnitTest.
testSuccessfulExecutionWhileRunningOpsOnRegion(true, true).
Log of the error:
Multiple Failures (2 failures)
org.opentest4j.AssertionFailedError: [ Member | Status | Message
------------------------------ | ------ | ---------------------------------------------------------------------------
alberto-dell(421543)<v2>:41010 | ERROR | Execution failed. Error: org.apache.geode.cache.EntryDestroyedException: 26
alberto-dell(421504)<v1>:41009 | OK | Entries copied: 2,977
alberto-dell(421598)<v3>:41011 | OK | Entries copied: 3,042
]
expected: OK
but was: ERROR
java.lang.AssertionError: Suspicious strings were written to the log during this run.
Fix the strings or use IgnoredException.addIgnoredException to ignore.
-----------------------------------------------------------------------
Found suspect string in 'dunit_suspect-vm6.log' at line 1883
[error 2022/02/01 08:58:59.046 CET <Function Execution Processor2> tid=99] Exception occurred attempting to wan-copy region
java.util.concurrent.ExecutionException: org.apache.geode.cache.EntryDestroyedException: 26
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at org.apache.geode.cache.wan.internal.WanCopyRegionFunctionService.execute(WanCopyRegionFunctionService.java:90)
at org.apache.geode.management.internal.cli.functions.WanCopyRegionFunction.executeFunctionInService(WanCopyRegionFunction.java:163)
at org.apache.geode.management.internal.cli.functions.WanCopyRegionFunction.executeFunction(WanCopyRegionFunction.java:157)
at org.apache.geode.management.cli.CliFunction.execute(CliFunction.java:37)
at org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:201)
at org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:382)
at org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:447)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.geode.distributed.internal.ClusterOperationExecutors.runUntilShutdown(ClusterOperationExecutors.java:444)
at org.apache.geode.distributed.internal.ClusterOperationExecutors.doFunctionExecutionThread(ClusterOperationExecutors.java:379)
at org.apache.geode.logging.internal.executors.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:120)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.geode.cache.EntryDestroyedException: 26
at org.apache.geode.internal.cache.NonTXEntry.basicGetEntry(NonTXEntry.java:62)
at org.apache.geode.internal.cache.NonTXEntry.getRegion(NonTXEntry.java:119)
at org.apache.geode.internal.cache.NonTXEntry.hashCode(NonTXEntry.java:157)
at java.util.HashMap.hash(HashMap.java:340)
at java.util.HashMap.put(HashMap.java:613)
at java.util.HashSet.add(HashSet.java:220)
at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:647)
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:272)
at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1580)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
at org.apache.geode.management.internal.cli.functions.WanCopyRegionFunctionDelegate.getEntries(WanCopyRegionFunctionDelegate.java:193)
at org.apache.geode.management.internal.cli.functions.WanCopyRegionFunctionDelegate.wanCopyRegion(WanCopyRegionFunctionDelegate.java:104)
at org.apache.geode.management.internal.cli.functions.WanCopyRegionFunction.lambda$executeFunctionInService$0(WanCopyRegionFunction.java:164)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
... 1 more
Attachments
Issue Links
- links to