You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by se...@apache.org on 2016/08/09 13:34:31 UTC
flink git commit: [FLINK-2090] [core] Truncate 'toString()' of
CollectionInputFormat when the collection is huge
Repository: flink
Updated Branches:
refs/heads/master 46b427fac -> b5d58934d
[FLINK-2090] [core] Truncate 'toString()' of CollectionInputFormat when the collection is huge
This closes #2323
Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/b5d58934
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/b5d58934
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/b5d58934
Branch: refs/heads/master
Commit: b5d58934d7124e0076e588e74485a60e7c1f484b
Parents: 46b427f
Author: Ivan Mushketyk <iv...@gmail.com>
Authored: Mon Aug 1 20:39:17 2016 +0100
Committer: Stephan Ewen <se...@apache.org>
Committed: Tue Aug 9 15:34:01 2016 +0200
----------------------------------------------------------------------
.../api/java/io/CollectionInputFormat.java | 19 +++++++++-
.../api/java/io/CollectionInputFormatTest.java | 39 +++++++++++++++++++-
2 files changed, 56 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flink/blob/b5d58934/flink-java/src/main/java/org/apache/flink/api/java/io/CollectionInputFormat.java
----------------------------------------------------------------------
diff --git a/flink-java/src/main/java/org/apache/flink/api/java/io/CollectionInputFormat.java b/flink-java/src/main/java/org/apache/flink/api/java/io/CollectionInputFormat.java
index 0dad9e3..90e6712 100644
--- a/flink-java/src/main/java/org/apache/flink/api/java/io/CollectionInputFormat.java
+++ b/flink-java/src/main/java/org/apache/flink/api/java/io/CollectionInputFormat.java
@@ -41,6 +41,7 @@ import org.apache.flink.core.memory.DataOutputViewStreamWrapper;
public class CollectionInputFormat<T> extends GenericInputFormat<T> implements NonParallelInput {
private static final long serialVersionUID = 1L;
+ private static final int MAX_TO_STRING_LEN = 100;
private TypeSerializer<T> serializer;
@@ -117,7 +118,23 @@ public class CollectionInputFormat<T> extends GenericInputFormat<T> implements N
@Override
public String toString() {
- return this.dataSet.toString();
+ StringBuilder sb = new StringBuilder();
+ sb.append('[');
+
+ int num = 0;
+ for (T e : dataSet) {
+ sb.append(e);
+ if (num != dataSet.size() - 1) {
+ sb.append(", ");
+ if (sb.length() > MAX_TO_STRING_LEN) {
+ sb.append("...");
+ break;
+ }
+ }
+ num++;
+ }
+ sb.append(']');
+ return sb.toString();
}
// --------------------------------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flink/blob/b5d58934/flink-java/src/test/java/org/apache/flink/api/java/io/CollectionInputFormatTest.java
----------------------------------------------------------------------
diff --git a/flink-java/src/test/java/org/apache/flink/api/java/io/CollectionInputFormatTest.java b/flink-java/src/test/java/org/apache/flink/api/java/io/CollectionInputFormatTest.java
index 53523b0..3bb40eb 100644
--- a/flink-java/src/test/java/org/apache/flink/api/java/io/CollectionInputFormatTest.java
+++ b/flink-java/src/test/java/org/apache/flink/api/java/io/CollectionInputFormatTest.java
@@ -76,6 +76,13 @@ public class CollectionInputFormatTest {
public int hashCode() {
return id;
}
+
+ @Override
+ public String toString() {
+ return "ElementType{" +
+ "id=" + id +
+ '}';
+ }
}
@Test
@@ -253,7 +260,37 @@ public class CollectionInputFormatTest {
fail(e.getMessage());
}
}
-
+
+ @Test
+ public void testToStringOnSmallCollection() {
+ ArrayList<ElementType> smallList = new ArrayList<>();
+ smallList.add(new ElementType(1));
+ smallList.add(new ElementType(2));
+ CollectionInputFormat<ElementType> inputFormat = new CollectionInputFormat<>(
+ smallList,
+ new TestSerializer(true, false)
+ );
+
+ assertEquals("[ElementType{id=1}, ElementType{id=2}]", inputFormat.toString());
+ }
+
+ @Test
+ public void testToStringOnBigCollection() {
+ ArrayList<ElementType> list = new ArrayList<>();
+ for (int i = 0; i < 10; i++) {
+ list.add(new ElementType(i));
+ }
+ CollectionInputFormat<ElementType> inputFormat = new CollectionInputFormat<>(
+ list,
+ new TestSerializer(true, false)
+ );
+
+ assertEquals(
+ "[ElementType{id=0}, ElementType{id=1}, ElementType{id=2}, " +
+ "ElementType{id=3}, ElementType{id=4}, ElementType{id=5}, ...]",
+ inputFormat.toString());
+ }
+
private static class TestException extends IOException{
private static final long serialVersionUID = 1L;
}