Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-12516

StreamingDataflowWorker.ShardedKey.toString throws exception if key is less than 100 bytes

Details

    • Bug
    • Status: Resolved
    • P2
    • Resolution: Fixed
    • 2.28.0
    • 2.32.0
    • runner-dataflow
    • None

    Description

      ByteString.substring does not support an end index beyond the string length.

      example exception:

      SLF4J: Failed toString() invocation on an object of type [org.apache.beam.runners.dataflow.worker.AutoValue_StreamingDataflowWorker_ShardedKey]

      java.lang.IndexOutOfBoundsException: End index: 100 >= 3
      org.apache.beam.vendor.grpc.v1p26p0.com.google.protobuf.ByteString.checkRange(ByteString.java:1272)
      org.apache.beam.vendor.grpc.v1p26p0.com.google.protobuf.ByteString$LiteralByteString.substring(ByteString.java:1343)
      org.apache.beam.runners.dataflow.worker.StreamingDataflowWorker$ShardedKey.toString(StreamingDataflowWorker.java:1144)
      at org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:277)
      at org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:249)
      at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:211)
      at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:161)
      at org.slf4j.helpers.MessageFormatter.format(MessageFormatter.java:151)
      at org.slf4j.impl.JDK14LoggerAdapter.error(JDK14LoggerAdapter.java:522)
      at org.apache.beam.runners.dataflow.worker.StreamingDataflowWorker$ComputationState.invalidateStuckCommits(StreamingDataflowWorker.java:2326)

      Attachments

        Issue Links

          Activity

            People

              scwhittle Sam Whittle
              scwhittle Sam Whittle
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h 50m
                  1h 50m