Class SchemaUpdateHoldingFn<DestinationT extends @NonNull Object,ElementT>

java.lang.Object
org.apache.beam.sdk.transforms.DoFn<KV<org.apache.beam.sdk.util.ShardedKey<DestinationT>,@Nullable ElementT>,KV<DestinationT,StorageApiWritePayload>>
org.apache.beam.sdk.io.gcp.bigquery.SchemaUpdateHoldingFn<DestinationT,ElementT>
All Implemented Interfaces:
Serializable, HasDisplayData

public class SchemaUpdateHoldingFn<DestinationT extends @NonNull Object,ElementT> extends DoFn<KV<org.apache.beam.sdk.util.ShardedKey<DestinationT>,@Nullable ElementT>,KV<DestinationT,StorageApiWritePayload>>
This is a stateful DoFn that buffers elements that triggered table schema update. Once the table schema has been updated, this reprocesses the messages and allows them to continue on through the sink. This DoFn receives messages from both ConvertMessagesDoFn and PatchTableSchemaDoFn. ConvertMessagesDoFn sends elements to be buffered. PatchTableSchemaDoFn sends a null element as a sentinal to indicate that the table has recently been patched, which triggers us to immediately try and reprocess the buffered elements.
See Also: