Limit size of a single data tuple. (#2224)
* Limit size of a single data tuple.
* Break line.
diff --git a/heron/instance/src/java/com/twitter/heron/instance/OutgoingTupleCollection.java b/heron/instance/src/java/com/twitter/heron/instance/OutgoingTupleCollection.java
index f89d765..1d850dc 100644
--- a/heron/instance/src/java/com/twitter/heron/instance/OutgoingTupleCollection.java
+++ b/heron/instance/src/java/com/twitter/heron/instance/OutgoingTupleCollection.java
@@ -74,6 +74,10 @@
String streamId,
HeronTuples.HeronDataTuple.Builder newTuple,
long tupleSizeInBytes) {
+ if (tupleSizeInBytes > maxDataTupleSize.asBytes()) {
+ throw new RuntimeException(
+ String.format("Data tuple is too large: %d bytes", tupleSizeInBytes));
+ }
if (currentDataTuple == null
|| !currentDataTuple.getStream().getId().equals(streamId)
|| currentDataTuple.getTuplesCount() >= dataTupleSetCapacity