Details
-
Bug
-
Status: Resolved
-
P2
-
Resolution: Fixed
-
2.33.0, 2.34.0, 2.35.0, 2.36.0, 2.37.0, 2.38.0, 2.39.0
-
None
Description
JulHandlerPrintStream was not flushing in a loop for large byte arrays which meant that the carry over could be much larger then the assumed 6 bytes.
Saw these logs for a job:
java.lang.ArrayIndexOutOfBoundsException: Index 9 out of bounds for length 6 at org.apache.beam.runners.dataflow.worker.logging.JulHandlerPrintStreamAdapterFactory$JulHandlerPrintStream.write(JulHandlerPrintStreamAdapterFactory.java:142) at java.base/java.io.PrintStream.write(PrintStream.java:559) at java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:233) at java.base/sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:312) at java.base/sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:104) at java.base/java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:184) at java.base/java.io.PrintStream.write(PrintStream.java:606) at java.base/java.io.PrintStream.print(PrintStream.java:745) at java.base/java.io.PrintStream.append(PrintStream.java:1147) at java.base/java.io.PrintStream.append(PrintStream.java:1188) at java.base/java.io.PrintStream.append(PrintStream.java:63) at java.base/java.util.Formatter$FixedString.print(Formatter.java:2754) at java.base/java.util.Formatter.format(Formatter.java:2661) at java.base/java.io.PrintStream.format(PrintStream.java:1053) at java.base/java.io.PrintStream.printf(PrintStream.java:949) ...
Attachments
Issue Links
- links to