You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kl...@apache.org on 2017/05/31 20:51:20 UTC
[35/47] geode git commit: Cleanup CacheClientUpdater
Cleanup CacheClientUpdater
Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/ce5fcb47
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/ce5fcb47
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/ce5fcb47
Branch: refs/heads/feature/GEODE-2632-18
Commit: ce5fcb479b0e5ce879a32fac41b5c3fbbf2c2234
Parents: a5718c0
Author: Kirk Lund <kl...@apache.org>
Authored: Mon May 22 14:49:21 2017 -0700
Committer: Kirk Lund <kl...@apache.org>
Committed: Wed May 31 13:25:43 2017 -0700
----------------------------------------------------------------------
.../java/org/apache/geode/Instantiator.java | 99 ++-
.../internal/cache/tier/CachedRegionHelper.java | 18 +-
.../cache/tier/sockets/CacheClientUpdater.java | 850 ++++++++++---------
.../cache/tier/sockets/ChunkedMessage.java | 6 +-
.../internal/cache/tier/sockets/Message.java | 61 +-
.../cache/tier/sockets/ServerConnection.java | 5 +-
...arallelGatewaySenderOperationsDUnitTest.java | 3 +-
7 files changed, 528 insertions(+), 514 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/geode/blob/ce5fcb47/geode-core/src/main/java/org/apache/geode/Instantiator.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/Instantiator.java b/geode-core/src/main/java/org/apache/geode/Instantiator.java
index c727e5b..ea42057 100644
--- a/geode-core/src/main/java/org/apache/geode/Instantiator.java
+++ b/geode-core/src/main/java/org/apache/geode/Instantiator.java
@@ -20,16 +20,16 @@ import org.apache.geode.internal.cache.tier.sockets.ClientProxyMembershipID;
import org.apache.geode.internal.i18n.LocalizedStrings;
/**
- * {@code Instantiator} allows classes that implement {@link DataSerializable} to be registered
- * with the data serialization framework. Knowledge of {@code DataSerializable} classes allows
- * the framework to optimize how instances of those classes are data serialized.
+ * {@code Instantiator} allows classes that implement {@link DataSerializable} to be registered with
+ * the data serialization framework. Knowledge of {@code DataSerializable} classes allows the
+ * framework to optimize how instances of those classes are data serialized.
*
* <P>
*
* Ordinarily, when a {@code DataSerializable} object is written using
* {@link DataSerializer#writeObject(Object, java.io.DataOutput)}, a special marker class id is
- * written to the stream followed by the class name of the {@code DataSerializable} object.
- * After the marker class id is read by {@link DataSerializer#readObject} it performs the following
+ * written to the stream followed by the class name of the {@code DataSerializable} object. After
+ * the marker class id is read by {@link DataSerializer#readObject} it performs the following
* operations,
*
* <OL>
@@ -44,20 +44,20 @@ import org.apache.geode.internal.i18n.LocalizedStrings;
*
* </OL>
*
- * However, if a {@code DataSerializable} class is {@linkplain #register(Instantiator)
- * registered} with the data serialization framework and assigned a unique class id, an important
- * optimization can be performed that avoid the expense of using reflection to instantiate the
+ * However, if a {@code DataSerializable} class is {@linkplain #register(Instantiator) registered}
+ * with the data serialization framework and assigned a unique class id, an important optimization
+ * can be performed that avoid the expense of using reflection to instantiate the
* {@code DataSerializable} class. When the object is written using
* {@link DataSerializer#writeObject(Object, java.io.DataOutput)}, the object's registered class id
* is written to the stream. Consequently, when the data is read from the stream, the
- * {@link #newInstance} method of the appropriate {@code Instantiator} instance is invoked to
- * create an "empty" instance of the {@code DataSerializable} instead of using reflection to
- * create the new instance.
+ * {@link #newInstance} method of the appropriate {@code Instantiator} instance is invoked to create
+ * an "empty" instance of the {@code DataSerializable} instead of using reflection to create the new
+ * instance.
*
* <P>
*
- * Commonly, a {@code DataSerializable} class will register itself with the
- * {@code Instantiator} in a static initializer as shown in the below example code.
+ * Commonly, a {@code DataSerializable} class will register itself with the {@code Instantiator} in
+ * a static initializer as shown in the below example code.
*
* <PRE>
public class User implements DataSerializable {
@@ -98,20 +98,19 @@ public class User implements DataSerializable {
}
* </PRE>
*
- * {@code Instantiator}s may be distributed to other members of the distributed system when
- * they are registered. Consider the following scenario in which VM1 and VM2 are members of the same
+ * {@code Instantiator}s may be distributed to other members of the distributed system when they are
+ * registered. Consider the following scenario in which VM1 and VM2 are members of the same
* distributed system. Both VMs define the sameRegion and VM2's region replicates the contents of
- * VM1's using replication. VM1 puts an instance of the above {@code User} class into the
- * region. The act of instantiating {@code User} will load the {@code User} class and
- * invoke its static initializer, thus registering the {@code Instantiator} with the data
- * serialization framework. Because the region is a replicate, the {@code User} will be data
- * serialized and sent to VM2. However, when VM2 attempts to data deserialize the {@code User},
- * its {@code Instantiator} will not necessarily be registered because {@code User}'s
- * static initializer may not have been invoked yet. As a result, an exception would be logged while
- * deserializing the {@code User} and the replicate would not appear to have the new value. So,
- * in order to ensure that the {@code Instantiator} is registered in VM2, the data
- * serialization framework distributes a message to each member when an {@code Instantiator} is
- * {@linkplain #register(Instantiator) registered}.
+ * VM1's using replication. VM1 puts an instance of the above {@code User} class into the region.
+ * The act of instantiating {@code User} will load the {@code User} class and invoke its static
+ * initializer, thus registering the {@code Instantiator} with the data serialization framework.
+ * Because the region is a replicate, the {@code User} will be data serialized and sent to VM2.
+ * However, when VM2 attempts to data deserialize the {@code User}, its {@code Instantiator} will
+ * not necessarily be registered because {@code User}'s static initializer may not have been invoked
+ * yet. As a result, an exception would be logged while deserializing the {@code User} and the
+ * replicate would not appear to have the new value. So, in order to ensure that the
+ * {@code Instantiator} is registered in VM2, the data serialization framework distributes a message
+ * to each member when an {@code Instantiator} is {@linkplain #register(Instantiator) registered}.
* <p>
* Note that the framework does not require that an {@code Instantiator} be
* {@link java.io.Serializable}, but it does require that it provide a
@@ -140,15 +139,15 @@ public abstract class Instantiator {
private ClientProxyMembershipID context;
/**
- * Registers a {@code DataSerializable} class with the data serialization framework. This
- * method is usually invoked from the static initializer of a class that implements
+ * Registers a {@code DataSerializable} class with the data serialization framework. This method
+ * is usually invoked from the static initializer of a class that implements
* {@code DataSerializable}.
*
- * @param instantiator An {@code Instantiator} whose {@link #newInstance} method is invoked
- * when an object is data deserialized.
+ * @param instantiator An {@code Instantiator} whose {@link #newInstance} method is invoked when
+ * an object is data deserialized.
*
- * @throws IllegalStateException If class {@code c} is already registered with a different
- * class id, or another class has already been registered with id {@code classId}
+ * @throws IllegalStateException If class {@code c} is already registered with a different class
+ * id, or another class has already been registered with id {@code classId}
* @throws NullPointerException If {@code instantiator} is {@code null}.
*/
public static synchronized void register(Instantiator instantiator) {
@@ -156,16 +155,16 @@ public abstract class Instantiator {
}
/**
- * Registers a {@code DataSerializable} class with the data serialization framework. This
- * method is usually invoked from the static initializer of a class that implements
+ * Registers a {@code DataSerializable} class with the data serialization framework. This method
+ * is usually invoked from the static initializer of a class that implements
* {@code DataSerializable}.
*
- * @param instantiator An {@code Instantiator} whose {@link #newInstance} method is invoked
- * when an object is data deserialized.
+ * @param instantiator An {@code Instantiator} whose {@link #newInstance} method is invoked when
+ * an object is data deserialized.
*
- * @param distribute True if the registered {@code Instantiator} has to be distributed to
- * other members of the distributed system. Note that if distribute is set to false it may
- * still be distributed in some cases.
+ * @param distribute True if the registered {@code Instantiator} has to be distributed to other
+ * members of the distributed system. Note that if distribute is set to false it may still
+ * be distributed in some cases.
*
* @throws IllegalArgumentException If class {@code c} is already registered with a different
* class id, or another class has already been registered with id {@code classId}
@@ -182,11 +181,11 @@ public abstract class Instantiator {
*
* @param c The {@code DataSerializable} class to register. This class must have a static
* initializer that registers this {@code Instantiator}.
- * @param classId A unique id for class {@code c}. The {@code classId} must not be zero.
- * This has been an {@code int} since dsPhase1.
+ * @param classId A unique id for class {@code c}. The {@code classId} must not be zero. This has
+ * been an {@code int} since dsPhase1.
*
- * @throws IllegalArgumentException If {@code c} does not implement
- * {@code DataSerializable}, {@code classId} is less than or equal to zero.
+ * @throws IllegalArgumentException If {@code c} does not implement {@code DataSerializable},
+ * {@code classId} is less than or equal to zero.
* @throws NullPointerException If {@code c} is {@code null}
*/
public Instantiator(Class<? extends DataSerializable> c, int classId) {
@@ -202,8 +201,8 @@ public abstract class Instantiator {
}
if (classId == 0) {
- throw new IllegalArgumentException(LocalizedStrings.Instantiator_CLASS_ID_0_MUST_NOT_BE_0
- .toLocalizedString(classId));
+ throw new IllegalArgumentException(
+ LocalizedStrings.Instantiator_CLASS_ID_0_MUST_NOT_BE_0.toLocalizedString(classId));
}
this.clazz = c;
@@ -211,16 +210,15 @@ public abstract class Instantiator {
}
/**
- * Creates a new "empty" instance of a {@code DataSerializable} class whose state will be
- * filled in by invoking its {@link DataSerializable#fromData fromData} method.
+ * Creates a new "empty" instance of a {@code DataSerializable} class whose state will be filled
+ * in by invoking its {@link DataSerializable#fromData fromData} method.
*
* @see DataSerializer#readObject
*/
public abstract DataSerializable newInstance();
/**
- * Returns the {@code DataSerializable} class that is instantiated by this
- * {@code Instantiator}.
+ * Returns the {@code DataSerializable} class that is instantiated by this {@code Instantiator}.
*/
public Class<? extends DataSerializable> getInstantiatedClass() {
return this.clazz;
@@ -241,8 +239,7 @@ public abstract class Instantiator {
}
/**
- * Returns the unique {@code eventId} of this {@code Instantiator}. For internal use
- * only.
+ * Returns the unique {@code eventId} of this {@code Instantiator}. For internal use only.
*/
public Object/* EventID */ getEventId() {
return this.eventId;
http://git-wip-us.apache.org/repos/asf/geode/blob/ce5fcb47/geode-core/src/main/java/org/apache/geode/internal/cache/tier/CachedRegionHelper.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/CachedRegionHelper.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/CachedRegionHelper.java
index a82a804..940da95 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/CachedRegionHelper.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/CachedRegionHelper.java
@@ -27,21 +27,19 @@ import org.apache.geode.internal.cache.InternalCache;
public class CachedRegionHelper {
private final InternalCache cache;
+
private volatile boolean shutdown = false;
- // private Map regions;
- private volatile int slowEmulationSleep = 0;
- public CachedRegionHelper(InternalCache c) {
- this.cache = c;
- // this.regions = new WeakHashMap();
+ public CachedRegionHelper(InternalCache cache) {
+ this.cache = cache;
}
public void checkCancelInProgress(Throwable e) throws CancelException {
- cache.getCancelCriterion().checkCancelInProgress(e);
+ this.cache.getCancelCriterion().checkCancelInProgress(e);
}
public Region getRegion(String name) {
- return cache.getRegion(name);
+ return this.cache.getRegion(name);
}
public InternalCache getCache() {
@@ -53,12 +51,14 @@ public class CachedRegionHelper {
}
public boolean isShutdown() {
- return shutdown || cache.getCancelCriterion().isCancelInProgress();
+ return this.shutdown || this.cache.getCancelCriterion().isCancelInProgress();
}
+ /**
+ * CachedRegionHelper#close() does nothing
+ */
public void close() {
// cache = null;
- // regions = null;
}
/**