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

Error messages for generatedPtransforms errors confusing

Details

    • New Feature
    • Status: Open
    • P3
    • Resolution: Unresolved
    • None
    • None
    • java-fn-execution
    • None

    Description

      The generated tranform names in the SDK are really confusing, they don't really reflect an error the user is familiar with.

      Updating this error printing to print the known user step name would improve this significantly
      TypeError: 'int' object is not iterable [while running 'generatedPtransform-70']

      java.util.concurrent.ExecutionException: java.lang.RuntimeException: Error received from SDK harness for instruction -82: Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/apache_beam/runners/worker/sdk_worker.py", line 151, in _execute
      response = task()
      File "/usr/local/lib/python2.7/dist-packages/apache_beam/runners/worker/sdk_worker.py", line 186, in <lambda>
      self._execute(lambda: worker.do_instruction(work), work)
      File "/usr/local/lib/python2.7/dist-packages/apache_beam/runners/worker/sdk_worker.py", line 265, in do_instruction
      request.instruction_id)
      File "/usr/local/lib/python2.7/dist-packages/apache_beam/runners/worker/sdk_worker.py", line 281, in process_bundle
      delayed_applications = bundle_processor.process_bundle(instruction_id)
      File "/usr/local/lib/python2.7/dist-packages/apache_beam/runners/worker/bundle_processor.py", line 549, in process_bundle
      ].process_encoded(data.data)
      File "/usr/local/lib/python2.7/dist-packages/apache_beam/runners/worker/bundle_processor.py", line 140, in process_encoded
      self.output(decoded_value)
      File "apache_beam/runners/worker/operations.py", line 222, in apache_beam.runners.worker.operations.Operation.output
      def output(self, windowed_value, output_index=0):
      File "apache_beam/runners/worker/operations.py", line 223, in apache_beam.runners.worker.operations.Operation.output
      cython.cast(Receiver, self.receivers[output_index]).receive(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 131, in apache_beam.runners.worker.operations.SingletonConsumerSet.receive
      self.consumer.process(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 537, in apache_beam.runners.worker.operations.DoOperation.process
      with self.scoped_process_state:
      File "apache_beam/runners/worker/operations.py", line 538, in apache_beam.runners.worker.operations.DoOperation.process
      delayed_application = self.dofn_receiver.receive(o)
      File "apache_beam/runners/common.py", line 723, in apache_beam.runners.common.DoFnRunner.receive
      self.process(windowed_value)
      File "apache_beam/runners/common.py", line 729, in apache_beam.runners.common.DoFnRunner.process
      self._reraise_augmented(exn)
      File "apache_beam/runners/common.py", line 762, in apache_beam.runners.common.DoFnRunner._reraise_augmented
      raise
      File "apache_beam/runners/common.py", line 727, in apache_beam.runners.common.DoFnRunner.process
      return self.do_fn_invoker.invoke_process(windowed_value)
      File "apache_beam/runners/common.py", line 418, in apache_beam.runners.common.SimpleInvoker.invoke_process
      output_processor.process_outputs(
      File "apache_beam/runners/common.py", line 847, in apache_beam.runners.common._OutputProcessor.process_outputs
      self.main_receivers.receive(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 131, in apache_beam.runners.worker.operations.SingletonConsumerSet.receive
      self.consumer.process(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 537, in apache_beam.runners.worker.operations.DoOperation.process
      with self.scoped_process_state:
      File "apache_beam/runners/worker/operations.py", line 538, in apache_beam.runners.worker.operations.DoOperation.process
      delayed_application = self.dofn_receiver.receive(o)
      File "apache_beam/runners/common.py", line 723, in apache_beam.runners.common.DoFnRunner.receive
      self.process(windowed_value)
      File "apache_beam/runners/common.py", line 729, in apache_beam.runners.common.DoFnRunner.process
      self._reraise_augmented(exn)
      File "apache_beam/runners/common.py", line 762, in apache_beam.runners.common.DoFnRunner._reraise_augmented
      raise
      File "apache_beam/runners/common.py", line 727, in apache_beam.runners.common.DoFnRunner.process
      return self.do_fn_invoker.invoke_process(windowed_value)
      File "apache_beam/runners/common.py", line 418, in apache_beam.runners.common.SimpleInvoker.invoke_process
      output_processor.process_outputs(
      File "apache_beam/runners/common.py", line 847, in apache_beam.runners.common._OutputProcessor.process_outputs
      self.main_receivers.receive(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 131, in apache_beam.runners.worker.operations.SingletonConsumerSet.receive
      self.consumer.process(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 537, in apache_beam.runners.worker.operations.DoOperation.process
      with self.scoped_process_state:
      File "apache_beam/runners/worker/operations.py", line 538, in apache_beam.runners.worker.operations.DoOperation.process
      delayed_application = self.dofn_receiver.receive(o)
      File "apache_beam/runners/common.py", line 723, in apache_beam.runners.common.DoFnRunner.receive
      self.process(windowed_value)
      File "apache_beam/runners/common.py", line 729, in apache_beam.runners.common.DoFnRunner.process
      self._reraise_augmented(exn)
      File "apache_beam/runners/common.py", line 762, in apache_beam.runners.common.DoFnRunner._reraise_augmented
      raise
      File "apache_beam/runners/common.py", line 727, in apache_beam.runners.common.DoFnRunner.process
      return self.do_fn_invoker.invoke_process(windowed_value)
      File "apache_beam/runners/common.py", line 418, in apache_beam.runners.common.SimpleInvoker.invoke_process
      output_processor.process_outputs(
      File "apache_beam/runners/common.py", line 847, in apache_beam.runners.common._OutputProcessor.process_outputs
      self.main_receivers.receive(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 131, in apache_beam.runners.worker.operations.SingletonConsumerSet.receive
      self.consumer.process(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 537, in apache_beam.runners.worker.operations.DoOperation.process
      with self.scoped_process_state:
      File "apache_beam/runners/worker/operations.py", line 538, in apache_beam.runners.worker.operations.DoOperation.process
      delayed_application = self.dofn_receiver.receive(o)
      File "apache_beam/runners/common.py", line 723, in apache_beam.runners.common.DoFnRunner.receive
      self.process(windowed_value)
      File "apache_beam/runners/common.py", line 729, in apache_beam.runners.common.DoFnRunner.process
      self._reraise_augmented(exn)
      File "apache_beam/runners/common.py", line 762, in apache_beam.runners.common.DoFnRunner._reraise_augmented
      raise
      File "apache_beam/runners/common.py", line 727, in apache_beam.runners.common.DoFnRunner.process
      return self.do_fn_invoker.invoke_process(windowed_value)
      File "apache_beam/runners/common.py", line 418, in apache_beam.runners.common.SimpleInvoker.invoke_process
      output_processor.process_outputs(
      File "apache_beam/runners/common.py", line 847, in apache_beam.runners.common._OutputProcessor.process_outputs
      self.main_receivers.receive(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 131, in apache_beam.runners.worker.operations.SingletonConsumerSet.receive
      self.consumer.process(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 537, in apache_beam.runners.worker.operations.DoOperation.process
      with self.scoped_process_state:
      File "apache_beam/runners/worker/operations.py", line 538, in apache_beam.runners.worker.operations.DoOperation.process
      delayed_application = self.dofn_receiver.receive(o)
      File "apache_beam/runners/common.py", line 723, in apache_beam.runners.common.DoFnRunner.receive
      self.process(windowed_value)
      File "apache_beam/runners/common.py", line 729, in apache_beam.runners.common.DoFnRunner.process
      self._reraise_augmented(exn)
      File "apache_beam/runners/common.py", line 777, in apache_beam.runners.common.DoFnRunner._reraise_augmented
      raise_with_traceback(new_exn)
      File "apache_beam/runners/common.py", line 727, in apache_beam.runners.common.DoFnRunner.process
      return self.do_fn_invoker.invoke_process(windowed_value)
      File "apache_beam/runners/common.py", line 418, in apache_beam.runners.common.SimpleInvoker.invoke_process
      output_processor.process_outputs(
      File "apache_beam/runners/common.py", line 823, in apache_beam.runners.common._OutputProcessor.process_outputs
      for result in results:
      TypeError: 'int' object is not iterable [while running 'generatedPtransform-70']

      at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
      at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)
      at org.apache.beam.sdk.util.MoreFutures.get(MoreFutures.java:57)
      at org.apache.beam.runners.dataflow.worker.fn.control.RegisterAndProcessBundleOperation.finish(RegisterAndProcessBundleOperation.java:281)
      at org.apache.beam.runners.dataflow.worker.util.common.worker.MapTaskExecutor.execute(MapTaskExecutor.java:85)
      at org.apache.beam.runners.dataflow.worker.fn.control.BeamFnMapTaskExecutor.execute(BeamFnMapTaskExecutor.java:125)
      at org.apache.beam.runners.dataflow.worker.BatchDataflowWorker.executeWork(BatchDataflowWorker.java:411)
      at org.apache.beam.runners.dataflow.worker.BatchDataflowWorker.doWork(BatchDataflowWorker.java:380)
      at org.apache.beam.runners.dataflow.worker.BatchDataflowWorker.getAndPerformWork(BatchDataflowWorker.java:306)
      at org.apache.beam.runners.dataflow.worker.DataflowRunnerHarness.start(DataflowRunnerHarness.java:195)
      at org.apache.beam.runners.dataflow.worker.DataflowRunnerHarness.main(DataflowRunnerHarness.java:123)
      Suppressed: java.lang.IllegalStateException: Already closed.
      at org.apache.beam.sdk.fn.data.BeamFnDataBufferingOutboundObserver.close(BeamFnDataBufferingOutboundObserver.java:95)
      at org.apache.beam.runners.dataflow.worker.fn.data.RemoteGrpcPortWriteOperation.abort(RemoteGrpcPortWriteOperation.java:215)
      at org.apache.beam.runners.dataflow.worker.util.common.worker.MapTaskExecutor.execute(MapTaskExecutor.java:91)
      ... 6 more
      Caused by: java.lang.RuntimeException: Error received from SDK harness for instruction -82: Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/apache_beam/runners/worker/sdk_worker.py", line 151, in _execute
      response = task()
      File "/usr/local/lib/python2.7/dist-packages/apache_beam/runners/worker/sdk_worker.py", line 186, in <lambda>
      self._execute(lambda: worker.do_instruction(work), work)
      File "/usr/local/lib/python2.7/dist-packages/apache_beam/runners/worker/sdk_worker.py", line 265, in do_instruction
      request.instruction_id)
      File "/usr/local/lib/python2.7/dist-packages/apache_beam/runners/worker/sdk_worker.py", line 281, in process_bundle
      delayed_applications = bundle_processor.process_bundle(instruction_id)
      File "/usr/local/lib/python2.7/dist-packages/apache_beam/runners/worker/bundle_processor.py", line 549, in process_bundle
      ].process_encoded(data.data)
      File "/usr/local/lib/python2.7/dist-packages/apache_beam/runners/worker/bundle_processor.py", line 140, in process_encoded
      self.output(decoded_value)
      File "apache_beam/runners/worker/operations.py", line 222, in apache_beam.runners.worker.operations.Operation.output
      def output(self, windowed_value, output_index=0):
      File "apache_beam/runners/worker/operations.py", line 223, in apache_beam.runners.worker.operations.Operation.output
      cython.cast(Receiver, self.receivers[output_index]).receive(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 131, in apache_beam.runners.worker.operations.SingletonConsumerSet.receive
      self.consumer.process(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 537, in apache_beam.runners.worker.operations.DoOperation.process
      with self.scoped_process_state:
      File "apache_beam/runners/worker/operations.py", line 538, in apache_beam.runners.worker.operations.DoOperation.process
      delayed_application = self.dofn_receiver.receive(o)
      File "apache_beam/runners/common.py", line 723, in apache_beam.runners.common.DoFnRunner.receive
      self.process(windowed_value)
      File "apache_beam/runners/common.py", line 729, in apache_beam.runners.common.DoFnRunner.process
      self._reraise_augmented(exn)
      File "apache_beam/runners/common.py", line 762, in apache_beam.runners.common.DoFnRunner._reraise_augmented
      raise
      File "apache_beam/runners/common.py", line 727, in apache_beam.runners.common.DoFnRunner.process
      return self.do_fn_invoker.invoke_process(windowed_value)
      File "apache_beam/runners/common.py", line 418, in apache_beam.runners.common.SimpleInvoker.invoke_process
      output_processor.process_outputs(
      File "apache_beam/runners/common.py", line 847, in apache_beam.runners.common._OutputProcessor.process_outputs
      self.main_receivers.receive(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 131, in apache_beam.runners.worker.operations.SingletonConsumerSet.receive
      self.consumer.process(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 537, in apache_beam.runners.worker.operations.DoOperation.process
      with self.scoped_process_state:
      File "apache_beam/runners/worker/operations.py", line 538, in apache_beam.runners.worker.operations.DoOperation.process
      delayed_application = self.dofn_receiver.receive(o)
      File "apache_beam/runners/common.py", line 723, in apache_beam.runners.common.DoFnRunner.receive
      self.process(windowed_value)
      File "apache_beam/runners/common.py", line 729, in apache_beam.runners.common.DoFnRunner.process
      self._reraise_augmented(exn)
      File "apache_beam/runners/common.py", line 762, in apache_beam.runners.common.DoFnRunner._reraise_augmented
      raise
      File "apache_beam/runners/common.py", line 727, in apache_beam.runners.common.DoFnRunner.process
      return self.do_fn_invoker.invoke_process(windowed_value)
      File "apache_beam/runners/common.py", line 418, in apache_beam.runners.common.SimpleInvoker.invoke_process
      output_processor.process_outputs(
      File "apache_beam/runners/common.py", line 847, in apache_beam.runners.common._OutputProcessor.process_outputs
      self.main_receivers.receive(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 131, in apache_beam.runners.worker.operations.SingletonConsumerSet.receive
      self.consumer.process(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 537, in apache_beam.runners.worker.operations.DoOperation.process
      with self.scoped_process_state:
      File "apache_beam/runners/worker/operations.py", line 538, in apache_beam.runners.worker.operations.DoOperation.process
      delayed_application = self.dofn_receiver.receive(o)
      File "apache_beam/runners/common.py", line 723, in apache_beam.runners.common.DoFnRunner.receive
      self.process(windowed_value)
      File "apache_beam/runners/common.py", line 729, in apache_beam.runners.common.DoFnRunner.process
      self._reraise_augmented(exn)
      File "apache_beam/runners/common.py", line 762, in apache_beam.runners.common.DoFnRunner._reraise_augmented
      raise
      File "apache_beam/runners/common.py", line 727, in apache_beam.runners.common.DoFnRunner.process
      return self.do_fn_invoker.invoke_process(windowed_value)
      File "apache_beam/runners/common.py", line 418, in apache_beam.runners.common.SimpleInvoker.invoke_process
      output_processor.process_outputs(
      File "apache_beam/runners/common.py", line 847, in apache_beam.runners.common._OutputProcessor.process_outputs
      self.main_receivers.receive(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 131, in apache_beam.runners.worker.operations.SingletonConsumerSet.receive
      self.consumer.process(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 537, in apache_beam.runners.worker.operations.DoOperation.process
      with self.scoped_process_state:
      File "apache_beam/runners/worker/operations.py", line 538, in apache_beam.runners.worker.operations.DoOperation.process
      delayed_application = self.dofn_receiver.receive(o)
      File "apache_beam/runners/common.py", line 723, in apache_beam.runners.common.DoFnRunner.receive
      self.process(windowed_value)
      File "apache_beam/runners/common.py", line 729, in apache_beam.runners.common.DoFnRunner.process
      self._reraise_augmented(exn)
      File "apache_beam/runners/common.py", line 762, in apache_beam.runners.common.DoFnRunner._reraise_augmented
      raise
      File "apache_beam/runners/common.py", line 727, in apache_beam.runners.common.DoFnRunner.process
      return self.do_fn_invoker.invoke_process(windowed_value)
      File "apache_beam/runners/common.py", line 418, in apache_beam.runners.common.SimpleInvoker.invoke_process
      output_processor.process_outputs(
      File "apache_beam/runners/common.py", line 847, in apache_beam.runners.common._OutputProcessor.process_outputs
      self.main_receivers.receive(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 131, in apache_beam.runners.worker.operations.SingletonConsumerSet.receive
      self.consumer.process(windowed_value)
      File "apache_beam/runners/worker/operations.py", line 537, in apache_beam.runners.worker.operations.DoOperation.process
      with self.scoped_process_state:
      File "apache_beam/runners/worker/operations.py", line 538, in apache_beam.runners.worker.operations.DoOperation.process
      delayed_application = self.dofn_receiver.receive(o)
      File "apache_beam/runners/common.py", line 723, in apache_beam.runners.common.DoFnRunner.receive
      self.process(windowed_value)
      File "apache_beam/runners/common.py", line 729, in apache_beam.runners.common.DoFnRunner.process
      self._reraise_augmented(exn)
      File "apache_beam/runners/common.py", line 777, in apache_beam.runners.common.DoFnRunner._reraise_augmented
      raise_with_traceback(new_exn)
      File "apache_beam/runners/common.py", line 727, in apache_beam.runners.common.DoFnRunner.process
      return self.do_fn_invoker.invoke_process(windowed_value)
      File "apache_beam/runners/common.py", line 418, in apache_beam.runners.common.SimpleInvoker.invoke_process
      output_processor.process_outputs(
      File "apache_beam/runners/common.py", line 823, in apache_beam.runners.common._OutputProcessor.process_outputs
      for result in results:
      TypeError: 'int' object is not iterable [while running 'generatedPtransform-70']

      at org.apache.beam.runners.fnexecution.control.FnApiControlClient$ResponseStreamObserver.onNext(FnApiControlClient.java:157)
      at org.apache.beam.runners.fnexecution.control.FnApiControlClient$ResponseStreamObserver.onNext(FnApiControlClient.java:140)
      at org.apache.beam.vendor.grpc.v1p13p1.io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:248)
      at org.apache.beam.vendor.grpc.v1p13p1.io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33)
      at org.apache.beam.vendor.grpc.v1p13p1.io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76)
      at org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:263)
      at org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:683)
      at org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
      at org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      Attachments

        Activity

          People

            Unassigned Unassigned
            ajamato@google.com Alex Amato
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: