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 2019/02/14 17:21:14 UTC

[geode] branch develop updated: GEODE-6389 CI Failure: ConcurrentWANPropagation_1_DUnitTest.testReplicatedSerialPropagation

This is an automated email from the ASF dual-hosted git repository.

bschuchardt pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new dd6cde7  GEODE-6389 CI Failure: ConcurrentWANPropagation_1_DUnitTest.testReplicatedSerialPropagation
dd6cde7 is described below

commit dd6cde77787b7922f16c6b42a0b6ce9ce874b025
Author: Bruce Schuchardt <bs...@pivotal.io>
AuthorDate: Wed Feb 13 16:03:29 2019 -0800

    GEODE-6389 CI Failure: ConcurrentWANPropagation_1_DUnitTest.testReplicatedSerialPropagation
    
    I found a place where we were releasing pooled buffers twice.  The place
    to release the buffer is in asyncClose but we were also doing it just
    after calling that method in the run() method if the connection wasn't
    thread-owned.  Both GEODE-6389 and GEODE-6377 were using
    conserve-sockets=true so I think this is the source of the problem.
    
    The GEODE-6389 failure, in particular, could only have come from
    improper use of the buffer pool because it occured in a MessageStreamer
    and they don't involve multithreaded use of a buffer.
---
 .../src/main/java/org/apache/geode/internal/net/SocketCloser.java     | 2 +-
 .../src/main/java/org/apache/geode/internal/tcp/Connection.java       | 4 ----
 2 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/geode-core/src/main/java/org/apache/geode/internal/net/SocketCloser.java b/geode-core/src/main/java/org/apache/geode/internal/net/SocketCloser.java
index cfa3991..f083d50 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/net/SocketCloser.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/net/SocketCloser.java
@@ -169,7 +169,7 @@ public class SocketCloser {
    *
    * @param socket the socket to close
    * @param address identifies who the socket is connected to
-   * @param extra an optional Runnable with stuff to execute in the async thread
+   * @param extra an optional Runnable with stuff to execute before the socket is closed
    */
   public void asyncClose(final Socket socket, final String address, final Runnable extra) {
     if (socket == null || socket.isClosed()) {
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 71b37a3..ae4f675 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
@@ -1584,10 +1584,6 @@ public class Connection implements Runnable {
         }
         asyncClose(false);
         this.owner.removeAndCloseThreadOwnedSockets();
-
-        if (this.isSharedResource()) {
-          releaseInputBuffer();
-        }
       }
       // make sure that if the reader thread exits we notify a thread waiting
       // for the handshake.