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

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

Commit 32e6a68435c2a7e1307b89507366460d0317ea7f in geode's branch 
refs/heads/develop from Dan Smith
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=32e6a68 ]

GEODE-6767: Don't lose metadata when altering a PR

The methods on a PR to alter the time-to-live and idle-time were losing
some of the metadata in the PartitionRegionConfig, including the
isColocationComplete flag. This causes issues with rebalancing and
bucket creation.

> Modifying time-to-live or idle-timeout on a partitioned region results in 
> lower redundancy after rebalance
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: GEODE-6767
>                 URL: https://issues.apache.org/jira/browse/GEODE-6767
>             Project: Geode
>          Issue Type: Bug
>          Components: regions
>            Reporter: Dan Smith
>            Assignee: Dan Smith
>            Priority: Major
>             Fix For: 1.10.0
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Using gfsh alter region or an AttributesMutator to modify the entry 
> time-to-live or idle-timeout on a  partitioned region that is colocated with 
> another partitioned region results in a rebalance that is very slow, and 
> loses redundancy as the rebalance goes on.
> The core problem is that these modifications wipe out the 
> isColocationComplete flag in the PartitionedRegionConfig for that region 
> because they create a brand new PartitionedRegionConfig in this part of 
> PartitionedRegion.
> {code}
> private PartitionRegionConfig getPRConfigWithLatestExpirationAttributes() {
>     PartitionRegionConfig prConfig = getPRRoot().get(getRegionIdentifier());
>     return new PartitionRegionConfig(prConfig.getPRId(), 
> prConfig.getFullPath(),
>         prConfig.getPartitionAttrs(), prConfig.getScope(), 
> prConfig.getEvictionAttributes(),
>         this.getRegionIdleTimeout(), this.getRegionTimeToLive(), 
> this.getEntryIdleTimeout(),
>         this.getEntryTimeToLive(), prConfig.getGatewaySenderIds());
>   }
> {code}
> If that flag is false, we don't create new buckets in these regions. 
> Therefore, moving a bucket by copying the bucket and removing the old copy is 
> failing to copy the colocated bucket.



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

Reply via email to