You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by gw...@apache.org on 2020/10/13 21:54:50 UTC

[kafka] branch 2.7 updated: MINOR internal KIP-629 changes to methods and variables

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

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


The following commit(s) were added to refs/heads/2.7 by this push:
     new 608b784  MINOR internal KIP-629 changes to methods and variables
608b784 is described below

commit 608b7847a9df8a1ce445b7a03b7114bbf9a88f75
Author: Xavier Léauté <xv...@apache.org>
AuthorDate: Tue Oct 13 14:52:04 2020 -0700

    MINOR internal KIP-629 changes to methods and variables
    
    cc gwenshap
    
    Author: Xavier Léauté <xv...@apache.org>
    
    Reviewers: Gwen Shapira
    
    Closes #9405 from xvrl/minor-kip-629-vars
    
    (cherry picked from commit 26e9058aa0426102117aa00f1bbb41fae66ff4ed)
    Signed-off-by: Gwen Shapira <cs...@gmail.com>
---
 .../kafka/connect/runtime/isolation/PluginUtils.java |  8 ++++----
 .../kafka/connect/util/SafeObjectInputStream.java    |  4 ++--
 .../runtime/isolation/DelegatingClassLoaderTest.java |  2 +-
 core/src/main/scala/kafka/tools/JmxTool.scala        | 20 ++++++++++----------
 4 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/isolation/PluginUtils.java b/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/isolation/PluginUtils.java
index 0e7b762..8b21e73 100644
--- a/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/isolation/PluginUtils.java
+++ b/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/isolation/PluginUtils.java
@@ -44,7 +44,7 @@ public class PluginUtils {
     private static final Logger log = LoggerFactory.getLogger(PluginUtils.class);
 
     // Be specific about javax packages and exclude those existing in Java SE and Java EE libraries.
-    private static final Pattern BLACKLIST = Pattern.compile("^(?:"
+    private static final Pattern EXCLUDE = Pattern.compile("^(?:"
             + "java"
             + "|javax\\.accessibility"
             + "|javax\\.activation"
@@ -125,9 +125,9 @@ public class PluginUtils {
 
     // If the base interface or class that will be used to identify Connect plugins resides within
     // the same java package as the plugins that need to be loaded in isolation (and thus are
-    // added to the WHITELIST), then this base interface or class needs to be excluded in the
+    // added to the INCLUDE pattern), then this base interface or class needs to be excluded in the
     // regular expression pattern
-    private static final Pattern WHITELIST = Pattern.compile("^org\\.apache\\.kafka\\.(?:connect\\.(?:"
+    private static final Pattern INCLUDE = Pattern.compile("^org\\.apache\\.kafka\\.(?:connect\\.(?:"
             + "transforms\\.(?!Transformation|predicates\\.Predicate$).*"
             + "|json\\..*"
             + "|file\\..*"
@@ -158,7 +158,7 @@ public class PluginUtils {
      * @return true if this class should be loaded in isolation, false otherwise.
      */
     public static boolean shouldLoadInIsolation(String name) {
-        return !(BLACKLIST.matcher(name).matches() && !WHITELIST.matcher(name).matches());
+        return !(EXCLUDE.matcher(name).matches() && !INCLUDE.matcher(name).matches());
     }
 
     /**
diff --git a/connect/runtime/src/main/java/org/apache/kafka/connect/util/SafeObjectInputStream.java b/connect/runtime/src/main/java/org/apache/kafka/connect/util/SafeObjectInputStream.java
index b5c4c25..0ad3889 100644
--- a/connect/runtime/src/main/java/org/apache/kafka/connect/util/SafeObjectInputStream.java
+++ b/connect/runtime/src/main/java/org/apache/kafka/connect/util/SafeObjectInputStream.java
@@ -52,14 +52,14 @@ public class SafeObjectInputStream extends ObjectInputStream {
     protected Class<?> resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException {
         String name = desc.getName();
 
-        if (isBlacklisted(name)) {
+        if (isBlocked(name)) {
             throw new SecurityException("Illegal type to deserialize: prevented for security reasons");
         }
 
         return super.resolveClass(desc);
     }
 
-    private boolean isBlacklisted(String name) {
+    private boolean isBlocked(String name) {
         for (String list : DEFAULT_NO_DESERIALIZE_CLASS_NAMES) {
             if (name.endsWith(list)) {
                 return true;
diff --git a/connect/runtime/src/test/java/org/apache/kafka/connect/runtime/isolation/DelegatingClassLoaderTest.java b/connect/runtime/src/test/java/org/apache/kafka/connect/runtime/isolation/DelegatingClassLoaderTest.java
index c7426ca..757a437 100644
--- a/connect/runtime/src/test/java/org/apache/kafka/connect/runtime/isolation/DelegatingClassLoaderTest.java
+++ b/connect/runtime/src/test/java/org/apache/kafka/connect/runtime/isolation/DelegatingClassLoaderTest.java
@@ -36,7 +36,7 @@ public class DelegatingClassLoaderTest {
     public TemporaryFolder pluginDir = new TemporaryFolder();
 
     @Test
-    public void testWhiteListedManifestResources() {
+    public void testPermittedManifestResources() {
         assertTrue(
             DelegatingClassLoader.serviceLoaderManifestForPlugin("META-INF/services/org.apache.kafka.connect.rest.ConnectRestExtension"));
         assertTrue(
diff --git a/core/src/main/scala/kafka/tools/JmxTool.scala b/core/src/main/scala/kafka/tools/JmxTool.scala
index b696a12..f7ace83 100644
--- a/core/src/main/scala/kafka/tools/JmxTool.scala
+++ b/core/src/main/scala/kafka/tools/JmxTool.scala
@@ -51,7 +51,7 @@ object JmxTool extends Logging {
         .describedAs("name")
         .ofType(classOf[String])
     val attributesOpt =
-      parser.accepts("attributes", "The whitelist of attributes to query. This is a comma-separated list. If no " +
+      parser.accepts("attributes", "The list of attributes to include in the query. This is a comma-separated list. If no " +
         "attributes are specified all objects will be queried.")
         .withRequiredArg
         .describedAs("name")
@@ -111,8 +111,8 @@ object JmxTool extends Logging {
     val url = new JMXServiceURL(options.valueOf(jmxServiceUrlOpt))
     val interval = options.valueOf(reportingIntervalOpt).intValue
     val oneTime = interval < 0 || options.has(oneTimeOpt)
-    val attributesWhitelistExists = options.has(attributesOpt)
-    val attributesWhitelist = if(attributesWhitelistExists) Some(options.valueOf(attributesOpt).split(",").filterNot(_.equals(""))) else None
+    val attributesIncludeExists = options.has(attributesOpt)
+    val attributesInclude = if(attributesIncludeExists) Some(options.valueOf(attributesOpt).split(",").filterNot(_.equals(""))) else None
     val dateFormatExists = options.has(dateFormatOpt)
     val dateFormat = if(dateFormatExists) Some(new SimpleDateFormat(options.valueOf(dateFormatOpt))) else None
     val wait = options.has(waitOpt)
@@ -190,7 +190,7 @@ object JmxTool extends Logging {
     }
 
     val numExpectedAttributes: Map[ObjectName, Int] =
-      if (!attributesWhitelistExists)
+      if (!attributesIncludeExists)
         names.map{name: ObjectName =>
           val mbean = mbsc.getMBeanInfo(name)
           (name, mbsc.getAttributes(name, mbean.getAttributes.map(_.getName)).size)}.toMap
@@ -200,10 +200,10 @@ object JmxTool extends Logging {
             val mbean = mbsc.getMBeanInfo(name)
             val attributes = mbsc.getAttributes(name, mbean.getAttributes.map(_.getName))
             val expectedAttributes = attributes.asScala.asInstanceOf[mutable.Buffer[Attribute]]
-              .filter(attr => attributesWhitelist.get.contains(attr.getName))
+              .filter(attr => attributesInclude.get.contains(attr.getName))
             (name, expectedAttributes.size)}.toMap.filter(_._2 > 0)
         else
-          queries.map((_, attributesWhitelist.get.length)).toMap
+          queries.map((_, attributesInclude.get.length)).toMap
       }
 
     if(numExpectedAttributes.isEmpty) {
@@ -211,7 +211,7 @@ object JmxTool extends Logging {
     }
 
     // print csv header
-    val keys = List("time") ++ queryAttributes(mbsc, names, attributesWhitelist).keys.toArray.sorted
+    val keys = List("time") ++ queryAttributes(mbsc, names, attributesInclude).keys.toArray.sorted
     if(reportFormatOriginal && keys.size == numExpectedAttributes.values.sum + 1) {
       println(keys.map("\"" + _ + "\"").mkString(","))
     }
@@ -219,7 +219,7 @@ object JmxTool extends Logging {
     var keepGoing = true
     while (keepGoing) {
       val start = System.currentTimeMillis
-      val attributes = queryAttributes(mbsc, names, attributesWhitelist)
+      val attributes = queryAttributes(mbsc, names, attributesInclude)
       attributes("time") = dateFormat match {
         case Some(dFormat) => dFormat.format(new Date)
         case None => System.currentTimeMillis().toString
@@ -249,13 +249,13 @@ object JmxTool extends Logging {
     }
   }
 
-  def queryAttributes(mbsc: MBeanServerConnection, names: Iterable[ObjectName], attributesWhitelist: Option[Array[String]]): mutable.Map[String, Any] = {
+  def queryAttributes(mbsc: MBeanServerConnection, names: Iterable[ObjectName], attributesInclude: Option[Array[String]]): mutable.Map[String, Any] = {
     val attributes = new mutable.HashMap[String, Any]()
     for (name <- names) {
       val mbean = mbsc.getMBeanInfo(name)
       for (attrObj <- mbsc.getAttributes(name, mbean.getAttributes.map(_.getName)).asScala) {
         val attr = attrObj.asInstanceOf[Attribute]
-        attributesWhitelist match {
+        attributesInclude match {
           case Some(allowedAttributes) =>
             if (allowedAttributes.contains(attr.getName))
               attributes(name.toString + ":" + attr.getName) = attr.getValue