You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by gu...@apache.org on 2015/12/10 05:34:15 UTC

kafka git commit: KAFKA-2974; `==` is used incorrectly in a few places in Java code

Repository: kafka
Updated Branches:
  refs/heads/trunk f7fc28538 -> 6e5bd2497


KAFKA-2974; `==` is used incorrectly in a few places in Java code

A few issues found via static analysis.

Author: Edward Ribeiro <ed...@gmail.com>
Author: Ismael Juma <is...@juma.me.uk>

Reviewers: Gwen Shapira, Sriharsha Chintalapani, Guozhang Wang

Closes #652 from ijuma/use-equals-instead-of-==


Project: http://git-wip-us.apache.org/repos/asf/kafka/repo
Commit: http://git-wip-us.apache.org/repos/asf/kafka/commit/6e5bd249
Tree: http://git-wip-us.apache.org/repos/asf/kafka/tree/6e5bd249
Diff: http://git-wip-us.apache.org/repos/asf/kafka/diff/6e5bd249

Branch: refs/heads/trunk
Commit: 6e5bd2497af2b6bb67a47e4f3defa50da3cad4c7
Parents: f7fc285
Author: Edward Ribeiro <ed...@gmail.com>
Authored: Wed Dec 9 20:34:09 2015 -0800
Committer: Guozhang Wang <wa...@gmail.com>
Committed: Wed Dec 9 20:34:09 2015 -0800

----------------------------------------------------------------------
 .../kafka/common/security/kerberos/LoginManager.java  |  2 +-
 .../java/org/apache/kafka/clients/MockClient.java     | 14 +++++++-------
 .../kafka/clients/producer/internals/SenderTest.java  |  8 +++++++-
 .../org/apache/kafka/common/network/SelectorTest.java |  2 +-
 .../org/apache/kafka/connect/data/SchemaBuilder.java  |  2 +-
 5 files changed, 17 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kafka/blob/6e5bd249/clients/src/main/java/org/apache/kafka/common/security/kerberos/LoginManager.java
----------------------------------------------------------------------
diff --git a/clients/src/main/java/org/apache/kafka/common/security/kerberos/LoginManager.java b/clients/src/main/java/org/apache/kafka/common/security/kerberos/LoginManager.java
index ac31f9f..cf68d20 100644
--- a/clients/src/main/java/org/apache/kafka/common/security/kerberos/LoginManager.java
+++ b/clients/src/main/java/org/apache/kafka/common/security/kerberos/LoginManager.java
@@ -49,7 +49,7 @@ public class LoginManager {
     private static String getServiceName(String loginContext, Map<String, ?> configs) throws IOException {
         String jaasServiceName = JaasUtils.jaasConfig(loginContext, JaasUtils.SERVICE_NAME);
         String configServiceName = (String) configs.get(SaslConfigs.SASL_KERBEROS_SERVICE_NAME);
-        if (jaasServiceName != null && configServiceName != null && jaasServiceName != configServiceName) {
+        if (jaasServiceName != null && configServiceName != null && !jaasServiceName.equals(configServiceName)) {
             String message = "Conflicting serviceName values found in JAAS and Kafka configs " +
                 "value in JAAS file " + jaasServiceName + ", value in Kafka config " + configServiceName;
             throw new IllegalArgumentException(message);

http://git-wip-us.apache.org/repos/asf/kafka/blob/6e5bd249/clients/src/test/java/org/apache/kafka/clients/MockClient.java
----------------------------------------------------------------------
diff --git a/clients/src/test/java/org/apache/kafka/clients/MockClient.java b/clients/src/test/java/org/apache/kafka/clients/MockClient.java
index 2726e87..1c3efd4 100644
--- a/clients/src/test/java/org/apache/kafka/clients/MockClient.java
+++ b/clients/src/test/java/org/apache/kafka/clients/MockClient.java
@@ -57,7 +57,7 @@ public class MockClient implements KafkaClient {
     private final Time time;
     private int correlation = 0;
     private Node node = null;
-    private final Set<Integer> ready = new HashSet<>();
+    private final Set<String> ready = new HashSet<>();
     private final Queue<ClientRequest> requests = new ArrayDeque<>();
     private final Queue<ClientResponse> responses = new ArrayDeque<>();
     private final Queue<FutureResponse> futureResponses = new ArrayDeque<>();
@@ -68,12 +68,12 @@ public class MockClient implements KafkaClient {
 
     @Override
     public boolean isReady(Node node, long now) {
-        return ready.contains(node.id());
+        return ready.contains(node.idString());
     }
 
     @Override
     public boolean ready(Node node, long now) {
-        ready.add(node.id());
+        ready.add(node.idString());
         return true;
     }
 
@@ -92,7 +92,7 @@ public class MockClient implements KafkaClient {
         Iterator<ClientRequest> iter = requests.iterator();
         while (iter.hasNext()) {
             ClientRequest request = iter.next();
-            if (request.request().destination() == node) {
+            if (request.request().destination().equals(node)) {
                 responses.add(new ClientResponse(request, now, true, null));
                 iter.remove();
             }
@@ -180,7 +180,7 @@ public class MockClient implements KafkaClient {
     }
 
     @Override
-    public int inFlightRequestCount(String nodeId) {
+    public int inFlightRequestCount(String node) {
         return requests.size();
     }
 
@@ -203,8 +203,8 @@ public class MockClient implements KafkaClient {
     }
 
     @Override
-    public void close(String nodeId) {
-        ready.remove(Integer.valueOf(nodeId));
+    public void close(String node) {
+        ready.remove(node);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/kafka/blob/6e5bd249/clients/src/test/java/org/apache/kafka/clients/producer/internals/SenderTest.java
----------------------------------------------------------------------
diff --git a/clients/src/test/java/org/apache/kafka/clients/producer/internals/SenderTest.java b/clients/src/test/java/org/apache/kafka/clients/producer/internals/SenderTest.java
index dc61fc2..14a839b 100644
--- a/clients/src/test/java/org/apache/kafka/clients/producer/internals/SenderTest.java
+++ b/clients/src/test/java/org/apache/kafka/clients/producer/internals/SenderTest.java
@@ -14,6 +14,7 @@ package org.apache.kafka.clients.producer.internals;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.fail;
 
 import java.util.Collections;
@@ -27,6 +28,7 @@ import org.apache.kafka.clients.MockClient;
 import org.apache.kafka.clients.producer.RecordMetadata;
 import org.apache.kafka.common.Cluster;
 import org.apache.kafka.common.MetricName;
+import org.apache.kafka.common.Node;
 import org.apache.kafka.common.TopicPartition;
 import org.apache.kafka.common.metrics.KafkaMetric;
 import org.apache.kafka.common.metrics.MetricConfig;
@@ -142,9 +144,13 @@ public class SenderTest {
             Future<RecordMetadata> future = accumulator.append(tp, "key".getBytes(), "value".getBytes(), null, MAX_BLOCK_TIMEOUT).future;
             sender.run(time.milliseconds()); // connect
             sender.run(time.milliseconds()); // send produce request
+            String id = client.requests().peek().request().destination();
+            Node node = new Node(Integer.valueOf(id), "localhost", 0);
             assertEquals(1, client.inFlightRequestCount());
-            client.disconnect(client.requests().peek().request().destination());
+            assertTrue("Client ready status should be true", client.isReady(node, 0L));
+            client.disconnect(id);
             assertEquals(0, client.inFlightRequestCount());
+            assertFalse("Client ready status should be false", client.isReady(node, 0L));
             sender.run(time.milliseconds()); // receive error
             sender.run(time.milliseconds()); // reconnect
             sender.run(time.milliseconds()); // resend

http://git-wip-us.apache.org/repos/asf/kafka/blob/6e5bd249/clients/src/test/java/org/apache/kafka/common/network/SelectorTest.java
----------------------------------------------------------------------
diff --git a/clients/src/test/java/org/apache/kafka/common/network/SelectorTest.java b/clients/src/test/java/org/apache/kafka/common/network/SelectorTest.java
index bce74e1..0e5db8c 100644
--- a/clients/src/test/java/org/apache/kafka/common/network/SelectorTest.java
+++ b/clients/src/test/java/org/apache/kafka/common/network/SelectorTest.java
@@ -268,7 +268,7 @@ public class SelectorTest {
         while (true) {
             selector.poll(1000L);
             for (NetworkReceive receive : selector.completedReceives())
-                if (receive.source() == node)
+                if (receive.source().equals(node))
                     return asString(receive);
         }
     }

http://git-wip-us.apache.org/repos/asf/kafka/blob/6e5bd249/connect/api/src/main/java/org/apache/kafka/connect/data/SchemaBuilder.java
----------------------------------------------------------------------
diff --git a/connect/api/src/main/java/org/apache/kafka/connect/data/SchemaBuilder.java b/connect/api/src/main/java/org/apache/kafka/connect/data/SchemaBuilder.java
index b063c51..3d2f5cc 100644
--- a/connect/api/src/main/java/org/apache/kafka/connect/data/SchemaBuilder.java
+++ b/connect/api/src/main/java/org/apache/kafka/connect/data/SchemaBuilder.java
@@ -338,7 +338,7 @@ public class SchemaBuilder implements Schema {
         if (type != Type.STRUCT)
             throw new DataException("Cannot look up fields on non-struct type");
         for (Field field : fields)
-            if (field.name() == fieldName)
+            if (field.name().equals(fieldName))
                 return field;
         return null;
     }