kafka-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ij...@apache.org
Subject [kafka] branch trunk updated: MINOR: Recommend Java 11 (#9080)
Date Sun, 26 Jul 2020 19:26:05 GMT
This is an automated email from the ASF dual-hosted git repository.

ijuma pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 6004ee9  MINOR: Recommend Java 11 (#9080)
6004ee9 is described below

commit 6004ee9f2283163b0a36a38f41c717bd16973c0b
Author: Ismael Juma <ismael@juma.me.uk>
AuthorDate: Sun Jul 26 12:25:30 2020 -0700

    MINOR: Recommend Java 11 (#9080)
    
    Java 11 has been recommended for a while, but the ops section had not been updated.
    Also added `-XX:+ExplicitGCInvokesConcurrent` which has been in `kafka-run-class`
    for a while. Finally, tweaked the text slightly to read better.
    
    Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>
---
 docs/ops.html | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/docs/ops.html b/docs/ops.html
index 765c198..931d2b2 100644
--- a/docs/ops.html
+++ b/docs/ops.html
@@ -680,16 +680,20 @@
 
   <h3><a id="java" href="#java">6.4 Java Version</a></h3>
 
-  From a security perspective, we recommend you use the latest released version of JDK 1.8
as older freely available versions have disclosed security vulnerabilities.
+  Java 8 and Java 11 are supported. Java 11 performs significantly better if TLS is enabled,
so it is highly recommended (it also includes a number of other
+  performance improvements: G1GC, CRC32C, Compact Strings, Thread-Local Handshakes and more).
+  
+  From a security perspective, we recommend the latest released patch version as older freely
available versions have disclosed security vulnerabilities.
 
-  At the time this is written, LinkedIn is running JDK 1.8 u5 (looking to upgrade to a newer
version) with the G1 collector. LinkedIn's tuning looks like this:
+  Typical arguments for running Kafka with OpenJDK-based Java implementations (including
Oracle JDK) are:
+  
   <pre class="brush: text;">
   -Xmx6g -Xms6g -XX:MetaspaceSize=96m -XX:+UseG1GC
   -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M
-  -XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80
+  -XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80 -XX:+ExplicitGCInvokesConcurrent
   </pre>
 
-  For reference, here are the stats on one of LinkedIn's busiest clusters (at peak):
+  For reference, here are the stats for one of LinkedIn's busiest clusters (at peak) that
uses said Java arguments:
   <ul>
       <li>60 brokers</li>
       <li>50k partitions (replication factor 2)</li>
@@ -697,7 +701,7 @@
       <li>300 MB/sec inbound, 1 GB/sec+ outbound</li>
   </ul>
 
-  The tuning looks fairly aggressive, but all of the brokers in that cluster have a 90% GC
pause time of about 21ms, and they're doing less than 1 young GC per second.
+  All of the brokers in that cluster have a 90% GC pause time of about 21ms with less than
1 young GC per second.
 
   <h3><a id="hwandos" href="#hwandos">6.5 Hardware and OS</a></h3>
   We are using dual quad-core Intel Xeon machines with 24GB of memory.


Mime
View raw message