You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by bs...@apache.org on 2015/11/20 22:02:04 UTC
[10/50] [abbrv] incubator-geode git commit: GEODE-77 added a test for
DistributionMessage.isPreciousThread()
GEODE-77 added a test for DistributionMessage.isPreciousThread()
This method wasn't correctly determining that a JGroups thread should
not be used for dispatching a cache operation message. I corrected the
check and added a unit test.
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/a68ed7d0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/a68ed7d0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/a68ed7d0
Branch: refs/heads/develop
Commit: a68ed7d032c0db1c26a72ccc777a749cabd71718
Parents: b4d083e
Author: Bruce Schuchardt <bs...@pivotal.io>
Authored: Thu Oct 22 14:26:30 2015 -0700
Committer: Bruce Schuchardt <bs...@pivotal.io>
Committed: Thu Oct 22 14:26:30 2015 -0700
----------------------------------------------------------------------
.../distributed/internal/DistributionMessage.java | 2 +-
.../membership/gms/messenger/Transport.java | 13 +++++++++----
.../gms/messenger/JGroupsMessengerJUnitTest.java | 17 +++++++++++++++++
3 files changed, 27 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a68ed7d0/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionMessage.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionMessage.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionMessage.java
index ac6d66e..4383f1f 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionMessage.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionMessage.java
@@ -485,7 +485,7 @@ public abstract class DistributionMessage
*/
public static boolean isPreciousThread() {
String thrname = Thread.currentThread().getName();
- return thrname.startsWith("GEODE UDP");
+ return thrname.startsWith("Geode UDP");
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a68ed7d0/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/Transport.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/Transport.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/Transport.java
index 4027437..adb49b9 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/Transport.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/Transport.java
@@ -7,6 +7,11 @@ import org.jgroups.util.DefaultThreadFactory;
import org.jgroups.util.LazyThreadFactory;
public class Transport extends UDP {
+
+ /**
+ * This is the initial part of the name of all JGroups threads that deliver messages
+ */
+ public static final String PRECIOUS_THREAD_NAME_PREFIX = "Geode UDP";
/*
* (non-Javadoc)
@@ -49,10 +54,10 @@ public class Transport extends UDP {
@Override
public void init() throws Exception {
global_thread_factory=new DefaultThreadFactory("Geode ", true);
- timer_thread_factory=new LazyThreadFactory("Geode UDP Timer", true, true);
- default_thread_factory=new DefaultThreadFactory("Geode UDP Incoming", true, true);
- oob_thread_factory=new DefaultThreadFactory("Geode UDP OOB", true, true);
- internal_thread_factory=new DefaultThreadFactory("Geode UDP INT", true, true);
+ timer_thread_factory=new LazyThreadFactory(PRECIOUS_THREAD_NAME_PREFIX + " Timer", true, true);
+ default_thread_factory=new DefaultThreadFactory(PRECIOUS_THREAD_NAME_PREFIX + " Incoming", true, true);
+ oob_thread_factory=new DefaultThreadFactory(PRECIOUS_THREAD_NAME_PREFIX + " OOB", true, true);
+ internal_thread_factory=new DefaultThreadFactory(PRECIOUS_THREAD_NAME_PREFIX + " INT", true, true);
super.init();
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a68ed7d0/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java
index e2c6700..2b9d451 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java
@@ -31,6 +31,7 @@ import com.gemstone.gemfire.distributed.internal.DMStats;
import com.gemstone.gemfire.distributed.internal.DistributionConfig;
import com.gemstone.gemfire.distributed.internal.DistributionConfigImpl;
import com.gemstone.gemfire.distributed.internal.DistributionManager;
+import com.gemstone.gemfire.distributed.internal.DistributionMessage;
import com.gemstone.gemfire.distributed.internal.SerialAckedMessage;
import com.gemstone.gemfire.distributed.internal.membership.InternalDistributedMember;
import com.gemstone.gemfire.distributed.internal.membership.NetView;
@@ -352,6 +353,22 @@ public class JGroupsMessengerJUnitTest {
assertFalse(messenger.myChannel.isConnected());
}
+ /**
+ * Test whether DistributionMessage.isPreciousThread() recognizes
+ * that a UDP transport thread is "precious"
+ * @throws Exception
+ */
+ @Test
+ public void testPreciousThread() throws Exception {
+ String name = Thread.currentThread().getName();
+ try {
+ Thread.currentThread().setName(Transport.PRECIOUS_THREAD_NAME_PREFIX + " test thread");
+ assertTrue(DistributionMessage.isPreciousThread());
+ } finally {
+ Thread.currentThread().setName(name);
+ }
+ }
+
@Test
public void testChannelClosedAfterEmergencyCloseNotForcedDisconnectWithAutoReconnect() throws Exception {
initMocks(false);