@@ -517,6 +517,16 @@ workflow_state = ? ` +
517517 `and task_id > ? ` +
518518 `and task_id <= ?`
519519
520+ templateGetReplicationTaskQuery = `SELECT replication, replication_encoding ` +
521+ `FROM executions ` +
522+ `WHERE shard_id = ? ` +
523+ `and type = ? ` +
524+ `and namespace_id = ? ` +
525+ `and workflow_id = ? ` +
526+ `and run_id = ? ` +
527+ `and visibility_ts = ? ` +
528+ `and task_id = ? `
529+
520530 templateGetReplicationTasksQuery = `SELECT replication, replication_encoding ` +
521531 `FROM executions ` +
522532 `WHERE shard_id = ? ` +
@@ -1964,6 +1974,33 @@ func (d *cassandraPersistence) GetTransferTasks(request *p.GetTransferTasksReque
19641974 return response , nil
19651975}
19661976
1977+ func (d * cassandraPersistence ) GetReplicationTask (request * p.GetReplicationTaskRequest ) (* p.GetReplicationTaskResponse , error ) {
1978+ shardID := d .shardID
1979+ taskID := request .TaskID
1980+ query := d .session .Query (templateGetReplicationTaskQuery ,
1981+ shardID ,
1982+ rowTypeReplicationTask ,
1983+ rowTypeReplicationNamespaceID ,
1984+ rowTypeReplicationWorkflowID ,
1985+ rowTypeReplicationRunID ,
1986+ defaultVisibilityTimestamp ,
1987+ taskID )
1988+
1989+ var data []byte
1990+ var encoding string
1991+ if err := query .Scan (& data , & encoding ); err != nil {
1992+ return nil , convertCommonErrors ("GetReplicationTask" , err )
1993+ }
1994+
1995+ info , err := serialization .ReplicationTaskInfoFromBlob (data , encoding )
1996+
1997+ if err != nil {
1998+ return nil , convertCommonErrors ("GetReplicationTask" , err )
1999+ }
2000+
2001+ return & p.GetReplicationTaskResponse {ReplicationTaskInfo : info }, nil
2002+ }
2003+
19672004func (d * cassandraPersistence ) GetReplicationTasks (
19682005 request * p.GetReplicationTasksRequest ,
19692006) (* p.GetReplicationTasksResponse , error ) {
0 commit comments