Github user ivmaykov commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/669#discussion_r226756353
  
    --- Diff: 
zookeeper-common/src/main/java/org/apache/zookeeper/ClientCnxnSocketNetty.java 
---
    @@ -439,13 +466,34 @@ public void messageReceived(ChannelHandlerContext ctx,
                     }
                 }
                 wakeupCnxn();
    +            // Note: SimpleChannelInboundHandler releases the ByteBuf for 
us
    +            // so we don't need to do it.
             }
     
             @Override
    -        public void exceptionCaught(ChannelHandlerContext ctx,
    -                                    ExceptionEvent e) throws Exception {
    -            LOG.warn("Exception caught: {}", e, e.getCause());
    +        public void exceptionCaught(ChannelHandlerContext ctx, Throwable 
cause) {
    +            LOG.warn("Exception caught", cause);
                 cleanup();
             }
         }
    +
    +    /**
    +     * Sets the test ByteBufAllocator. This allocator will be used by all
    +     * future instances of this class.
    +     * It is not recommended to use this method outside of testing.
    +     * @param allocator the ByteBufAllocator to use for all netty buffer
    +     *                  allocations.
    +     */
    +    public static void setTestAllocator(ByteBufAllocator allocator) {
    +        TEST_ALLOCATOR.set(allocator);
    --- End diff --
    
    Sure, but that would only affect that client and would have no effect on 
the server. All clients are untrusted by default since they run on a computer 
you don't own :)
    
    I can look into using a mocking framework instead if you feel strongly 
about it.


---

Reply via email to