You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ds...@apache.org on 2019/04/10 15:05:39 UTC
[geode] branch develop updated: GEODE-6621: ensure that
getBucketOwners result is modifiable (#3438)
This is an automated email from the ASF dual-hosted git repository.
dschneider pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new 4ad95a5 GEODE-6621: ensure that getBucketOwners result is modifiable (#3438)
4ad95a5 is described below
commit 4ad95a5562c7c9f4a45dbade6a65db83505c11fe
Author: Darrel Schneider <ds...@pivotal.io>
AuthorDate: Wed Apr 10 08:05:25 2019 -0700
GEODE-6621: ensure that getBucketOwners result is modifiable (#3438)
A new HashSet is now created if we got back an empty set from adviseInitialized
---
.../java/org/apache/geode/internal/cache/ProxyBucketRegion.java | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyBucketRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyBucketRegion.java
index 40f99bb..2e18eec 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyBucketRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyBucketRegion.java
@@ -352,10 +352,12 @@ public class ProxyBucketRegion implements Bucket {
@Override
public Set<InternalDistributedMember> getBucketOwners() {
Set<InternalDistributedMember> s = this.advisor.adviseInitialized();
+ if (s.isEmpty()) {
+ // getBucketOwners needs to return a modifiable set.
+ // adviseInitialized returns an unmodifiable set when it is empty.
+ s = new HashSet<>();
+ }
if (isHosting()) {
- if (s.isEmpty()) {
- s = new HashSet<>();
- }
s.add(this.partitionedRegion.getDistributionManager().getId());
}
return s;