>From https://beam.apache.org/documentation/programming-guide/#side-inputs

> If the side input has multiple trigger firings, Beam uses the value from
the latest trigger firing. This is particularly useful if you use a side
input with a single global window and specify a trigger.

I have this sub-pipeline:

-> GlobalWindow (triggering AfterProcessingTime.pastFirstElementInPane)
-> Combine.perKey (Max)
-> View.asMap
...which I use as a side input.

But I get a "Duplicate values for <key>" error (DirectRunner). (Stack trace
below.)

But the only way for duplicate keys to come out of the global window is via
multiple triggers.

What am I missing?



===
java.lang.IllegalArgumentException: Duplicate values for :ihop
at
org.apache.beam.sdk.values.PCollectionViews$MapViewFn.apply(PCollectionViews.java:397)
at
org.apache.beam.sdk.values.PCollectionViews$MapViewFn.apply(PCollectionViews.java:373)
at
org.apache.beam.runners.direct.SideInputContainer$SideInputContainerSideInputReader.get(SideInputContainer.java:261)
at
org.apache.beam.repackaged.direct_java.runners.core.SimpleDoFnRunner.sideInput(SimpleDoFnRunner.java:247)
at
org.apache.beam.repackaged.direct_java.runners.core.SimpleDoFnRunner.access$900(SimpleDoFnRunner.java:74)
at
org.apache.beam.repackaged.direct_java.runners.core.SimpleDoFnRunner$DoFnProcessContext.sideInput(SimpleDoFnRunner.java:548)

Reply via email to