bookkeeper-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From zhai...@apache.org
Subject [bookkeeper] branch master updated: ISSUE #198: TestBackwardCompat.testCompat410 often fails due to io.netty.util.IllegalReferenceCountException
Date Fri, 30 Jun 2017 05:10:55 GMT
This is an automated email from the ASF dual-hosted git repository.

zhaijia pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new 1b0492b  ISSUE #198: TestBackwardCompat.testCompat410 often fails due to io.netty.util.IllegalReferenceCountException
1b0492b is described below

commit 1b0492bf2ac547cf583736d3eaf9849498e42f80
Author: Sijie Guo <sijie@apache.org>
AuthorDate: Fri Jun 30 13:10:42 2017 +0800

    ISSUE #198: TestBackwardCompat.testCompat410 often fails due to io.netty.util.IllegalReferenceCountException
    
    Descriptions of the changes in this PR:
    
    Problem:
    
    in TestBackwardCompat#testCompact400, the test is to verify the current client can't talk
to a 4.0.0 server.
    
    The 4.5.0 client is sending a protobuf encoded request to 4.0.0 server. The 4.0.0 server
will interpret the 4.5.0 protobuf encoded request, but it will realize this is bad request
and sending v2 protocol encoded response. because the request is a bad request, 4.0.0 server
sent a response back with unknown op code.
    
    In current v2 ResponseEnDecoder (listed as below), when it doesn't know the op code, it
will return the buffer to the channel. this might cause the misbehavior in the channel pipeline
to decrement reference count.
    
    Solution:
    
    throw exception in the EnDeCoder when receiving unknown op code. so the netty can close
the connection, error out the pending requests and cleaning up the resources.
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Matteo Merli <None>
    
    This closes #219 from sijie/issue_198, closes #198
---
 .../src/main/java/org/apache/bookkeeper/proto/BookieProtoEncoding.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieProtoEncoding.java
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieProtoEncoding.java
index e1ccabc..8988cc9 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieProtoEncoding.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieProtoEncoding.java
@@ -283,7 +283,7 @@ public class BookieProtoEncoding {
                 BookkeeperProtocol.AuthMessage am = builder.build();
                 return new BookieProtocol.AuthResponse(version, am);
             default:
-                return buffer;
+                throw new IllegalStateException("Received unknown response : op code = "
+ opCode);
             }
         }
     }

-- 
To stop receiving notification emails like this one, please contact
['"commits@bookkeeper.apache.org" <commits@bookkeeper.apache.org>'].

Mime
View raw message