Alberto Gomez created GEODE-10008:
-------------------------------------

             Summary: Avoid possible EntryDestroyedException error in wan-copy 
region command when entry destroyed in partitioned region
                 Key: GEODE-10008
                 URL: https://issues.apache.org/jira/browse/GEODE-10008
             Project: Geode
          Issue Type: Bug
          Components: gfsh, wan
            Reporter: Alberto Gomez


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



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to