[ 
https://issues.apache.org/jira/browse/GEODE-5345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund updated GEODE-5345:
-----------------------------
    Summary: Region initialization latches should not be released twice  (was: 
Region initialization latches should not be invoked twice when creating a 
region)

> Region initialization latches should not be released twice
> ----------------------------------------------------------
>
>                 Key: GEODE-5345
>                 URL: https://issues.apache.org/jira/browse/GEODE-5345
>             Project: Geode
>          Issue Type: Bug
>          Components: regions
>            Reporter: Kirk Lund
>            Priority: Minor
>
> Log statements reveal that the methods which release initialization latches 
> (before-initial-image and after-initial-image) are being invoked twice when 
> creating BucketRegions:
> {noformat}
> 11365-1: [fine 2018/06/21 15:09:27.699 PDT 
> gemfire1_rs-GEM-1722-klunda0i3large-hydra-client-10_11365 <Pooled Waiting 
> Message Processor 5> tid=0xd0] Releasing Initialization Latch (before initial 
> image) for /__PR/_B__partitionedRegion_60
> 11365-1: [info 2018/06/21 15:09:27.699 PDT 
> gemfire1_rs-GEM-1722-klunda0i3large-hydra-client-10_11365 <Pooled Waiting 
> Message Processor 5> tid=0xd0] Region /__PR/_B__partitionedRegion_60 was 
> created on this member with the persistent id 
> rs-GEM-1722-klunda0i3large-hydra-client-10/10.32.108.22:/var/vcap/data/rundir/concParRegPersistVOOH4.bt015
>         /concParRegPersist-0621-150824/vm_0_client1_disk_1 created at 
> timestamp 1529618948528 version 0 diskStoreId 
> efc74f8db5024abb-81bedb7d3f6e038f name null.
> 11365-1: [fine 2018/06/21 15:09:27.699 PDT 
> gemfire1_rs-GEM-1722-klunda0i3large-hydra-client-10_11365 <Pooled Waiting 
> Message Processor 5> tid=0xd0] Releasing Initialization Latch (after initial 
> image) for /__PR/_B__partitionedRegion_60
>  
> 11365-1: [info 2018/06/21 15:09:27.699 PDT 
> gemfire1_rs-GEM-1722-klunda0i3large-hydra-client-10_11365 <Pooled Waiting 
> Message Processor 5> tid=0xd0] Initialization of region 
> _B__partitionedRegion_60 completed
> 11365-1: [fine 2018/06/21 15:09:27.700 PDT 
> gemfire1_rs-GEM-1722-klunda0i3large-hydra-client-10_11365 <Pooled Waiting 
> Message Processor 5> tid=0xd0] Releasing Initialization Latch (before initial 
> image) for /__PR/_B__partitionedRegion_60
> 11365-1: [fine 2018/06/21 15:09:27.700 PDT 
> gemfire1_rs-GEM-1722-klunda0i3large-hydra-client-10_11365 <Pooled Waiting 
> Message Processor 5> tid=0xd0] Releasing Initialization Latch (after initial 
> image) for /__PR/_B__partitionedRegion_60
> {noformat}
> These log statements are only logged in one method each:
> {noformat}
>   void releaseBeforeGetInitialImageLatch() {
>     if (logger.isDebugEnabled()) {
>       logger.debug("Releasing Initialization Latch (before initial image) for 
> {}", getFullPath());
>     }
>     releaseLatch(this.getInitializationLatchBeforeGetInitialImage());
>   }
>   void releaseAfterGetInitialImageLatch() {
>     if (logger.isDebugEnabled()) {
>       logger.debug("Releasing Initialization Latch (after initial image) for 
> {}", getFullPath());
>     }
>     releaseLatch(this.getInitializationLatchAfterGetInitialImage());
>   }
> {noformat}
> Call hierarchy for these methods shows that there are multiple code paths. 
> I'm not sure if they are double invoked for non-Bucket Region types or not:
> {noformat}
> LocalRegion.releaseBeforeGetInitialImageLatch()  
> (org.apache.geode.internal.cache)
>     DistributedRegion.getInitialImageAndRecovery(InputStream, 
> InternalDistributedMember, InternalRegionArguments, boolean, 
> PersistentMemberID)  (org.apache.geode.internal.cache)
>     DistributedRegion.initialize(InputStream, InternalDistributedMember, 
> InternalRegionArguments)  (org.apache.geode.internal.cache)
>     LocalRegion.initialize(InputStream, InternalDistributedMember, 
> InternalRegionArguments)  (org.apache.geode.internal.cache)
>     LocalRegion.releaseLatches()  (org.apache.geode.internal.cache)
>     PartitionedRegion.initPRInternals(InternalRegionArguments)  
> (org.apache.geode.internal.cache)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to