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;
   }
 
   /**