diff --git a/model/fn-execution/src/main/proto/org/apache/beam/model/fn_execution/v1/beam_fn_api.proto b/model/fn-execution/src/main/proto/org/apache/beam/model/fn_execution/v1/beam_fn_api.proto index 42c2d7778a0c..9360522ab409 100644 --- a/model/fn-execution/src/main/proto/org/apache/beam/model/fn_execution/v1/beam_fn_api.proto +++ b/model/fn-execution/src/main/proto/org/apache/beam/model/fn_execution/v1/beam_fn_api.proto @@ -740,6 +740,12 @@ message Elements { bool is_last = 4; } + // Element metadata passed as part of WindowedValue to make WindowedValue + // extensible and backward compatible + message ElementMetadata { + // empty message - add drain, kind, tracing metadata in the future + } + // Represent the encoded user timer for a given instruction, transform and // timer id. message Timers { diff --git a/model/pipeline/src/main/proto/org/apache/beam/model/pipeline/v1/beam_runner_api.proto b/model/pipeline/src/main/proto/org/apache/beam/model/pipeline/v1/beam_runner_api.proto index e600e34657e7..c615b2a5279a 100644 --- a/model/pipeline/src/main/proto/org/apache/beam/model/pipeline/v1/beam_runner_api.proto +++ b/model/pipeline/src/main/proto/org/apache/beam/model/pipeline/v1/beam_runner_api.proto @@ -1677,6 +1677,10 @@ message StandardProtocols { // Indicates whether the SDK supports ordered list state. ORDERED_LIST_STATE = 10 [(beam_urn) = "beam:protocol:ordered_list_state:v1"]; + + // Indicates support for reading, writing and propagating Element's metadata + ELEMENT_METADATA = 11 + [(beam_urn) = "beam:protocol:element_metadata:v1"]; } }