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 2018/05/04 23:35:25 UTC

[kafka] branch trunk updated: MINOR: Remove KafkaStreams#toString (#4909)

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

guozhang 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 564311f  MINOR: Remove KafkaStreams#toString (#4909)
564311f is described below

commit 564311f5cdedd63fa03052368c321db5ce15dc4f
Author: Guozhang Wang <wa...@gmail.com>
AuthorDate: Fri May 4 16:35:17 2018 -0700

    MINOR: Remove KafkaStreams#toString (#4909)
    
    Remove the deprecated KafkaStreams#toString function. Also override toString() for internal classes for debugging purposes.
    
    Reviewers: Bill Bejeck <bi...@confluent.io>, Damian Guy <da...@confluent.io>, Matthias J. Sax <ma...@confluent.io>
---
 .../org/apache/kafka/streams/KafkaStreams.java     | 40 ----------------------
 .../streams/processor/internals/AbstractTask.java  |  8 ++---
 .../streams/processor/internals/AssignedTasks.java |  5 +++
 .../processor/internals/StreamsMetadataState.java  | 15 ++++++++
 .../streams/processor/internals/TaskManager.java   | 14 ++++++++
 .../org/apache/kafka/streams/KafkaStreamsTest.java | 13 -------
 6 files changed, 38 insertions(+), 57 deletions(-)

diff --git a/streams/src/main/java/org/apache/kafka/streams/KafkaStreams.java b/streams/src/main/java/org/apache/kafka/streams/KafkaStreams.java
index 56d031b..d656181 100644
--- a/streams/src/main/java/org/apache/kafka/streams/KafkaStreams.java
+++ b/streams/src/main/java/org/apache/kafka/streams/KafkaStreams.java
@@ -922,46 +922,6 @@ public class KafkaStreams {
     }
 
     /**
-     * Produce a string representation containing useful information about this {@code KafkaStream} instance such as
-     * thread IDs, task IDs, and a representation of the topology DAG including {@link StateStore}s (cf.
-     * {@link Topology} and {@link StreamsBuilder}).
-     *
-     * @return A string representation of the Kafka Streams instance.
-     *
-     * @deprecated Use {@link #localThreadsMetadata()} to retrieve runtime information.
-     */
-    @Override
-    @Deprecated
-    public String toString() {
-        return toString("");
-    }
-
-    /**
-     * Produce a string representation containing useful information about this {@code KafkaStream} instance such as
-     * thread IDs, task IDs, and a representation of the topology DAG including {@link StateStore}s (cf.
-     * {@link Topology} and {@link StreamsBuilder}).
-     *
-     * @param indent the top-level indent for each line
-     * @return A string representation of the Kafka Streams instance.
-     *
-     * @deprecated Use {@link #localThreadsMetadata()} to retrieve runtime information.
-     */
-    @Deprecated
-    public String toString(final String indent) {
-        final StringBuilder sb = new StringBuilder()
-            .append(indent)
-            .append("KafkaStreams processID: ")
-            .append(processId)
-            .append("\n");
-        for (final StreamThread thread : threads) {
-            sb.append(thread.toString(indent + "\t"));
-        }
-        sb.append("\n");
-
-        return sb.toString();
-    }
-
-    /**
      * Do a clean up of the local {@link StateStore} directory ({@link StreamsConfig#STATE_DIR_CONFIG}) by deleting all
      * data with regard to the {@link StreamsConfig#APPLICATION_ID_CONFIG application ID}.
      * <p>
diff --git a/streams/src/main/java/org/apache/kafka/streams/processor/internals/AbstractTask.java b/streams/src/main/java/org/apache/kafka/streams/processor/internals/AbstractTask.java
index bbdb349..02a1a06 100644
--- a/streams/src/main/java/org/apache/kafka/streams/processor/internals/AbstractTask.java
+++ b/streams/src/main/java/org/apache/kafka/streams/processor/internals/AbstractTask.java
@@ -127,7 +127,7 @@ public abstract class AbstractTask implements Task {
     }
 
     /**
-     * Produces a string representation containing useful information about a StreamTask.
+     * Produces a string representation containing useful information about a Task.
      * This is useful in debugging scenarios.
      *
      * @return A string representation of the StreamTask instance.
@@ -138,15 +138,15 @@ public abstract class AbstractTask implements Task {
     }
 
     /**
-     * Produces a string representation containing useful information about a StreamTask starting with the given indent.
+     * Produces a string representation containing useful information about a Task starting with the given indent.
      * This is useful in debugging scenarios.
      *
-     * @return A string representation of the StreamTask instance.
+     * @return A string representation of the Task instance.
      */
     public String toString(final String indent) {
         final StringBuilder sb = new StringBuilder();
         sb.append(indent);
-        sb.append("StreamsTask taskId: ");
+        sb.append("TaskId: ");
         sb.append(id);
         sb.append("\n");
 
diff --git a/streams/src/main/java/org/apache/kafka/streams/processor/internals/AssignedTasks.java b/streams/src/main/java/org/apache/kafka/streams/processor/internals/AssignedTasks.java
index 4c4941a..6f4f454 100644
--- a/streams/src/main/java/org/apache/kafka/streams/processor/internals/AssignedTasks.java
+++ b/streams/src/main/java/org/apache/kafka/streams/processor/internals/AssignedTasks.java
@@ -284,6 +284,11 @@ abstract class AssignedTasks<T extends Task> {
         return Collections.unmodifiableMap(running);
     }
 
+    @Override
+    public String toString() {
+        return toString("");
+    }
+
     public String toString(final String indent) {
         final StringBuilder builder = new StringBuilder();
         describe(builder, running.values(), indent, "Running:");
diff --git a/streams/src/main/java/org/apache/kafka/streams/processor/internals/StreamsMetadataState.java b/streams/src/main/java/org/apache/kafka/streams/processor/internals/StreamsMetadataState.java
index 4ff6468..7fb0352 100644
--- a/streams/src/main/java/org/apache/kafka/streams/processor/internals/StreamsMetadataState.java
+++ b/streams/src/main/java/org/apache/kafka/streams/processor/internals/StreamsMetadataState.java
@@ -56,6 +56,21 @@ public class StreamsMetadataState {
         this.thisHost = thisHost;
     }
 
+    @Override
+    public String toString() {
+        return toString("");
+    }
+
+    public String toString(final String indent) {
+        final StringBuilder builder = new StringBuilder();
+        builder.append(indent).append("GlobalMetadata: ").append(allMetadata).append("\n");
+        builder.append(indent).append("GlobalStores: ").append(globalStores).append("\n");
+        builder.append(indent).append("My HostInfo: ").append(thisHost).append("\n");
+        builder.append(indent).append(clusterMetadata).append("\n");
+
+        return builder.toString();
+    }
+
     /**
      * Find all of the {@link StreamsMetadata}s in a
      * {@link KafkaStreams application}
diff --git a/streams/src/main/java/org/apache/kafka/streams/processor/internals/TaskManager.java b/streams/src/main/java/org/apache/kafka/streams/processor/internals/TaskManager.java
index 6308ca7..63224db 100644
--- a/streams/src/main/java/org/apache/kafka/streams/processor/internals/TaskManager.java
+++ b/streams/src/main/java/org/apache/kafka/streams/processor/internals/TaskManager.java
@@ -445,8 +445,22 @@ class TaskManager {
         }
     }
 
+    /**
+     * Produces a string representation containing useful information about the TaskManager.
+     * This is useful in debugging scenarios.
+     *
+     * @return A string representation of the TaskManager instance.
+     */
+    @Override
+    public String toString() {
+        return toString("");
+    }
+
     public String toString(final String indent) {
         final StringBuilder builder = new StringBuilder();
+        builder.append("TaskManager\n");
+        builder.append(indent).append("\tMetadataState:\n");
+        builder.append(streamsMetadataState.toString(indent + "\t\t"));
         builder.append(indent).append("\tActive tasks:\n");
         builder.append(active.toString(indent + "\t\t"));
         builder.append(indent).append("\tStandby tasks:\n");
diff --git a/streams/src/test/java/org/apache/kafka/streams/KafkaStreamsTest.java b/streams/src/test/java/org/apache/kafka/streams/KafkaStreamsTest.java
index 1c33f64..ec0e41d 100644
--- a/streams/src/test/java/org/apache/kafka/streams/KafkaStreamsTest.java
+++ b/streams/src/test/java/org/apache/kafka/streams/KafkaStreamsTest.java
@@ -500,19 +500,6 @@ public class KafkaStreamsTest {
         }
     }
 
-    @SuppressWarnings("deprecation")
-    @Test
-    public void testToString() {
-        streams.start();
-        final String streamString = streams.toString();
-        streams.close();
-        final String appId = streamString.split("\\n")[1].split(":")[1].trim();
-        Assert.assertNotEquals("streamString should not be empty", "", streamString);
-        Assert.assertNotNull("streamString should not be null", streamString);
-        Assert.assertNotEquals("streamString contains non-empty appId", "", appId);
-        Assert.assertNotNull("streamString contains non-null appId", appId);
-    }
-
     @Test
     public void shouldCleanupOldStateDirs() throws InterruptedException {
         props.setProperty(StreamsConfig.STATE_CLEANUP_DELAY_MS_CONFIG, "1");

-- 
To stop receiving notification emails like this one, please contact
guozhang@apache.org.