This is an automated email from the ASF dual-hosted git repository. bschuchardt pushed a commit to branch feature/bruce_ssl_wip in repository https://gitbox.apache.org/repos/asf/geode.git
commit 5e6d3201f0f87e794c30d4adf3f762ffc552543c Author: Bruce Schuchardt <[email protected]> AuthorDate: Fri Nov 8 14:00:01 2019 -0800 ssl performance investigation --- .../geode/ClusterCommunicationsDUnitTest.java | 76 +++++++++++++++++----- .../apache/geode/distributed/internal/DMStats.java | 7 ++ .../distributed/internal/DistributionStats.java | 36 ++++++++++ .../internal/LonerDistributionManager.java | 20 ++++++ .../membership/gms/membership/GMSJoinLeave.java | 4 +- .../org/apache/geode/internal/net/NioFilter.java | 5 +- .../apache/geode/internal/net/NioPlainEngine.java | 4 +- .../apache/geode/internal/net/NioSslEngine.java | 9 ++- .../org/apache/geode/internal/tcp/Connection.java | 11 ++-- .../org/apache/geode/internal/tcp/MsgReader.java | 3 +- .../geode/internal/net/NioPlainEngineTest.java | 8 ++- .../geode/internal/net/NioSslEngineTest.java | 6 +- .../cache/tier/sockets/DurableClientTestCase.java | 2 - .../geode/test/dunit/internal/DUnitLauncher.java | 2 +- 14 files changed, 156 insertions(+), 37 deletions(-) diff --git a/geode-core/src/distributedTest/java/org/apache/geode/ClusterCommunicationsDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/ClusterCommunicationsDUnitTest.java index 492ec3a..a11a711 100644 --- a/geode-core/src/distributedTest/java/org/apache/geode/ClusterCommunicationsDUnitTest.java +++ b/geode-core/src/distributedTest/java/org/apache/geode/ClusterCommunicationsDUnitTest.java @@ -17,6 +17,7 @@ package org.apache.geode; import static org.apache.geode.distributed.ConfigurationProperties.CONSERVE_SOCKETS; import static org.apache.geode.distributed.ConfigurationProperties.DISABLE_TCP; import static org.apache.geode.distributed.ConfigurationProperties.ENABLE_CLUSTER_CONFIGURATION; +import static org.apache.geode.distributed.ConfigurationProperties.ENABLE_TIME_STATISTICS; import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS; import static org.apache.geode.distributed.ConfigurationProperties.NAME; import static org.apache.geode.distributed.ConfigurationProperties.SOCKET_BUFFER_SIZE; @@ -28,6 +29,8 @@ import static org.apache.geode.distributed.ConfigurationProperties.SSL_PROTOCOLS import static org.apache.geode.distributed.ConfigurationProperties.SSL_REQUIRE_AUTHENTICATION; import static org.apache.geode.distributed.ConfigurationProperties.SSL_TRUSTSTORE; import static org.apache.geode.distributed.ConfigurationProperties.SSL_TRUSTSTORE_PASSWORD; +import static org.apache.geode.distributed.ConfigurationProperties.STATISTIC_ARCHIVE_FILE; +import static org.apache.geode.distributed.ConfigurationProperties.STATISTIC_SAMPLING_ENABLED; import static org.apache.geode.distributed.ConfigurationProperties.USE_CLUSTER_CONFIGURATION; import static org.apache.geode.internal.serialization.DataSerializableFixedID.SERIAL_ACKED_MESSAGE; import static org.apache.geode.test.awaitility.GeodeAwaitility.await; @@ -162,15 +165,17 @@ public class ClusterCommunicationsDUnitTest implements Serializable { @Test public void createEntryWithBigMessage() { - int locatorPort = createLocator(getVM(0)); - for (int i = 1; i <= NUM_SERVERS; i++) { - createCacheAndRegion(getVM(i), locatorPort); - } - performCreateWithLargeValue(getVM(1)); - // fault the value into an empty cache - forces use of message chunking - for (int i = 1; i <= NUM_SERVERS - 1; i++) { - verifyCreatedEntry(getVM(i)); - } +// VM vm0 = Host.getHost(0).getVM("1.9.2", 0); +// VM vm1 = Host.getHost(0).getVM("1.9.2", 1); +// VM vm2 = Host.getHost(0).getVM("1.9.2", 2); + VM vm0 = Host.getHost(0).getVM( 0); + VM vm1 = Host.getHost(0).getVM(1); + VM vm2 = Host.getHost(0).getVM(2); + int locatorPort = createLocator(vm0, true); + createCacheAndRegion(vm2, locatorPort); + createCacheAndRegion(vm1, locatorPort); + performCreateWithLargeValue(vm1); + performUpdateWithLargeValue(vm1); } @Test @@ -262,12 +267,43 @@ public class ClusterCommunicationsDUnitTest implements Serializable { private void performCreateWithLargeValue(VM memberVM) { memberVM.invoke("perform create", () -> { - byte[] value = new byte[SMALL_BUFFER_SIZE * 20]; + byte[] value = new byte[1024]; + Arrays.fill(value, (byte) 1); + cache.getRegion(regionName).put("testKey", value); + }); + } + + private void performUpdateWithLargeValue(VM memberVM) { + memberVM.invoke("perform update", () -> { + byte[] value = new byte[70000]; + Arrays.fill(value, (byte) 1); + long start = System.currentTimeMillis(); + for (int i = 0; i < 50000; i++) { + cache.getRegion(regionName).put("testKey", value); + } + long end = System.currentTimeMillis(); + System.out.println("BRUCE: elapsed update time: " + (end - start) + "ms"); + }); + } + + private void performCreateWithSmallValue(VM memberVM) { + memberVM.invoke("perform create", () -> { + byte[] value = new byte[512]; Arrays.fill(value, (byte) 1); cache.getRegion(regionName).put("testKey", value); }); } + private void performUpdateWithSmallValue(VM memberVM) { + memberVM.invoke("perform update", () -> { + byte[] value = new byte[512]; + Arrays.fill(value, (byte) 1); + for (int i = 0; i < 50000; i++) { + cache.getRegion(regionName).put("testKey", value); + } + }); + } + private void verifyCreatedEntry(VM memberVM) { memberVM.invoke("verify entry created", () -> Assert.assertTrue(cache .getRegion(regionName).containsKey("testKey"))); @@ -319,8 +355,14 @@ public class ClusterCommunicationsDUnitTest implements Serializable { properties.setProperty(NAME, "vm" + VM.getCurrentVMNum()); properties.setProperty(CONSERVE_SOCKETS, "" + conserveSockets); properties.setProperty(DISABLE_TCP, "" + disableTcp); - properties.setProperty(SOCKET_LEASE_TIME, "10000"); - properties.setProperty(SOCKET_BUFFER_SIZE, "" + SMALL_BUFFER_SIZE); + properties.setProperty(SOCKET_LEASE_TIME, "60000"); + // properties.setProperty(SOCKET_BUFFER_SIZE, "" + SMALL_BUFFER_SIZE); + properties.setProperty(SOCKET_BUFFER_SIZE, "80000"); + properties.setProperty(ENABLE_TIME_STATISTICS, "true"); + properties.setProperty(STATISTIC_SAMPLING_ENABLED, "true"); + properties.setProperty(STATISTIC_ARCHIVE_FILE, + "statArchive_vm" + VM.getCurrentVMNum() + ".gfs"); + // properties.put(LOG_LEVEL, "fine"); if (useSSL) { properties.setProperty(SSL_ENABLED_COMPONENTS, "cluster,locator"); @@ -339,11 +381,11 @@ public class ClusterCommunicationsDUnitTest implements Serializable { } enum RunConfiguration { - SHARED_CONNECTIONS(true, false, false), - SHARED_CONNECTIONS_WITH_SSL(true, true, false), - UNSHARED_CONNECTIONS(false, false, false), - UNSHARED_CONNECTIONS_WITH_SSL(false, true, false), - UDP_CONNECTIONS(true, false, true); + // SHARED_CONNECTIONS(true, false, false), + // SHARED_CONNECTIONS_WITH_SSL(true, true, false), + // UNSHARED_CONNECTIONS(false, false, false); + UNSHARED_CONNECTIONS_WITH_SSL(false, true, false); + // UDP_CONNECTIONS(true, false, true); boolean useSSL; boolean conserveSockets; diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/DMStats.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/DMStats.java index 6a0d578..c1adfa3 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/DMStats.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/DMStats.java @@ -563,4 +563,11 @@ public interface DMStats extends MembershipStatistics { long getUdpFinalCheckResponsesReceived(); + long startTLSEncryption(); + + void endTLSEncryption(long startEncryption); + + long startTLSDecryption(); + + void endTLSDecryption(long startDecryptTime); } diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionStats.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionStats.java index 5061032..8d69ab2 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionStats.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionStats.java @@ -153,6 +153,9 @@ public class DistributionStats implements DMStats { private static final int udpMsgEncryptionTimeId; private static final int udpMsgDecryptionTimeId; + private static final int tlsEncryptionTimeId; + private static final int tlsDecryptionTimeId; + private static final int batchSendTimeId; private static final int batchCopyTimeId; private static final int batchWaitTimeId; @@ -589,6 +592,10 @@ public class DistributionStats implements DMStats { "Total amount of time, in nanoseconds, spent encrypting udp messages.", "nanoseconds"), f.createLongCounter("udpMsgDecryptionTime", "Total amount of time, in nanoseconds, spent decrypting udp messages.", "nanoseconds"), + f.createLongCounter("tlsMsgEncryptionTime", + "Total amount of time performing TLS (SSL) encryption", "nanoseconds"), + f.createLongCounter("tlsMsgDecryptionTime", + "Total amount of time performing TLS (SSL) decryption", "nanoseconds"), f.createIntCounter("pdxInstanceDeserializations", "Total number of times getObject has been called on a PdxInstance.", "ops"), f.createLongCounter("pdxInstanceDeserializationTime", @@ -848,6 +855,9 @@ public class DistributionStats implements DMStats { udpMsgEncryptionTimeId = type.nameToId("udpMsgEncryptionTime"); udpMsgDecryptionTimeId = type.nameToId("udpMsgDecryptionTime"); + tlsEncryptionTimeId = type.nameToId("tlsMsgEncryptionTime"); + tlsDecryptionTimeId = type.nameToId("tlsMsgDecryptionTime"); + batchSendTimeId = type.nameToId("batchSendTime"); batchCopyTimeId = type.nameToId("batchCopyTime"); batchWaitTimeId = type.nameToId("batchWaitTime"); @@ -2659,6 +2669,32 @@ public class DistributionStats implements DMStats { } @Override + public long startTLSEncryption() { + return getTime(); + } + + @Override + public void endTLSEncryption(long startEncryptTime) { + if (enableClockStats) { + long endTime = getTime(); + this.stats.incLong(tlsEncryptionTimeId, endTime - startEncryptTime); + } + } + + @Override + public long startTLSDecryption() { + return getTime(); + } + + @Override + public void endTLSDecryption(long startDecryptTime) { + if (enableClockStats) { + long endTime = getTime(); + this.stats.incLong(tlsDecryptionTimeId, endTime - startDecryptTime); + } + } + + @Override public void incUdpFinalCheckResponsesReceived() { this.stats.incLong(udpFinalCheckResponsesReceivedId, 1L); } diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/LonerDistributionManager.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/LonerDistributionManager.java index 43c5936..7b2387a 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/LonerDistributionManager.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/LonerDistributionManager.java @@ -997,6 +997,26 @@ public class LonerDistributionManager implements DistributionManager { } @Override + public long startTLSEncryption() { + return 0; + } + + @Override + public void endTLSEncryption(long startEncryption) { + + } + + @Override + public long startTLSDecryption() { + return 0; + } + + @Override + public void endTLSDecryption(long startDecryptTime) { + + } + + @Override public void incUdpFinalCheckResponsesReceived() {} @Override diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java index 9b017de..126632c 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java @@ -118,8 +118,8 @@ public class GMSJoinLeave implements JoinLeave { * membership logger */ private static final Logger logger = Services.getLogger(); - private static final boolean ALLOW_OLD_VERSION_FOR_TESTING = Boolean - .getBoolean(DistributionConfig.GEMFIRE_PREFIX + "allow_old_members_to_join_for_testing"); + private static final boolean ALLOW_OLD_VERSION_FOR_TESTING = true; // Boolean + // .getBoolean(DistributionConfig.GEMFIRE_PREFIX + "allow_old_members_to_join_for_testing"); /** * the view ID where I entered into membership diff --git a/geode-core/src/main/java/org/apache/geode/internal/net/NioFilter.java b/geode-core/src/main/java/org/apache/geode/internal/net/NioFilter.java index 01556dc..d497233 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/net/NioFilter.java +++ b/geode-core/src/main/java/org/apache/geode/internal/net/NioFilter.java @@ -18,6 +18,8 @@ import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; +import org.apache.geode.distributed.internal.DMStats; + /** * Prior to transmitting a buffer or processing a received buffer * a NioFilter should be called to wrap (transmit) or unwrap (received) @@ -53,7 +55,8 @@ public interface NioFilter { * wrappedBuffer = filter.ensureWrappedCapacity(amount, wrappedBuffer, etc.);<br> * unwrappedBuffer = filter.readAtLeast(channel, amount, wrappedBuffer, etc.) */ - ByteBuffer readAtLeast(SocketChannel channel, int amount, ByteBuffer wrappedBuffer) + ByteBuffer readAtLeast(SocketChannel channel, int amount, ByteBuffer wrappedBuffer, + DMStats stats) throws IOException; /** diff --git a/geode-core/src/main/java/org/apache/geode/internal/net/NioPlainEngine.java b/geode-core/src/main/java/org/apache/geode/internal/net/NioPlainEngine.java index 3ebce38..3dbacda 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/net/NioPlainEngine.java +++ b/geode-core/src/main/java/org/apache/geode/internal/net/NioPlainEngine.java @@ -20,6 +20,7 @@ import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; +import org.apache.geode.distributed.internal.DMStats; import org.apache.geode.internal.Assert; /** @@ -82,7 +83,8 @@ public class NioPlainEngine implements NioFilter { } @Override - public ByteBuffer readAtLeast(SocketChannel channel, int bytes, ByteBuffer wrappedBuffer) + public ByteBuffer readAtLeast(SocketChannel channel, int bytes, ByteBuffer wrappedBuffer, + DMStats stats) throws IOException { ByteBuffer buffer = wrappedBuffer; diff --git a/geode-core/src/main/java/org/apache/geode/internal/net/NioSslEngine.java b/geode-core/src/main/java/org/apache/geode/internal/net/NioSslEngine.java index e914847..3c10bfd 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/net/NioSslEngine.java +++ b/geode-core/src/main/java/org/apache/geode/internal/net/NioSslEngine.java @@ -40,6 +40,7 @@ import javax.net.ssl.SSLSession; import org.apache.logging.log4j.Logger; import org.apache.geode.GemFireIOException; +import org.apache.geode.distributed.internal.DMStats; import org.apache.geode.internal.net.BufferPool.BufferType; import org.apache.geode.logging.internal.log4j.api.LogService; @@ -74,8 +75,8 @@ public class NioSslEngine implements NioFilter { int packetBufferSize = engine.getSession().getPacketBufferSize(); this.engine = engine; this.bufferPool = bufferPool; - this.myNetData = bufferPool.acquireDirectSenderBuffer(packetBufferSize); - this.peerAppData = bufferPool.acquireNonDirectReceiveBuffer(appBufferSize); + this.myNetData = bufferPool.acquireDirectSenderBuffer(100000); //packetBufferSize); + this.peerAppData = bufferPool.acquireNonDirectReceiveBuffer(100000);//appBufferSize); } /** @@ -314,7 +315,8 @@ public class NioSslEngine implements NioFilter { @Override public ByteBuffer readAtLeast(SocketChannel channel, int bytes, - ByteBuffer wrappedBuffer) throws IOException { + ByteBuffer wrappedBuffer, + DMStats stats) throws IOException { if (peerAppData.capacity() > bytes) { // we already have a buffer that's big enough if (peerAppData.capacity() - peerAppData.position() < bytes) { @@ -328,6 +330,7 @@ public class NioSslEngine implements NioFilter { while (peerAppData.remaining() < bytes) { wrappedBuffer.limit(wrappedBuffer.capacity()); + stats.incAsyncThreads(1); int amountRead = channel.read(wrappedBuffer); if (amountRead < 0) { throw new EOFException(); diff --git a/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java b/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java index 61d2ff4..339cfa0 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java +++ b/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java @@ -1224,10 +1224,6 @@ public class Connection implements Runnable { } } - public void setInputBuffer(ByteBuffer buffer) { - this.inputBuffer = buffer; - } - private class BatchBufferFlusher extends Thread { private volatile boolean flushNeeded = false; private volatile boolean timeToStop = false; @@ -1839,6 +1835,9 @@ public class Connection implements Runnable { SSLEngine engine = getConduit().getSocketCreator().createSSLEngine(address.getHostName(), address.getPort()); + // int engineBufferSize = engine.getSession().getPacketBufferSize(); + // int sendBufferSize = owner.getConduit().tcpBufferSize; + // int packetBufferSize = Math.max(sendBufferSize, engineBufferSize); int packetBufferSize = engine.getSession().getPacketBufferSize(); if (inputBuffer == null || (inputBuffer.capacity() < packetBufferSize)) { @@ -2731,7 +2730,9 @@ public class Connection implements Runnable { } // fall through } + long startEncryption = stats.startTLSEncryption(); ByteBuffer wrappedBuffer = ioFilter.wrap(buffer); + stats.endTLSEncryption(startEncryption); while (wrappedBuffer.remaining() > 0) { int amtWritten = 0; long start = stats.startSocketWrite(true); @@ -2898,7 +2899,9 @@ public class Connection implements Runnable { inputBuffer.flip(); + long startDecryptTime = owner.getConduit().getStats().startTLSDecryption(); ByteBuffer peerDataBuffer = ioFilter.unwrap(inputBuffer); + owner.getConduit().getStats().endTLSDecryption(startDecryptTime); peerDataBuffer.flip(); boolean done = false; diff --git a/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgReader.java b/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgReader.java index 4561562..8a6b7c3 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgReader.java +++ b/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgReader.java @@ -120,7 +120,8 @@ public class MsgReader { private ByteBuffer readAtLeast(int bytes) throws IOException { peerNetData = ioFilter.ensureWrappedCapacity(bytes, peerNetData, BufferPool.BufferType.TRACKED_RECEIVER); - return ioFilter.readAtLeast(conn.getSocket().getChannel(), bytes, peerNetData); + return ioFilter.readAtLeast(conn.getSocket().getChannel(), bytes, peerNetData, + conn.getConduit().getStats()); } public void close() { diff --git a/geode-core/src/test/java/org/apache/geode/internal/net/NioPlainEngineTest.java b/geode-core/src/test/java/org/apache/geode/internal/net/NioPlainEngineTest.java index e9785de..4b31500 100644 --- a/geode-core/src/test/java/org/apache/geode/internal/net/NioPlainEngineTest.java +++ b/geode-core/src/test/java/org/apache/geode/internal/net/NioPlainEngineTest.java @@ -117,14 +117,16 @@ public class NioPlainEngineTest { nioEngine.lastReadPosition = 10; - ByteBuffer data = nioEngine.readAtLeast(mockChannel, amountToRead, wrappedBuffer); + ByteBuffer data = nioEngine.readAtLeast(mockChannel, amountToRead, wrappedBuffer, + conn.getConduit().getStats()); verify(mockChannel, times(3)).read(isA(ByteBuffer.class)); assertThat(data.position()).isEqualTo(0); assertThat(data.limit()).isEqualTo(amountToRead); assertThat(nioEngine.lastReadPosition).isEqualTo(individualRead * 3 + preexistingBytes); assertThat(nioEngine.lastProcessedPosition).isEqualTo(amountToRead); - data = nioEngine.readAtLeast(mockChannel, amountToRead, wrappedBuffer); + data = nioEngine.readAtLeast(mockChannel, amountToRead, wrappedBuffer, + conn.getConduit().getStats()); verify(mockChannel, times(5)).read(any(ByteBuffer.class)); // at end of last readAtLeast data assertThat(data.position()).isEqualTo(amountToRead); @@ -148,7 +150,7 @@ public class NioPlainEngineTest { nioEngine.lastReadPosition = 10; - nioEngine.readAtLeast(mockChannel, amountToRead, wrappedBuffer); + nioEngine.readAtLeast(mockChannel, amountToRead, wrappedBuffer, conn.getConduit().getStats()); } } diff --git a/geode-core/src/test/java/org/apache/geode/internal/net/NioSslEngineTest.java b/geode-core/src/test/java/org/apache/geode/internal/net/NioSslEngineTest.java index e50b878..73b97ee 100644 --- a/geode-core/src/test/java/org/apache/geode/internal/net/NioSslEngineTest.java +++ b/geode-core/src/test/java/org/apache/geode/internal/net/NioSslEngineTest.java @@ -412,7 +412,8 @@ public class NioSslEngineTest { testSSLEngine.addReturnResult(new SSLEngineResult(OK, NEED_UNWRAP, 0, 0)); nioSslEngine.engine = testSSLEngine; - ByteBuffer data = nioSslEngine.readAtLeast(mockChannel, amountToRead, wrappedBuffer); + ByteBuffer data = nioSslEngine.readAtLeast(mockChannel, amountToRead, wrappedBuffer, + conn.getConduit().getStats()); verify(mockChannel, times(3)).read(isA(ByteBuffer.class)); assertThat(data.position()).isEqualTo(0); assertThat(data.limit()).isEqualTo(individualRead * 3 + preexistingBytes); @@ -456,7 +457,8 @@ public class NioSslEngineTest { new SSLEngineResult(OK, NEED_UNWRAP, 0, 0)); // 130 + 60 bytes = 190 nioSslEngine.engine = testSSLEngine; - ByteBuffer data = nioSslEngine.readAtLeast(mockChannel, amountToRead, wrappedBuffer); + ByteBuffer data = nioSslEngine.readAtLeast(mockChannel, amountToRead, wrappedBuffer, + conn.getConduit().getStats()); verify(mockChannel, times(3)).read(isA(ByteBuffer.class)); assertThat(data.position()).isEqualTo(0); assertThat(data.limit()).isEqualTo(individualRead * 3 + preexistingBytes); diff --git a/geode-cq/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/DurableClientTestCase.java b/geode-cq/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/DurableClientTestCase.java index d5cbf1b..353c39f 100755 --- a/geode-cq/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/DurableClientTestCase.java +++ b/geode-cq/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/DurableClientTestCase.java @@ -107,8 +107,6 @@ public class DurableClientTestCase extends DurableClientTestBase { // Verify that it is durable and its properties are correct assertThat(proxy.isDurable()).isTrue(); - System.out.println("BRUCE: durableClientId is " + durableClientId); - System.out.println("BRUCE: proxy durable id is " + proxy.getDurableId()); assertThat(durableClientId).isNotEqualTo(proxy.getDurableId()); /* diff --git a/geode-dunit/src/main/java/org/apache/geode/test/dunit/internal/DUnitLauncher.java b/geode-dunit/src/main/java/org/apache/geode/test/dunit/internal/DUnitLauncher.java index b532277..4bc3380 100644 --- a/geode-dunit/src/main/java/org/apache/geode/test/dunit/internal/DUnitLauncher.java +++ b/geode-dunit/src/main/java/org/apache/geode/test/dunit/internal/DUnitLauncher.java @@ -91,7 +91,7 @@ public class DUnitLauncher { /** * Number of VMs to use during initialization. */ - public static int NUM_VMS = 4; + public static int NUM_VMS = 1; /** * VM ID for the VM to use for the debugger.
