Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id B99B1200C8C for ; Tue, 2 May 2017 00:57:35 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id B6567160BCA; Mon, 1 May 2017 22:57:35 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 772EA160BE2 for ; Tue, 2 May 2017 00:57:31 +0200 (CEST) Received: (qmail 98788 invoked by uid 500); 1 May 2017 22:57:26 -0000 Mailing-List: contact commits-help@geode.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@geode.apache.org Delivered-To: mailing list commits@geode.apache.org Received: (qmail 97560 invoked by uid 99); 1 May 2017 22:57:25 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 May 2017 22:57:25 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id BEBC3E966C; Mon, 1 May 2017 22:57:25 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: klund@apache.org To: commits@geode.apache.org Date: Mon, 01 May 2017 22:57:58 -0000 Message-Id: <41700e6fce45409b8886165b600e0d14@git.apache.org> In-Reply-To: <801758f677b6435abfb784628e4b21c5@git.apache.org> References: <801758f677b6435abfb784628e4b21c5@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [35/51] [partial] geode git commit: GEODE-2632: change dependencies on GemFireCacheImpl to InternalCache archived-at: Mon, 01 May 2017 22:57:35 -0000 http://git-wip-us.apache.org/repos/asf/geode/blob/d4f23332/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionEntry.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionEntry.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionEntry.java index daa31fd..1bc31b3 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionEntry.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionEntry.java @@ -12,13 +12,23 @@ * or implied. See the License for the specific language governing permissions and limitations under * the License. */ - package org.apache.geode.internal.cache; +import static org.apache.geode.internal.offheap.annotations.OffHeapIdentifier.*; + +import java.io.IOException; +import java.util.Arrays; + +import org.apache.logging.log4j.Logger; + import org.apache.geode.CancelException; import org.apache.geode.InvalidDeltaException; import org.apache.geode.SystemFailure; -import org.apache.geode.cache.*; +import org.apache.geode.cache.CacheWriterException; +import org.apache.geode.cache.EntryEvent; +import org.apache.geode.cache.EntryNotFoundException; +import org.apache.geode.cache.Operation; +import org.apache.geode.cache.TimeoutException; import org.apache.geode.cache.query.IndexMaintenanceException; import org.apache.geode.cache.query.QueryException; import org.apache.geode.cache.query.internal.index.IndexManager; @@ -28,18 +38,32 @@ import org.apache.geode.cache.util.GatewayConflictResolver; import org.apache.geode.distributed.internal.DM; import org.apache.geode.distributed.internal.DistributionConfig; import org.apache.geode.distributed.internal.membership.InternalDistributedMember; -import org.apache.geode.internal.*; +import org.apache.geode.internal.Assert; +import org.apache.geode.internal.ByteArrayDataInput; +import org.apache.geode.internal.HeapDataOutputStream; +import org.apache.geode.internal.InternalDataSerializer; +import org.apache.geode.internal.InternalStatisticsDisabledException; +import org.apache.geode.internal.Version; import org.apache.geode.internal.cache.lru.LRUClockNode; import org.apache.geode.internal.cache.lru.NewLRUClockHand; import org.apache.geode.internal.cache.persistence.DiskStoreID; -import org.apache.geode.internal.cache.versions.*; +import org.apache.geode.internal.cache.versions.ConcurrentCacheModificationException; +import org.apache.geode.internal.cache.versions.RegionVersionVector; +import org.apache.geode.internal.cache.versions.VersionSource; +import org.apache.geode.internal.cache.versions.VersionStamp; +import org.apache.geode.internal.cache.versions.VersionTag; import org.apache.geode.internal.cache.wan.GatewaySenderEventImpl; import org.apache.geode.internal.i18n.LocalizedStrings; import org.apache.geode.internal.lang.StringUtils; import org.apache.geode.internal.logging.LogService; import org.apache.geode.internal.logging.log4j.LocalizedMessage; import org.apache.geode.internal.logging.log4j.LogMarker; -import org.apache.geode.internal.offheap.*; +import org.apache.geode.internal.offheap.MemoryAllocator; +import org.apache.geode.internal.offheap.MemoryAllocatorImpl; +import org.apache.geode.internal.offheap.OffHeapHelper; +import org.apache.geode.internal.offheap.ReferenceCountHelper; +import org.apache.geode.internal.offheap.Releasable; +import org.apache.geode.internal.offheap.StoredObject; import org.apache.geode.internal.offheap.annotations.Released; import org.apache.geode.internal.offheap.annotations.Retained; import org.apache.geode.internal.offheap.annotations.Unretained; @@ -53,24 +77,14 @@ import org.apache.geode.pdx.PdxSerializationException; import org.apache.geode.pdx.PdxSerializer; import org.apache.geode.pdx.internal.ConvertableToBytes; import org.apache.geode.pdx.internal.PdxInstanceImpl; -import org.apache.logging.log4j.Logger; - -import java.io.IOException; -import java.util.Arrays; - -import static org.apache.geode.internal.offheap.annotations.OffHeapIdentifier.ABSTRACT_REGION_ENTRY_FILL_IN_VALUE; -import static org.apache.geode.internal.offheap.annotations.OffHeapIdentifier.ABSTRACT_REGION_ENTRY_PREPARE_VALUE_FOR_CACHE; /** * Abstract implementation class of RegionEntry interface. This is the topmost implementation class * so common behavior lives here. * * @since GemFire 3.5.1 - * - * */ public abstract class AbstractRegionEntry implements RegionEntry, HashEntry { - private static final Logger logger = LogService.getLogger(); /** @@ -83,39 +97,37 @@ public abstract class AbstractRegionEntry implements RegionEntry, HashEntry 0 || expectedOldValue != null)) { + // curValue = getValue(region); can cause deadlock will fault in the value + // and will confuse LRU. curValue = getValueOnDiskOrBuffer(region); - } else { - FilterProfile fp = region.getFilterProfile(); - if (fp != null && ((fp.getCqCount() > 0) || expectedOldValue != null)) { - // curValue = getValue(region); can cause deadlock will fault in the value - // and will confuse LRU. rdubey. - curValue = getValueOnDiskOrBuffer(region); - } } } + } - if (expectedOldValue != null) { - if (!checkExpectedOldValue(expectedOldValue, curValue, region)) { - throw new EntryNotFoundException( - LocalizedStrings.AbstractRegionEntry_THE_CURRENT_VALUE_WAS_NOT_EQUAL_TO_EXPECTED_VALUE - .toLocalizedString()); - } + if (expectedOldValue != null) { + if (!checkExpectedOldValue(expectedOldValue, curValue, region)) { + throw new EntryNotFoundException( + LocalizedStrings.AbstractRegionEntry_THE_CURRENT_VALUE_WAS_NOT_EQUAL_TO_EXPECTED_VALUE + .toLocalizedString()); } + } - if (inTokenMode && event.hasOldValue()) { - proceed = true; - } else { - proceed = event.setOldValue(curValue, curValue instanceof GatewaySenderEventImpl) - || removeRecoveredEntry || forceDestroy || region.getConcurrencyChecksEnabled() // fix - // for - // bug - // #47868 - // - - // create - // a - // tombstone - || (event.getOperation() == Operation.REMOVE // fix for bug #42242 - && (curValue == null || curValue == Token.LOCAL_INVALID - || curValue == Token.INVALID)); - } - } finally { - OffHeapHelper.releaseWithNoTracking(curValue); + if (inTokenMode && event.hasOldValue()) { + proceed = true; + } else { + proceed = event.setOldValue(curValue, curValue instanceof GatewaySenderEventImpl) + || removeRecoveredEntry || forceDestroy || region.getConcurrencyChecksEnabled() + || (event.getOperation() == Operation.REMOVE && (curValue == null + || curValue == Token.LOCAL_INVALID || curValue == Token.INVALID)); } - } // end curValue block + } finally { + OffHeapHelper.releaseWithNoTracking(curValue); + } if (proceed) { // Generate the version tag if needed. This method should only be @@ -820,7 +832,8 @@ public abstract class AbstractRegionEntry implements RegionEntry, HashEntry { + @Override public HashEntry newEntry(final Object key, final int hash, final HashEntry next, final Object value) { final AbstractRegionEntry entry = (AbstractRegionEntry) value; @@ -1181,14 +1190,16 @@ public abstract class AbstractRegionEntry implements RegionEntry, HashEntry LAST_MODIFIED_MASK) { throw new IllegalStateException("Expected lastModifiedTime " + lastModifiedTime + " to be >= 0 and <= " + LAST_MODIFIED_MASK); @@ -1223,31 +1234,32 @@ public abstract class AbstractRegionEntry implements RegionEntry, HashEntry + * The normal membership ID comparison method is used. + *

* * Note that a tag from a remote (WAN) system may be in the event. If this is the case this method * will either invoke a user plugin that allows/disallows the event (and may modify the value) or @@ -1665,16 +1654,12 @@ public abstract class AbstractRegionEntry implements RegionEntry, HashEntry stampTime || (tagTime == stampTime && tagDsid >= stampDsid)) { + if (tagTime > stampTime || tagTime == stampTime && tagDsid >= stampDsid) { if (isDebugEnabled) { logger.debug("allowing event"); } return true; } if (isDebugEnabled) { - logger.debug("disallowing event for " + event.getKey()); + logger.debug("disallowing event for {}", event.getKey()); } throw new ConcurrentCacheModificationException("conflicting WAN event detected"); } static boolean isCompressible(RegionEntryContext context, Object value) { - return ((value != null) && (context != null) && (context.getCompressor() != null) - && !Token.isInvalidOrRemoved(value)); + return value != null && context != null && context.getCompressor() != null + && !Token.isInvalidOrRemoved(value); } /* subclasses supporting versions must override this */ + @Override public VersionStamp getVersionStamp() { return null; } + @Override public boolean isValueNull() { - return (null == getValueAsToken()); + return null == getValueAsToken(); } + @Override public boolean isInvalid() { return Token.isInvalid(getValueAsToken()); } + @Override public boolean isDestroyed() { return Token.isDestroyed(getValueAsToken()); } + @Override public void setValueToNull() { _setValue(null); } + @Override public boolean isInvalidOrRemoved() { return Token.isInvalidOrRemoved(getValueAsToken()); } /** - * Maximum size of a string that can be encoded as char. - */ - public static final int MAX_INLINE_STRING_KEY_CHAR_ENCODING = 7; - /** - * Maximum size of a string that can be encoded as byte. - */ - public static final int MAX_INLINE_STRING_KEY_BYTE_ENCODING = 15; - - /** * This is only retained in off-heap subclasses. However, it's marked as Retained here so that * callers are aware that the value may be retained. */ http://git-wip-us.apache.org/repos/asf/geode/blob/d4f23332/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java index bc9fcdf..e0fc27c 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java @@ -12,12 +12,29 @@ * or implied. See the License for the specific language governing permissions and limitations under * the License. */ - package org.apache.geode.internal.cache; +import java.util.Collection; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.atomic.AtomicInteger; + +import org.apache.logging.log4j.Logger; + import org.apache.geode.GemFireIOException; import org.apache.geode.InvalidDeltaException; -import org.apache.geode.cache.*; +import org.apache.geode.cache.CacheEvent; +import org.apache.geode.cache.CacheWriter; +import org.apache.geode.cache.CacheWriterException; +import org.apache.geode.cache.DiskAccessException; +import org.apache.geode.cache.EntryNotFoundException; +import org.apache.geode.cache.Operation; +import org.apache.geode.cache.RegionDestroyedException; +import org.apache.geode.cache.TimeoutException; +import org.apache.geode.cache.TransactionId; import org.apache.geode.cache.query.IndexMaintenanceException; import org.apache.geode.cache.query.QueryException; import org.apache.geode.cache.query.internal.index.IndexManager; @@ -37,7 +54,12 @@ import org.apache.geode.internal.cache.tier.sockets.CacheClientNotifier; import org.apache.geode.internal.cache.tier.sockets.ClientProxyMembershipID; import org.apache.geode.internal.cache.tier.sockets.ClientUpdateMessageImpl; import org.apache.geode.internal.cache.tier.sockets.HAEventWrapper; -import org.apache.geode.internal.cache.versions.*; +import org.apache.geode.internal.cache.versions.ConcurrentCacheModificationException; +import org.apache.geode.internal.cache.versions.RegionVersionVector; +import org.apache.geode.internal.cache.versions.VersionHolder; +import org.apache.geode.internal.cache.versions.VersionSource; +import org.apache.geode.internal.cache.versions.VersionStamp; +import org.apache.geode.internal.cache.versions.VersionTag; import org.apache.geode.internal.cache.wan.GatewaySenderEventImpl; import org.apache.geode.internal.concurrent.MapCallbackAdapter; import org.apache.geode.internal.i18n.LocalizedStrings; @@ -54,21 +76,12 @@ import org.apache.geode.internal.offheap.annotations.Unretained; import org.apache.geode.internal.sequencelog.EntryLogger; import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap; -import org.apache.logging.log4j.Logger; - -import java.util.*; -import java.util.concurrent.atomic.AtomicInteger; - /** * Abstract implementation of {@link RegionMap}that has all the common behavior. * * @since GemFire 3.5.1 - * - * */ - public abstract class AbstractRegionMap implements RegionMap { - private static final Logger logger = LogService.getLogger(); /** The underlying map for this region. */ @@ -81,10 +94,15 @@ public abstract class AbstractRegionMap implements RegionMap { static Runnable testHookRunnableFor48182 = null; private RegionEntryFactory entryFactory; + private Attributes attr; - private transient Object owner; // the region that owns this map - protected AbstractRegionMap(InternalRegionArguments internalRegionArgs) {} + // the region that owns this map + private Object owner; + + protected AbstractRegionMap(InternalRegionArguments internalRegionArgs) { + // do nothing + } protected void initialize(Object owner, Attributes attr, InternalRegionArguments internalRegionArgs, boolean isLRU) { @@ -93,22 +111,19 @@ public abstract class AbstractRegionMap implements RegionMap { _setMap(createConcurrentMap(attr.initialCapacity, attr.loadFactor, attr.concurrencyLevel, false, new AbstractRegionEntry.HashRegionEntryCreator())); - final GemFireCacheImpl cache; boolean isDisk; - boolean withVersioning = false; - boolean offHeap = false; + boolean withVersioning; + boolean offHeap; if (owner instanceof LocalRegion) { LocalRegion region = (LocalRegion) owner; isDisk = region.getDiskRegion() != null; - cache = region.getGemFireCache(); withVersioning = region.getConcurrencyChecksEnabled(); offHeap = region.getOffHeap(); } else if (owner instanceof PlaceHolderDiskRegion) { - offHeap = ((PlaceHolderDiskRegion) owner).getOffHeap(); + offHeap = ((RegionEntryContext) owner).getOffHeap(); isDisk = true; withVersioning = - ((PlaceHolderDiskRegion) owner).getFlags().contains(DiskRegionFlag.IS_WITH_VERSIONING); - cache = GemFireCacheImpl.getInstance(); + ((DiskRegionView) owner).getFlags().contains(DiskRegionFlag.IS_WITH_VERSIONING); } else { throw new IllegalStateException("expected LocalRegion or PlaceHolderDiskRegion"); } @@ -117,15 +132,15 @@ public abstract class AbstractRegionMap implements RegionMap { attr.statisticsEnabled, isLRU, isDisk, withVersioning, offHeap)); } - protected CustomEntryConcurrentHashMap createConcurrentMap(int initialCapacity, + private CustomEntryConcurrentHashMap createConcurrentMap(int initialCapacity, float loadFactor, int concurrencyLevel, boolean isIdentityMap, CustomEntryConcurrentHashMap.HashEntryCreator entryCreator) { if (entryCreator != null) { - return new CustomEntryConcurrentHashMap(initialCapacity, loadFactor, - concurrencyLevel, isIdentityMap, entryCreator); + return new CustomEntryConcurrentHashMap<>(initialCapacity, loadFactor, concurrencyLevel, + isIdentityMap, entryCreator); } else { - return new CustomEntryConcurrentHashMap(initialCapacity, loadFactor, - concurrencyLevel, isIdentityMap); + return new CustomEntryConcurrentHashMap<>(initialCapacity, loadFactor, concurrencyLevel, + isIdentityMap); } } @@ -1548,7 +1563,6 @@ public abstract class AbstractRegionMap implements RegionMap { final boolean isDebugEnabled = logger.isDebugEnabled(); final LocalRegion owner = _getOwner(); - owner.checkBeforeEntrySync(txEvent); final boolean isRegionReady = !inTokenMode; final boolean hasRemoteOrigin = !((TXId) txId).getMemberId().equals(owner.getMyId()); @@ -2337,7 +2351,6 @@ public abstract class AbstractRegionMap implements RegionMap { TXEntryState txEntryState, VersionTag versionTag, long tailKey) { // boolean didInvalidate = false; final LocalRegion owner = _getOwner(); - owner.checkBeforeEntrySync(txEvent); @Released EntryEventImpl cbEvent = null; @@ -2408,8 +2421,7 @@ public abstract class AbstractRegionMap implements RegionMap { } catch (RegionClearedException rce) { clearOccured = true; } - owner.txApplyInvalidatePart2(oldRe, oldRe.getKey(), didDestroy, true, - clearOccured); + owner.txApplyInvalidatePart2(oldRe, oldRe.getKey(), didDestroy, true); // didInvalidate = true; if (invokeCallbacks) { switchEventOwnerAndOriginRemote(cbEvent, hasRemoteOrigin); @@ -2455,7 +2467,7 @@ public abstract class AbstractRegionMap implements RegionMap { } catch (RegionClearedException rce) { clearOccured = true; } - owner.txApplyInvalidatePart2(newRe, newRe.getKey(), didDestroy, true, clearOccured); + owner.txApplyInvalidatePart2(newRe, newRe.getKey(), didDestroy, true); if (invokeCallbacks) { switchEventOwnerAndOriginRemote(cbEvent, hasRemoteOrigin); @@ -2527,7 +2539,7 @@ public abstract class AbstractRegionMap implements RegionMap { } catch (RegionClearedException rce) { clearOccured = true; } - owner.txApplyInvalidatePart2(re, re.getKey(), didDestroy, true, clearOccured); + owner.txApplyInvalidatePart2(re, re.getKey(), didDestroy, true); // didInvalidate = true; if (invokeCallbacks) { switchEventOwnerAndOriginRemote(cbEvent, hasRemoteOrigin); @@ -3080,7 +3092,6 @@ public abstract class AbstractRegionMap implements RegionMap { Operation putOp = p_putOp; - owner.checkBeforeEntrySync(txEvent); Object newValue = nv; final boolean hasRemoteOrigin = !((TXId) txId).getMemberId().equals(owner.getMyId()); @@ -3175,7 +3186,7 @@ public abstract class AbstractRegionMap implements RegionMap { long lastMod = owner.cacheTimeMillis(); EntryLogger.logTXPut(_getOwnerObject(), key, nv); re.updateStatsForPut(lastMod, lastMod); - owner.txApplyPutPart2(re, re.getKey(), newValue, lastMod, false, didDestroy, + owner.txApplyPutPart2(re, re.getKey(), lastMod, false, didDestroy, clearOccured); } } finally { @@ -3200,7 +3211,7 @@ public abstract class AbstractRegionMap implements RegionMap { } } if (didDestroy && !opCompleted) { - owner.txApplyInvalidatePart2(re, re.getKey(), true, false, false /* clear */); + owner.txApplyInvalidatePart2(re, re.getKey(), true, false /* clear */); } } if (owner.concurrencyChecksEnabled && txEntryState != null && cbEvent != null) { @@ -3275,8 +3286,8 @@ public abstract class AbstractRegionMap implements RegionMap { long lastMod = owner.cacheTimeMillis(); EntryLogger.logTXPut(_getOwnerObject(), key, nv); oldRe.updateStatsForPut(lastMod, lastMod); - owner.txApplyPutPart2(oldRe, oldRe.getKey(), newValue, lastMod, false, - didDestroy, clearOccured); + owner.txApplyPutPart2(oldRe, oldRe.getKey(), lastMod, false, didDestroy, + clearOccured); } } finally { if (oldRe != null && owner.indexMaintenanceSynchronous) { @@ -3341,7 +3352,7 @@ public abstract class AbstractRegionMap implements RegionMap { long lastMod = owner.cacheTimeMillis(); EntryLogger.logTXPut(_getOwnerObject(), key, nv); newRe.updateStatsForPut(lastMod, lastMod); - owner.txApplyPutPart2(newRe, newRe.getKey(), newValue, lastMod, true, didDestroy, + owner.txApplyPutPart2(newRe, newRe.getKey(), lastMod, true, didDestroy, clearOccured); } } finally { http://git-wip-us.apache.org/repos/asf/geode/blob/d4f23332/geode-core/src/main/java/org/apache/geode/internal/cache/AddCacheServerProfileMessage.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AddCacheServerProfileMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AddCacheServerProfileMessage.java index 6928ad2..ff0101b 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/AddCacheServerProfileMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AddCacheServerProfileMessage.java @@ -44,8 +44,9 @@ public class AddCacheServerProfileMessage extends SerialDistributionMessage protected void process(DistributionManager dm) { int oldLevel = LocalRegion.setThreadInitLevelRequirement(LocalRegion.BEFORE_INITIAL_IMAGE); try { - GemFireCacheImpl cache = GemFireCacheImpl.getInstance(); - if (cache != null && !cache.isClosed()) { // will be null if not initialized + InternalCache cache = GemFireCacheImpl.getInstance(); + // will be null if not initialized + if (cache != null && !cache.isClosed()) { operateOnCache(cache); } } finally { @@ -55,16 +56,16 @@ public class AddCacheServerProfileMessage extends SerialDistributionMessage reply.setRecipient(getSender()); try { dm.putOutgoing(reply); - } catch (CancelException e) { + } catch (CancelException ignore) { // can't send a reply, so ignore the exception } } } - private void operateOnCache(GemFireCacheImpl cache) { + private void operateOnCache(InternalCache cache) { final boolean isDebugEnabled = logger.isDebugEnabled(); - for (DistributedRegion r : this.getDistributedRegions(cache)) { + for (DistributedRegion r : getDistributedRegions(cache)) { CacheDistributionAdvisor cda = (CacheDistributionAdvisor) r.getDistributionAdvisor(); CacheDistributionAdvisor.CacheProfile cp = (CacheDistributionAdvisor.CacheProfile) cda.getProfile(getSender()); @@ -91,16 +92,16 @@ public class AddCacheServerProfileMessage extends SerialDistributionMessage } /** set the hasCacheServer flags for all regions in this cache */ - public void operateOnLocalCache(GemFireCacheImpl cache) { + public void operateOnLocalCache(InternalCache cache) { int oldLevel = LocalRegion.setThreadInitLevelRequirement(LocalRegion.BEFORE_INITIAL_IMAGE); try { - for (LocalRegion r : this.getAllRegions(cache)) { + for (LocalRegion r : getAllRegions(cache)) { FilterProfile fp = r.getFilterProfile(); if (fp != null) { fp.getLocalProfile().hasCacheServer = true; } } - for (PartitionedRegion r : this.getPartitionedRegions(cache)) { + for (PartitionedRegion r : getPartitionedRegions(cache)) { FilterProfile fp = r.getFilterProfile(); if (fp != null) { fp.getLocalProfile().hasCacheServer = true; @@ -112,13 +113,13 @@ public class AddCacheServerProfileMessage extends SerialDistributionMessage } - private Set getAllRegions(GemFireCacheImpl gfc) { - return gfc.getAllRegions(); + private Set getAllRegions(InternalCache internalCache) { + return internalCache.getAllRegions(); } - private Set getDistributedRegions(GemFireCacheImpl gfc) { - Set result = new HashSet(); - for (LocalRegion r : gfc.getAllRegions()) { + private Set getDistributedRegions(InternalCache internalCache) { + Set result = new HashSet<>(); + for (LocalRegion r : internalCache.getAllRegions()) { if (r instanceof DistributedRegion) { result.add((DistributedRegion) r); } @@ -126,14 +127,14 @@ public class AddCacheServerProfileMessage extends SerialDistributionMessage return result; } - private Set getPartitionedRegions(GemFireCacheImpl gfc) { - Set result = new HashSet(gfc.getPartitionedRegions()); - return result; + private Set getPartitionedRegions(InternalCache internalCache) { + return (Set) new HashSet(internalCache.getPartitionedRegions()); } /** for deserialization only */ public AddCacheServerProfileMessage() {} + @Override public int getDSFID() { return ADD_CACHESERVER_PROFILE_UPDATE; } http://git-wip-us.apache.org/repos/asf/geode/blob/d4f23332/geode-core/src/main/java/org/apache/geode/internal/cache/BucketAdvisor.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketAdvisor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketAdvisor.java index 8b8705a..7b35cb5 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketAdvisor.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketAdvisor.java @@ -14,6 +14,30 @@ */ package org.apache.geode.internal.cache; +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.Serializable; +import java.util.AbstractSet; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Queue; +import java.util.Random; +import java.util.Set; +import java.util.concurrent.Semaphore; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicReference; +import java.util.concurrent.locks.Lock; +import java.util.concurrent.locks.ReadWriteLock; +import java.util.concurrent.locks.ReentrantReadWriteLock; + +import org.apache.logging.log4j.Logger; + import org.apache.geode.CancelException; import org.apache.geode.DataSerializer; import org.apache.geode.cache.CacheClosedException; @@ -42,16 +66,6 @@ import org.apache.geode.internal.logging.LogService; import org.apache.geode.internal.logging.log4j.LocalizedMessage; import org.apache.geode.internal.logging.log4j.LogMarker; import org.apache.geode.internal.util.StopWatch; -import org.apache.logging.log4j.Logger; - -import java.io.*; -import java.util.*; -import java.util.concurrent.Semaphore; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicReference; -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReadWriteLock; -import java.util.concurrent.locks.ReentrantReadWriteLock; /** * Specialized {@link CacheDistributionAdvisor} for {@link BucketRegion BucketRegions}. The @@ -1452,7 +1466,7 @@ public class BucketAdvisor extends CacheDistributionAdvisor { for (;;) { // bail out if the system starts closing this.getAdvisee().getCancelCriterion().checkCancelInProgress(null); - final GemFireCacheImpl cache = (GemFireCacheImpl) getBucket().getCache(); + final InternalCache cache = getBucket().getCache(); if (cache != null && cache.isCacheAtShutdownAll()) { throw new CacheClosedException("Cache is shutting down"); } @@ -1727,9 +1741,9 @@ public class BucketAdvisor extends CacheDistributionAdvisor { @Override protected Profile instantiateProfile(InternalDistributedMember memberId, int version) { if (!this.pRegion.isShadowPR()) { - GemFireCacheImpl c = getProxyBucketRegion().getCache(); + InternalCache cache = getProxyBucketRegion().getCache(); List servers = null; - servers = c.getCacheServers(); + servers = cache.getCacheServers(); HashSet serverLocations = new HashSet(); for (Object object : servers) {