[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-11-22 Thread anmolnar
Github user anmolnar commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
Merged to master branch. Thanks @ivmaykov !


---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-11-15 Thread ivmaykov
Github user ivmaykov commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
@anmolnar does anything else need to be done with this PR before it can be 
merged?


---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-11-06 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2603/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-11-05 Thread ivmaykov
Github user ivmaykov commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
@maoling it will be hard to do perf comparison of netty3 vs netty4 for us 
because we are currently using the NIO transports, and we don't plan on 
switching to netty3 in production. Comparing NIO vs netty4 is kind of 
apples-and-oranges. A quick perf test with this patch showed that NIO to netty4 
did not result in any obvious performance regressions, so I think we can say 
they are at least comparable :)


---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-11-05 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2588/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-11-05 Thread ivmaykov
Github user ivmaykov commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
Rebase, update localAddress after accepting connection and log it


---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-11-04 Thread maoling
Github user maoling commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
find a 
[blog](https://blog.twitter.com/engineering/en_us/a/2013/netty-4-at-twitter-reduced-gc-overhead.html)
 about the twitter's practice of moving netty3 to netty4 for Finagle.it 
couldn't be better to give a benchmark like this:

> 5 times less frequent GC pauses: 45.5 vs. 9.2 times/min
> 5 times less garbage production: 207.11 vs 41.81 MiB/s


---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-11-01 Thread ivmaykov
Github user ivmaykov commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
@normanmaurer a review from you would be very much appreciated! I bought 
your book (Netty in Action) which helped me quite a bit :) This is the version 
of the code we've been testing on a real cluster, so I think it is pretty ready 
for review. There may be some minor changes still coming, but nothing 
significant.


---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-31 Thread normanmaurer
Github user normanmaurer commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
Also @eolivelli 


---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-31 Thread normanmaurer
Github user normanmaurer commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
@ivmaykov I would be have to review your code changes once you think these 
are ready. While I don't know a lot about Zookeeper internals I know a few 
things about Netty ;) Just ping me please


---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-26 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2528/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-24 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2496/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-24 Thread ivmaykov
Github user ivmaykov commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
Fixed various issues in netty code


---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-22 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2484/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-22 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2485/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-22 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2483/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-22 Thread ivmaykov
Github user ivmaykov commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
Cleaner Epoll/Nio selection code


---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-22 Thread ivmaykov
Github user ivmaykov commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
@eolivelli use `voidPromise()` to avoid allocations when writing to channel


---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-22 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2482/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-22 Thread ivmaykov
Github user ivmaykov commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
@eolivelli changes you requested:
- use Epoll if available
- if (LOG.isDebugEnabled()) around complex LOG.debug() statements
- use netty-all artifact

Haven't looked into voidPromise() yet.


---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-21 Thread eolivelli
Github user eolivelli commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
@maoling there is no generic benchmarks.

For instance in Bookkeeper we switched to Netty 4 and now we are able to 
leverage all the cool stuff about memory and so we are able to be more 
efficient.

Overall by default Netty4 will prefer using off heap memory, this is about 
being able to do as few as possible memory copies while passing data to the SO.

The simple switch may or may not make overall performance better or even 
worse. There will be knobs to tune.

Netty 3 is almost obsolete and IMHO it is better to stay on the latest and 
greatest. Netty4 project is very active.

Another topic will be about refcounting, Netty4 enables even Java programs 
to work easy with direct memory and with heap memory and provides very 
efficient ways to pool memory and java objects (see the Recycler facility).

So I think this is only the beginning of this journey



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-21 Thread maoling
Github user maoling commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
- where can we find a benchmark comparing netty4 vs netty3?I am testing the 
perfermance
- saw many use cases facing memory leak when migrate netty3 to netty4 for 
misunderstading the netty4 new desigin,worry about this.


---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-20 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2480/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-20 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2479/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-20 Thread eolivelli
Github user eolivelli commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
@ivmaykov I answered to all of your comments.
I expect this to be the very first step.

Coming with Netty 4 it is more easier to reduce memory allocations, 
expecially on the hot paths. I expect in the future that we will introduce a 
lot of tricks and techniques to leverage all the potential of Netty


---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-19 Thread ivmaykov
Github user ivmaykov commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
@eolivelli thanks so much for the review! See my responses inline.


---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-19 Thread enixon
Github user enixon commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
@eolivelli , good find with EPoll.  :)

When @ivmaykov first mentioned using EPoll to me as a potential 
optimization, I recommended leaving it for later so we would do the reviewers a 
favor and keep the complexity of this pull request relatively low. We do think 
it's the right implementation to use here, the only question is where/when to 
make that contribution.



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-18 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2473/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-16 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2463/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-15 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2444/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-15 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2445/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-15 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2443/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-15 Thread enixon
Github user enixon commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
@ivmaykov (or anyone with a stack overflow account, really), do you want to 
tag a pointer to this PR with 'netty' on stack overflow (as per 
https://netty.io/community.html) and see if any of the project experts want to 
weigh in on this port?



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-15 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2442/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-15 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2441/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-15 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2439/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-15 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/zookeeper/pull/669
  

Refer to this link for build results (access rights to CI server needed): 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/2438/



---


[GitHub] zookeeper issue #669: ZOOKEEPER-3152: Port ZK netty stack to netty4

2018-10-15 Thread ivmaykov
Github user ivmaykov commented on the issue:

https://github.com/apache/zookeeper/pull/669
  
@dain take a look at the changes I made to airlift's test ByteBuf 
allocator. With these changes, we (sometimes) get leak details printed to 
stderr if a ByteBuf leaks, before the test crashes. Feel free to incorporate 
the approach into airlift if you want.


---