[
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)