[
https://issues.apache.org/jira/browse/BEAM-14539?focusedWorklogId=776963&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-776963
]
ASF GitHub Bot logged work on BEAM-14539:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 01/Jun/22 15:38
Start Date: 01/Jun/22 15:38
Worklog Time Spent: 10m
Work Description: lukecwik commented on code in PR #17787:
URL: https://github.com/apache/beam/pull/17787#discussion_r886955553
##########
runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/JulHandlerPrintStreamAdapterFactory.java:
##########
@@ -130,46 +128,50 @@ public synchronized void write(int i) {
@Override
public void write(byte[] a, int offset, int length) {
ByteBuffer incoming = ByteBuffer.wrap(a, offset, length);
+ assert incoming.hasArray();
Review Comment:
it still does hold, added code to return early for length == 0
##########
runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/JulHandlerPrintStreamAdapterFactory.java:
##########
@@ -65,8 +65,7 @@ private static class JulHandlerPrintStream extends
PrintStream {
private final Level messageLevel;
private final CharsetDecoder decoder;
Review Comment:
done
Issue Time Tracking
-------------------
Worklog Id: (was: 776963)
Time Spent: 50m (was: 40m)
> JulHandlerPrintStream failing to buffer carry over bytes
> --------------------------------------------------------
>
> Key: BEAM-14539
> URL: https://issues.apache.org/jira/browse/BEAM-14539
> Project: Beam
> Issue Type: Bug
> Components: runner-dataflow
> Affects Versions: 2.33.0, 2.34.0, 2.35.0, 2.36.0, 2.37.0, 2.38.0, 2.39.0
> Reporter: Luke Cwik
> Assignee: Luke Cwik
> Priority: P2
> Fix For: 2.40.0
>
> Time Spent: 50m
> Remaining Estimate: 0h
>
> 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:
> {noformat}
> 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)
> ...
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.7#820007)