thrift/sqlblobs.thrift (255 lines of code) (raw):
// Copyright (c) 2017 Uber Technologies, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
namespace java com.uber.cadence.sqlblobs
include "shared.thrift"
struct ShardInfo {
10: optional i32 stolenSinceRenew
12: optional i64 (js.type = "Long") updatedAtNanos
14: optional i64 (js.type = "Long") replicationAckLevel
16: optional i64 (js.type = "Long") transferAckLevel
18: optional i64 (js.type = "Long") timerAckLevelNanos
24: optional i64 (js.type = "Long") domainNotificationVersion
34: optional map<string, i64> clusterTransferAckLevel
36: optional map<string, i64> clusterTimerAckLevel
38: optional string owner
40: optional map<string, i64> clusterReplicationLevel
42: optional binary pendingFailoverMarkers
44: optional string pendingFailoverMarkersEncoding
46: optional map<string, i64> replicationDlqAckLevel
50: optional binary transferProcessingQueueStates
51: optional string transferProcessingQueueStatesEncoding
55: optional binary timerProcessingQueueStates
56: optional string timerProcessingQueueStatesEncoding
60: optional binary crossClusterProcessingQueueStates
61: optional string crossClusterProcessingQueueStatesEncoding
}
struct DomainInfo {
10: optional string name
12: optional string description
14: optional string owner
16: optional i32 status
18: optional i16 retentionDays
20: optional bool emitMetric
22: optional string archivalBucket
24: optional i16 archivalStatus
26: optional i64 (js.type = "Long") configVersion
28: optional i64 (js.type = "Long") notificationVersion
30: optional i64 (js.type = "Long") failoverNotificationVersion
32: optional i64 (js.type = "Long") failoverVersion
34: optional string activeClusterName
36: optional list<string> clusters
38: optional map<string, string> data
39: optional binary badBinaries
40: optional string badBinariesEncoding
42: optional i16 historyArchivalStatus
44: optional string historyArchivalURI
46: optional i16 visibilityArchivalStatus
48: optional string visibilityArchivalURI
50: optional i64 (js.type = "Long") failoverEndTime
52: optional i64 (js.type = "Long") previousFailoverVersion
54: optional i64 (js.type = "Long") lastUpdatedTime
56: optional binary isolationGroupsConfiguration
58: optional string isolationGroupsConfigurationEncoding
60: optional binary asyncWorkflowConfiguration
62: optional string asyncWorkflowConfigurationEncoding
}
struct HistoryTreeInfo {
10: optional i64 (js.type = "Long") createdTimeNanos // For fork operation to prevent race condition of leaking event data when forking branches fail. Also can be used for clean up leaked data
12: optional list<shared.HistoryBranchRange> ancestors
14: optional string info // For lookup back to workflow during debugging, also background cleanup when fork operation cannot finish self cleanup due to crash.
}
struct WorkflowExecutionInfo {
10: optional binary parentDomainID
12: optional string parentWorkflowID
14: optional binary parentRunID
16: optional i64 (js.type = "Long") initiatedID
18: optional i64 (js.type = "Long") completionEventBatchID
20: optional binary completionEvent
22: optional string completionEventEncoding
24: optional string taskList
26: optional string workflowTypeName
28: optional i32 workflowTimeoutSeconds
30: optional i32 decisionTaskTimeoutSeconds
32: optional binary executionContext
34: optional i32 state
36: optional i32 closeStatus
38: optional i64 (js.type = "Long") startVersion
44: optional i64 (js.type = "Long") lastWriteEventID
48: optional i64 (js.type = "Long") lastEventTaskID
50: optional i64 (js.type = "Long") lastFirstEventID
52: optional i64 (js.type = "Long") lastProcessedEvent
54: optional i64 (js.type = "Long") startTimeNanos
56: optional i64 (js.type = "Long") lastUpdatedTimeNanos
58: optional i64 (js.type = "Long") decisionVersion
60: optional i64 (js.type = "Long") decisionScheduleID
62: optional i64 (js.type = "Long") decisionStartedID
64: optional i32 decisionTimeout
66: optional i64 (js.type = "Long") decisionAttempt
68: optional i64 (js.type = "Long") decisionStartedTimestampNanos
69: optional i64 (js.type = "Long") decisionScheduledTimestampNanos
70: optional bool cancelRequested
71: optional i64 (js.type = "Long") decisionOriginalScheduledTimestampNanos
72: optional string createRequestID
74: optional string decisionRequestID
76: optional string cancelRequestID
78: optional string stickyTaskList
80: optional i64 (js.type = "Long") stickyScheduleToStartTimeout
82: optional i64 (js.type = "Long") retryAttempt
84: optional i32 retryInitialIntervalSeconds
86: optional i32 retryMaximumIntervalSeconds
88: optional i32 retryMaximumAttempts
90: optional i32 retryExpirationSeconds
92: optional double retryBackoffCoefficient
94: optional i64 (js.type = "Long") retryExpirationTimeNanos
96: optional list<string> retryNonRetryableErrors
98: optional bool hasRetryPolicy
100: optional string cronSchedule
102: optional i32 eventStoreVersion
104: optional binary eventBranchToken
106: optional i64 (js.type = "Long") signalCount
108: optional i64 (js.type = "Long") historySize
110: optional string clientLibraryVersion
112: optional string clientFeatureVersion
114: optional string clientImpl
115: optional binary autoResetPoints
116: optional string autoResetPointsEncoding
118: optional map<string, binary> searchAttributes
120: optional map<string, binary> memo
122: optional binary versionHistories
124: optional string versionHistoriesEncoding
126: optional binary firstExecutionRunID
128: optional map<string, string> partitionConfig
130: optional binary checksum
132: optional string checksumEncoding
}
struct ActivityInfo {
10: optional i64 (js.type = "Long") version
12: optional i64 (js.type = "Long") scheduledEventBatchID
14: optional binary scheduledEvent
16: optional string scheduledEventEncoding
18: optional i64 (js.type = "Long") scheduledTimeNanos
20: optional i64 (js.type = "Long") startedID
22: optional binary startedEvent
24: optional string startedEventEncoding
26: optional i64 (js.type = "Long") startedTimeNanos
28: optional string activityID
30: optional string requestID
32: optional i32 scheduleToStartTimeoutSeconds
34: optional i32 scheduleToCloseTimeoutSeconds
36: optional i32 startToCloseTimeoutSeconds
38: optional i32 heartbeatTimeoutSeconds
40: optional bool cancelRequested
42: optional i64 (js.type = "Long") cancelRequestID
44: optional i32 timerTaskStatus
46: optional i32 attempt
48: optional string taskList
50: optional string startedIdentity
52: optional bool hasRetryPolicy
54: optional i32 retryInitialIntervalSeconds
56: optional i32 retryMaximumIntervalSeconds
58: optional i32 retryMaximumAttempts
60: optional i64 (js.type = "Long") retryExpirationTimeNanos
62: optional double retryBackoffCoefficient
64: optional list<string> retryNonRetryableErrors
66: optional string retryLastFailureReason
68: optional string retryLastWorkerIdentity
70: optional binary retryLastFailureDetails
}
struct ChildExecutionInfo {
10: optional i64 (js.type = "Long") version
12: optional i64 (js.type = "Long") initiatedEventBatchID
14: optional i64 (js.type = "Long") startedID
16: optional binary initiatedEvent
18: optional string initiatedEventEncoding
20: optional string startedWorkflowID
22: optional binary startedRunID
24: optional binary startedEvent
26: optional string startedEventEncoding
28: optional string createRequestID
29: optional string domainID
30: optional string domainName // deprecated
32: optional string workflowTypeName
35: optional i32 parentClosePolicy
}
struct SignalInfo {
10: optional i64 (js.type = "Long") version
11: optional i64 (js.type = "Long") initiatedEventBatchID
12: optional string requestID
14: optional string name
16: optional binary input
18: optional binary control
}
struct RequestCancelInfo {
10: optional i64 (js.type = "Long") version
11: optional i64 (js.type = "Long") initiatedEventBatchID
12: optional string cancelRequestID
}
struct TimerInfo {
10: optional i64 (js.type = "Long") version
12: optional i64 (js.type = "Long") startedID
14: optional i64 (js.type = "Long") expiryTimeNanos
// TaskID is a misleading variable, it actually serves
// the purpose of indicating whether a timer task is
// generated for this timer info
16: optional i64 (js.type = "Long") taskID
}
struct TaskInfo {
10: optional string workflowID
12: optional binary runID
13: optional i64 (js.type = "Long") scheduleID
14: optional i64 (js.type = "Long") expiryTimeNanos
15: optional i64 (js.type = "Long") createdTimeNanos
17: optional map<string, string> partitionConfig
}
struct TaskListInfo {
10: optional i16 kind // {Normal, Sticky}
12: optional i64 (js.type = "Long") ackLevel
14: optional i64 (js.type = "Long") expiryTimeNanos
16: optional i64 (js.type = "Long") lastUpdatedNanos
}
struct TransferTaskInfo {
10: optional binary domainID
12: optional string workflowID
14: optional binary runID
16: optional i16 taskType
18: optional binary targetDomainID
20: optional string targetWorkflowID
22: optional binary targetRunID
24: optional string taskList
26: optional bool targetChildWorkflowOnly
28: optional i64 (js.type = "Long") scheduleID
30: optional i64 (js.type = "Long") version
32: optional i64 (js.type = "Long") visibilityTimestampNanos
34: optional set<binary> targetDomainIDs
}
struct TimerTaskInfo {
10: optional binary domainID
12: optional string workflowID
14: optional binary runID
16: optional i16 taskType
18: optional i16 timeoutType
20: optional i64 (js.type = "Long") version
22: optional i64 (js.type = "Long") scheduleAttempt
24: optional i64 (js.type = "Long") eventID
}
struct ReplicationTaskInfo {
10: optional binary domainID
12: optional string workflowID
14: optional binary runID
16: optional i16 taskType
18: optional i64 (js.type = "Long") version
20: optional i64 (js.type = "Long") firstEventID
22: optional i64 (js.type = "Long") nextEventID
24: optional i64 (js.type = "Long") scheduledID
26: optional i32 eventStoreVersion
28: optional i32 newRunEventStoreVersion
30: optional binary branch_token
34: optional binary newRunBranchToken
38: optional i64 (js.type = "Long") creationTime
}
enum AsyncRequestType {
StartWorkflowExecutionAsyncRequest
SignalWithStartWorkflowExecutionAsyncRequest
}
struct AsyncRequestMessage {
10: optional string partitionKey
12: optional AsyncRequestType type
14: optional shared.Header header
16: optional string encoding
18: optional binary payload
}