You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2022/03/18 16:54:00 UTC

[jira] [Commented] (GEODE-9990) Geode should handle certain DiskAccessException due to CacheClosedException when creating bucket

    [ https://issues.apache.org/jira/browse/GEODE-9990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17508929#comment-17508929 ] 

ASF subversion and git services commented on GEODE-9990:
--------------------------------------------------------

Commit dede61d4813ecba9a51c7417214ea69092a88172 in geode's branch refs/heads/master from Joris Melchior
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=dede61d ]

GEODE-9990: turn DiskAccessException into CacheClosedException (#7334) (#7379)

* GEODE-9990: turn DiskAccessException into CacheClosedException

- when DiskInitFile is in closed state and DiskStoreImpl is closed or
  closing
- catch DiskAccessException in PRHARedundancyProvider and turn into
  CacheClosedException if cache closing is in progress
- change CreateBucketMessage to handle DiskAccessException as cause of
  ReplyException

(cherry picked from commit a98197b5d0a3a2547e0581e475dcabaa82e6e92f)

> Geode should handle certain DiskAccessException due to CacheClosedException when creating bucket
> ------------------------------------------------------------------------------------------------
>
>                 Key: GEODE-9990
>                 URL: https://issues.apache.org/jira/browse/GEODE-9990
>             Project: Geode
>          Issue Type: Bug
>          Components: persistence
>    Affects Versions: 1.15.0
>            Reporter: Eric Shu
>            Assignee: Joris Melchior
>            Priority: Major
>              Labels: GeodeOperationAPI, pull-request-available
>             Fix For: 1.14.4, 1.15.0
>
>
> This exception is thrown to the node that tries to create the bucket to prevent it trying to create the bucket to next available server and fail the entry operation.
> {noformat}
> org.apache.geode.cache.DiskAccessException: For DiskStore: diskStore: The disk store is closed
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in org.apache.geode.internal.cache.DiskInitFile.writeIFRecord(DiskInitFile.java:1313)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in org.apache.geode.internal.cache.DiskInitFile.writeIFRecord(DiskInitFile.java:916)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in org.apache.geode.internal.cache.DiskInitFile.markInitialized(DiskInitFile.java:2158)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in org.apache.geode.internal.cache.DiskStoreImpl.setInitialized(DiskStoreImpl.java:3057)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in org.apache.geode.internal.cache.AbstractDiskRegion.setInitialized(AbstractDiskRegion.java:606)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in org.apache.geode.internal.cache.persistence.PersistenceAdvisorImpl.setOnline(PersistenceAdvisorImpl.java:392)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in org.apache.geode.internal.cache.BucketPersistenceAdvisor.endBucketCreation(BucketPersistenceAdvisor.java:467)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in org.apache.geode.internal.cache.PRHARedundancyProvider.endBucketCreationLocally(PRHARedundancyProvider.java:854)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in org.apache.geode.internal.cache.PRHARedundancyProvider.endBucketCreation(PRHARedundancyProvider.java:813)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in org.apache.geode.internal.cache.PRHARedundancyProvider.createBucketAtomically(PRHARedundancyProvider.java:701)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in org.apache.geode.internal.cache.partitioned.CreateBucketMessage.operateOnPartitionedRegion(CreateBucketMessage.java:150)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in org.apache.geode.internal.cache.partitioned.PartitionMessage.process(PartitionMessage.java:333)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:441)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in org.apache.geode.distributed.internal.ClusterOperationExecutors.runUntilShutdown(ClusterOperationExecutors.java:444)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in org.apache.geode.distributed.internal.ClusterOperationExecutors.doWaitingThread(ClusterOperationExecutors.java:413)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in org.apache.geode.logging.internal.executors.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:120)
>         at Remote Member 'rs-FullRegression21837175a0i3large-hydra-client-49(dataStoregemfire2_host1_31566:31566)<ec><v2>:41002' in java.lang.Thread.run(Thread.java:829)
>         at org.apache.geode.distributed.internal.ReplyException.handleCause(ReplyException.java:86)
>         at org.apache.geode.internal.cache.partitioned.CreateBucketMessage$NodeResponse.waitForResponse(CreateBucketMessage.java:363)
>         at org.apache.geode.internal.cache.PRHARedundancyProvider.createBucketOnDataStore(PRHARedundancyProvider.java:513)
>         at org.apache.geode.internal.cache.PartitionedRegion.createBucket(PartitionedRegion.java:3495)
>         at org.apache.geode.internal.cache.PartitionedRegion.virtualPut(PartitionedRegion.java:2236)
>         at org.apache.geode.internal.cache.LocalRegion.virtualPut(LocalRegion.java:5596)
>         at org.apache.geode.internal.cache.LocalRegionDataView.putEntry(LocalRegionDataView.java:157)
>         at org.apache.geode.internal.cache.LocalRegion.basicPut(LocalRegion.java:5053)
>         at org.apache.geode.internal.cache.LocalRegion.validatedPut(LocalRegion.java:1649)
>         at org.apache.geode.internal.cache.LocalRegion.put(LocalRegion.java:1636)
>         at org.apache.geode.internal.cache.AbstractRegion.put(AbstractRegion.java:445)
> {noformat}



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