Class WorkflowExecutionVersioningInfo

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, WorkflowExecutionVersioningInfoOrBuilder, java.io.Serializable

    @Generated(value="protoc",
               comments="annotations:WorkflowExecutionVersioningInfo.java.pb.meta")
    public final class WorkflowExecutionVersioningInfo
    extends com.google.protobuf.GeneratedMessageV3
    implements WorkflowExecutionVersioningInfoOrBuilder
     Holds all the information about worker versioning for a particular workflow execution.
     Experimental. Versioning info is experimental and might change in the future.
     
    Protobuf type temporal.api.workflow.v1.WorkflowExecutionVersioningInfo
    See Also:
    Serialized Form
    • Field Detail

      • DEPLOYMENT_FIELD_NUMBER

        public static final int DEPLOYMENT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • VERSIONING_OVERRIDE_FIELD_NUMBER

        public static final int VERSIONING_OVERRIDE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • DEPLOYMENT_TRANSITION_FIELD_NUMBER

        public static final int DEPLOYMENT_TRANSITION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • VERSION_TRANSITION_FIELD_NUMBER

        public static final int VERSION_TRANSITION_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected java.lang.Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getBehaviorValue

        public int getBehaviorValue()
         Versioning behavior determines how the server should treat this execution when workers are
         upgraded. When present it means this workflow execution is versioned; UNSPECIFIED means
         unversioned. See the comments in `VersioningBehavior` enum for more info about different
         behaviors.
         This field is first set after an execution completes its first workflow task on a versioned
         worker, and set again on completion of every subsequent workflow task.
         For child workflows of Pinned parents, this will be set to Pinned (along with `version`) when
         the the child starts so that child's first workflow task goes to the same Version as the
         parent. After the first workflow task, it depends on the child workflow itself if it wants
         to stay pinned or become unpinned (according to Versioning Behavior set in the worker).
         Note that `behavior` is overridden by `versioning_override` if the latter is present.
         
        .temporal.api.enums.v1.VersioningBehavior behavior = 1;
        Specified by:
        getBehaviorValue in interface WorkflowExecutionVersioningInfoOrBuilder
        Returns:
        The enum numeric value on the wire for behavior.
      • getBehavior

        public VersioningBehavior getBehavior()
         Versioning behavior determines how the server should treat this execution when workers are
         upgraded. When present it means this workflow execution is versioned; UNSPECIFIED means
         unversioned. See the comments in `VersioningBehavior` enum for more info about different
         behaviors.
         This field is first set after an execution completes its first workflow task on a versioned
         worker, and set again on completion of every subsequent workflow task.
         For child workflows of Pinned parents, this will be set to Pinned (along with `version`) when
         the the child starts so that child's first workflow task goes to the same Version as the
         parent. After the first workflow task, it depends on the child workflow itself if it wants
         to stay pinned or become unpinned (according to Versioning Behavior set in the worker).
         Note that `behavior` is overridden by `versioning_override` if the latter is present.
         
        .temporal.api.enums.v1.VersioningBehavior behavior = 1;
        Specified by:
        getBehavior in interface WorkflowExecutionVersioningInfoOrBuilder
        Returns:
        The behavior.
      • hasDeployment

        @Deprecated
        public boolean hasDeployment()
        Deprecated.
        temporal.api.workflow.v1.WorkflowExecutionVersioningInfo.deployment is deprecated. See temporal/api/workflow/v1/message.proto;l=159
         The worker deployment that completed the last workflow task of this workflow execution. Must
         be present if `behavior` is set. Absent value means no workflow task is completed, or the
         last workflow task was completed by an unversioned worker. Unversioned workers may still send
         a deployment value which will be stored here, so the right way to check if an execution is
         versioned if an execution is versioned or not is via the `behavior` field.
         Note that `deployment` is overridden by `versioning_override` if the latter is present.
         Deprecated. Use `version`.
         
        .temporal.api.deployment.v1.Deployment deployment = 2 [deprecated = true];
        Specified by:
        hasDeployment in interface WorkflowExecutionVersioningInfoOrBuilder
        Returns:
        Whether the deployment field is set.
      • getDeployment

        @Deprecated
        public Deployment getDeployment()
        Deprecated.
        temporal.api.workflow.v1.WorkflowExecutionVersioningInfo.deployment is deprecated. See temporal/api/workflow/v1/message.proto;l=159
         The worker deployment that completed the last workflow task of this workflow execution. Must
         be present if `behavior` is set. Absent value means no workflow task is completed, or the
         last workflow task was completed by an unversioned worker. Unversioned workers may still send
         a deployment value which will be stored here, so the right way to check if an execution is
         versioned if an execution is versioned or not is via the `behavior` field.
         Note that `deployment` is overridden by `versioning_override` if the latter is present.
         Deprecated. Use `version`.
         
        .temporal.api.deployment.v1.Deployment deployment = 2 [deprecated = true];
        Specified by:
        getDeployment in interface WorkflowExecutionVersioningInfoOrBuilder
        Returns:
        The deployment.
      • getDeploymentOrBuilder

        @Deprecated
        public DeploymentOrBuilder getDeploymentOrBuilder()
        Deprecated.
         The worker deployment that completed the last workflow task of this workflow execution. Must
         be present if `behavior` is set. Absent value means no workflow task is completed, or the
         last workflow task was completed by an unversioned worker. Unversioned workers may still send
         a deployment value which will be stored here, so the right way to check if an execution is
         versioned if an execution is versioned or not is via the `behavior` field.
         Note that `deployment` is overridden by `versioning_override` if the latter is present.
         Deprecated. Use `version`.
         
        .temporal.api.deployment.v1.Deployment deployment = 2 [deprecated = true];
        Specified by:
        getDeploymentOrBuilder in interface WorkflowExecutionVersioningInfoOrBuilder
      • getVersion

        public java.lang.String getVersion()
         The Worker Deployment Version that completed the last workflow task of this workflow
         execution, in the form "<deployment_name>.<build_id>".
         Must be present if and only if `behavior` is set. An absent value means no workflow task is
         completed, or the workflow is unversioned.
         For child workflows of Pinned parents, this will be set to parent's Pinned Version when the
         the child starts so that child's first workflow task goes to the same Version as the parent.
         Note that if `versioning_override.behavior` is PINNED then `versioning_override.pinned_version`
         will override this value.
         
        string version = 5;
        Specified by:
        getVersion in interface WorkflowExecutionVersioningInfoOrBuilder
        Returns:
        The version.
      • getVersionBytes

        public com.google.protobuf.ByteString getVersionBytes()
         The Worker Deployment Version that completed the last workflow task of this workflow
         execution, in the form "<deployment_name>.<build_id>".
         Must be present if and only if `behavior` is set. An absent value means no workflow task is
         completed, or the workflow is unversioned.
         For child workflows of Pinned parents, this will be set to parent's Pinned Version when the
         the child starts so that child's first workflow task goes to the same Version as the parent.
         Note that if `versioning_override.behavior` is PINNED then `versioning_override.pinned_version`
         will override this value.
         
        string version = 5;
        Specified by:
        getVersionBytes in interface WorkflowExecutionVersioningInfoOrBuilder
        Returns:
        The bytes for version.
      • hasVersioningOverride

        public boolean hasVersioningOverride()
         Present if user has set an execution-specific versioning override. This override takes
         precedence over SDK-sent `behavior` (and `version` when override is PINNED). An
         override can be set when starting a new execution, as well as afterwards by calling the
         `UpdateWorkflowExecutionOptions` API.
         Pinned overrides are automatically inherited by child workflows.
         
        .temporal.api.workflow.v1.VersioningOverride versioning_override = 3;
        Specified by:
        hasVersioningOverride in interface WorkflowExecutionVersioningInfoOrBuilder
        Returns:
        Whether the versioningOverride field is set.
      • getVersioningOverride

        public VersioningOverride getVersioningOverride()
         Present if user has set an execution-specific versioning override. This override takes
         precedence over SDK-sent `behavior` (and `version` when override is PINNED). An
         override can be set when starting a new execution, as well as afterwards by calling the
         `UpdateWorkflowExecutionOptions` API.
         Pinned overrides are automatically inherited by child workflows.
         
        .temporal.api.workflow.v1.VersioningOverride versioning_override = 3;
        Specified by:
        getVersioningOverride in interface WorkflowExecutionVersioningInfoOrBuilder
        Returns:
        The versioningOverride.
      • getVersioningOverrideOrBuilder

        public VersioningOverrideOrBuilder getVersioningOverrideOrBuilder()
         Present if user has set an execution-specific versioning override. This override takes
         precedence over SDK-sent `behavior` (and `version` when override is PINNED). An
         override can be set when starting a new execution, as well as afterwards by calling the
         `UpdateWorkflowExecutionOptions` API.
         Pinned overrides are automatically inherited by child workflows.
         
        .temporal.api.workflow.v1.VersioningOverride versioning_override = 3;
        Specified by:
        getVersioningOverrideOrBuilder in interface WorkflowExecutionVersioningInfoOrBuilder
      • hasDeploymentTransition

        @Deprecated
        public boolean hasDeploymentTransition()
        Deprecated.
        temporal.api.workflow.v1.WorkflowExecutionVersioningInfo.deployment_transition is deprecated. See temporal/api/workflow/v1/message.proto;l=193
         When present, indicates the workflow is transitioning to a different deployment. Can
         indicate one of the following transitions: unversioned -> versioned, versioned -> versioned
         on a different deployment, or versioned -> unversioned.
         Not applicable to workflows with PINNED behavior.
         When a workflow with AUTO_UPGRADE behavior creates a new workflow task, it will automatically
         start a transition to the task queue's current deployment if the task queue's current
         deployment is different from the workflow's deployment.
         If the AUTO_UPGRADE workflow is stuck due to backlogged activity or workflow tasks, those
         tasks will be redirected to the task queue's current deployment. As soon as a poller from
         that deployment is available to receive the task, the workflow will automatically start a
         transition to that deployment and continue execution there.
         A deployment transition can only exist while there is a pending or started workflow task.
         Once the pending workflow task completes on the transition's target deployment, the
         transition completes and the workflow's `deployment` and `behavior` fields are updated per
         the worker's task completion response.
         Pending activities will not start new attempts during a transition. Once the transition is
         completed, pending activities will start their next attempt on the new deployment.
         Deprecated. Use version_transition.
         
        .temporal.api.workflow.v1.DeploymentTransition deployment_transition = 4 [deprecated = true];
        Specified by:
        hasDeploymentTransition in interface WorkflowExecutionVersioningInfoOrBuilder
        Returns:
        Whether the deploymentTransition field is set.
      • getDeploymentTransition

        @Deprecated
        public DeploymentTransition getDeploymentTransition()
        Deprecated.
        temporal.api.workflow.v1.WorkflowExecutionVersioningInfo.deployment_transition is deprecated. See temporal/api/workflow/v1/message.proto;l=193
         When present, indicates the workflow is transitioning to a different deployment. Can
         indicate one of the following transitions: unversioned -> versioned, versioned -> versioned
         on a different deployment, or versioned -> unversioned.
         Not applicable to workflows with PINNED behavior.
         When a workflow with AUTO_UPGRADE behavior creates a new workflow task, it will automatically
         start a transition to the task queue's current deployment if the task queue's current
         deployment is different from the workflow's deployment.
         If the AUTO_UPGRADE workflow is stuck due to backlogged activity or workflow tasks, those
         tasks will be redirected to the task queue's current deployment. As soon as a poller from
         that deployment is available to receive the task, the workflow will automatically start a
         transition to that deployment and continue execution there.
         A deployment transition can only exist while there is a pending or started workflow task.
         Once the pending workflow task completes on the transition's target deployment, the
         transition completes and the workflow's `deployment` and `behavior` fields are updated per
         the worker's task completion response.
         Pending activities will not start new attempts during a transition. Once the transition is
         completed, pending activities will start their next attempt on the new deployment.
         Deprecated. Use version_transition.
         
        .temporal.api.workflow.v1.DeploymentTransition deployment_transition = 4 [deprecated = true];
        Specified by:
        getDeploymentTransition in interface WorkflowExecutionVersioningInfoOrBuilder
        Returns:
        The deploymentTransition.
      • getDeploymentTransitionOrBuilder

        @Deprecated
        public DeploymentTransitionOrBuilder getDeploymentTransitionOrBuilder()
        Deprecated.
         When present, indicates the workflow is transitioning to a different deployment. Can
         indicate one of the following transitions: unversioned -> versioned, versioned -> versioned
         on a different deployment, or versioned -> unversioned.
         Not applicable to workflows with PINNED behavior.
         When a workflow with AUTO_UPGRADE behavior creates a new workflow task, it will automatically
         start a transition to the task queue's current deployment if the task queue's current
         deployment is different from the workflow's deployment.
         If the AUTO_UPGRADE workflow is stuck due to backlogged activity or workflow tasks, those
         tasks will be redirected to the task queue's current deployment. As soon as a poller from
         that deployment is available to receive the task, the workflow will automatically start a
         transition to that deployment and continue execution there.
         A deployment transition can only exist while there is a pending or started workflow task.
         Once the pending workflow task completes on the transition's target deployment, the
         transition completes and the workflow's `deployment` and `behavior` fields are updated per
         the worker's task completion response.
         Pending activities will not start new attempts during a transition. Once the transition is
         completed, pending activities will start their next attempt on the new deployment.
         Deprecated. Use version_transition.
         
        .temporal.api.workflow.v1.DeploymentTransition deployment_transition = 4 [deprecated = true];
        Specified by:
        getDeploymentTransitionOrBuilder in interface WorkflowExecutionVersioningInfoOrBuilder
      • hasVersionTransition

        public boolean hasVersionTransition()
         When present, indicates the workflow is transitioning to a different deployment version
         (which may belong to the same deployment name or another). Can indicate one of the following
         transitions: unversioned -> versioned, versioned -> versioned
         on a different deployment version, or versioned -> unversioned.
         Not applicable to workflows with PINNED behavior.
         When a workflow with AUTO_UPGRADE behavior creates a new workflow task, it will automatically
         start a transition to the task queue's current version if the task queue's current version is
         different from the workflow's current deployment version.
         If the AUTO_UPGRADE workflow is stuck due to backlogged activity or workflow tasks, those
         tasks will be redirected to the task queue's current version. As soon as a poller from
         that deployment version is available to receive the task, the workflow will automatically
         start a transition to that version and continue execution there.
         A version transition can only exist while there is a pending or started workflow task.
         Once the pending workflow task completes on the transition's target version, the
         transition completes and the workflow's `behavior`, and `version` fields are updated per the
         worker's task completion response.
         Pending activities will not start new attempts during a transition. Once the transition is
         completed, pending activities will start their next attempt on the new version.
         
        .temporal.api.workflow.v1.DeploymentVersionTransition version_transition = 6;
        Specified by:
        hasVersionTransition in interface WorkflowExecutionVersioningInfoOrBuilder
        Returns:
        Whether the versionTransition field is set.
      • getVersionTransition

        public DeploymentVersionTransition getVersionTransition()
         When present, indicates the workflow is transitioning to a different deployment version
         (which may belong to the same deployment name or another). Can indicate one of the following
         transitions: unversioned -> versioned, versioned -> versioned
         on a different deployment version, or versioned -> unversioned.
         Not applicable to workflows with PINNED behavior.
         When a workflow with AUTO_UPGRADE behavior creates a new workflow task, it will automatically
         start a transition to the task queue's current version if the task queue's current version is
         different from the workflow's current deployment version.
         If the AUTO_UPGRADE workflow is stuck due to backlogged activity or workflow tasks, those
         tasks will be redirected to the task queue's current version. As soon as a poller from
         that deployment version is available to receive the task, the workflow will automatically
         start a transition to that version and continue execution there.
         A version transition can only exist while there is a pending or started workflow task.
         Once the pending workflow task completes on the transition's target version, the
         transition completes and the workflow's `behavior`, and `version` fields are updated per the
         worker's task completion response.
         Pending activities will not start new attempts during a transition. Once the transition is
         completed, pending activities will start their next attempt on the new version.
         
        .temporal.api.workflow.v1.DeploymentVersionTransition version_transition = 6;
        Specified by:
        getVersionTransition in interface WorkflowExecutionVersioningInfoOrBuilder
        Returns:
        The versionTransition.
      • getVersionTransitionOrBuilder

        public DeploymentVersionTransitionOrBuilder getVersionTransitionOrBuilder()
         When present, indicates the workflow is transitioning to a different deployment version
         (which may belong to the same deployment name or another). Can indicate one of the following
         transitions: unversioned -> versioned, versioned -> versioned
         on a different deployment version, or versioned -> unversioned.
         Not applicable to workflows with PINNED behavior.
         When a workflow with AUTO_UPGRADE behavior creates a new workflow task, it will automatically
         start a transition to the task queue's current version if the task queue's current version is
         different from the workflow's current deployment version.
         If the AUTO_UPGRADE workflow is stuck due to backlogged activity or workflow tasks, those
         tasks will be redirected to the task queue's current version. As soon as a poller from
         that deployment version is available to receive the task, the workflow will automatically
         start a transition to that version and continue execution there.
         A version transition can only exist while there is a pending or started workflow task.
         Once the pending workflow task completes on the transition's target version, the
         transition completes and the workflow's `behavior`, and `version` fields are updated per the
         worker's task completion response.
         Pending activities will not start new attempts during a transition. Once the transition is
         completed, pending activities will start their next attempt on the new version.
         
        .temporal.api.workflow.v1.DeploymentVersionTransition version_transition = 6;
        Specified by:
        getVersionTransitionOrBuilder in interface WorkflowExecutionVersioningInfoOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws java.io.IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        java.io.IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static WorkflowExecutionVersioningInfo parseFrom​(java.nio.ByteBuffer data)
                                                         throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static WorkflowExecutionVersioningInfo parseFrom​(java.nio.ByteBuffer data,
                                                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                         throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static WorkflowExecutionVersioningInfo parseFrom​(com.google.protobuf.ByteString data)
                                                         throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static WorkflowExecutionVersioningInfo parseFrom​(com.google.protobuf.ByteString data,
                                                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                         throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static WorkflowExecutionVersioningInfo parseFrom​(byte[] data)
                                                         throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static WorkflowExecutionVersioningInfo parseFrom​(byte[] data,
                                                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                         throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static WorkflowExecutionVersioningInfo parseFrom​(java.io.InputStream input)
                                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static WorkflowExecutionVersioningInfo parseFrom​(java.io.InputStream input,
                                                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static WorkflowExecutionVersioningInfo parseDelimitedFrom​(java.io.InputStream input)
                                                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static WorkflowExecutionVersioningInfo parseDelimitedFrom​(java.io.InputStream input,
                                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static WorkflowExecutionVersioningInfo parseFrom​(com.google.protobuf.CodedInputStream input)
                                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static WorkflowExecutionVersioningInfo parseFrom​(com.google.protobuf.CodedInputStream input,
                                                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • newBuilderForType

        public WorkflowExecutionVersioningInfo.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public WorkflowExecutionVersioningInfo.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected WorkflowExecutionVersioningInfo.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<WorkflowExecutionVersioningInfo> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public WorkflowExecutionVersioningInfo getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder