Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-6767

Modifying time-to-live or idle-timeout on a partitioned region results in lower redundancy after rebalance

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.10.0
    • regions
    • None

    Description

      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.

      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());
        }
      

      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.

      Attachments

        Issue Links

          Activity

            People

              upthewaterspout Dan Smith
              upthewaterspout Dan Smith
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 0.5h
                  0.5h