This is an automated email from the ASF dual-hosted git repository. onichols pushed a commit to branch release/1.9.1 in repository https://gitbox.apache.org/repos/asf/geode.git
commit 7b956f5653a67906ef2f6f86d683242ed5096052 Author: Bruce Schuchardt <[email protected]> AuthorDate: Thu Jun 27 14:34:58 2019 -0700 Revert "GEODE-6389 CI Failure: ConcurrentWANPropagation_1_DUnitTest.testReplicatedSerialPropagation_withoutRemoteSite" This reverts commit 71dacf6a6f8de535c07be4584ee3d054a41b10e3. --- .../org/apache/geode/internal/net/NioPlainEngine.java | 7 +------ .../org/apache/geode/internal/net/NioSslEngine.java | 10 +++------- .../org/apache/geode/internal/tcp/Connection.java | 19 +++---------------- .../java/org/apache/geode/internal/tcp/MsgReader.java | 13 ++++++------- 4 files changed, 13 insertions(+), 36 deletions(-) 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 8a3e3fb..972c854 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 @@ -55,12 +55,7 @@ public class NioPlainEngine implements NioFilter { Buffers.BufferType bufferType, DMStats stats) { ByteBuffer buffer = wrappedBuffer; - if (buffer == null) { - buffer = Buffers.acquireBuffer(bufferType, amount, stats); - buffer.clear(); - lastProcessedPosition = 0; - lastReadPosition = 0; - } else if (buffer.capacity() > amount) { + if (buffer.capacity() > amount) { // we already have a buffer that's big enough if (buffer.capacity() - lastProcessedPosition < amount) { buffer.limit(lastReadPosition); 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 dd71d75..14c32fa 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 @@ -311,14 +311,10 @@ public class NioSslEngine implements NioFilter { @Override public ByteBuffer ensureWrappedCapacity(int amount, ByteBuffer wrappedBuffer, Buffers.BufferType bufferType, DMStats stats) { - ByteBuffer buffer = wrappedBuffer; - int requiredSize = engine.getSession().getPacketBufferSize(); - if (buffer == null) { - buffer = Buffers.acquireBuffer(bufferType, requiredSize, stats); - } else if (buffer.capacity() < requiredSize) { - buffer = Buffers.expandWriteBufferIfNeeded(bufferType, buffer, requiredSize, stats); + if (wrappedBuffer == null) { + wrappedBuffer = Buffers.acquireBuffer(bufferType, amount, stats); } - return buffer; + return wrappedBuffer; } @Override 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 e659496..7fcbee5 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 @@ -779,6 +779,8 @@ public class Connection implements Runnable { // we do the close in a background thread because the operation may hang if // there is a problem with the network. See bug #46659 + releaseInputBuffer(); + // if simulating sickness, sockets must be closed in-line so that tests know // that the vm is sick when the beSick operation completes if (beingSickForTests) { @@ -1446,11 +1448,6 @@ public class Connection implements Runnable { } // make sure our socket is closed asyncClose(false); - if (!this.isReceiver) { - // receivers release the input buffer when exiting run(). Senders use the - // inputBuffer for reading direct-reply responses - releaseInputBuffer(); - } lengthSet = false; } // synchronized @@ -1588,14 +1585,7 @@ public class Connection implements Runnable { } asyncClose(false); this.owner.removeAndCloseThreadOwnedSockets(); - } else { - if (getConduit().useSSL()) { - ByteBuffer buffer = ioFilter.getUnwrappedBuffer(inputBuffer); - buffer.position(0).limit(0); - } } - releaseInputBuffer(); - // make sure that if the reader thread exits we notify a thread waiting // for the handshake. // see bug 37524 for an example of listeners hung in waitForHandshake @@ -2838,7 +2828,7 @@ public class Connection implements Runnable { DMStats stats = owner.getConduit().getStats(); final Version version = getRemoteVersion(); try { - msgReader = new MsgReader(this, ioFilter, version); + msgReader = new MsgReader(this, ioFilter, getInputBuffer(), version); Header header = msgReader.readHeader(); @@ -2913,9 +2903,6 @@ public class Connection implements Runnable { getRemoteAddress()); this.ackTimedOut = false; } - if (msgReader != null) { - msgReader.close(); - } } synchronized (stateLock) { this.connectionState = STATE_RECEIVED_ACK; 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 afb0272..adf0305 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 @@ -46,9 +46,14 @@ public class MsgReader { - MsgReader(Connection conn, NioFilter nioFilter, Version version) { + MsgReader(Connection conn, NioFilter nioFilter, ByteBuffer peerNetData, Version version) { this.conn = conn; this.ioFilter = nioFilter; + this.peerNetData = peerNetData; + if (conn.getConduit().useSSL()) { + ByteBuffer buffer = ioFilter.getUnwrappedBuffer(peerNetData); + buffer.position(0).limit(0); + } this.byteBufferInputStream = version == null ? new ByteBufferInputStream() : new VersionedByteBufferInputStream(version); } @@ -129,12 +134,6 @@ public class MsgReader { return ioFilter.readAtLeast(conn.getSocket().getChannel(), bytes, peerNetData, getStats()); } - public void close() { - if (peerNetData != null) { - Buffers.releaseReceiveBuffer(peerNetData, getStats()); - } - } - private DMStats getStats() {
