Skip to content

Commit cb5d6ec

Browse files
authored
update idls to use refresh tasks API (#668)
* add refresh tasks API to client
1 parent b72242c commit cb5d6ec

File tree

14 files changed

+146
-44
lines changed

14 files changed

+146
-44
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ env:
77

88
before_install:
99
- pushd /tmp
10-
- wget https://www-us.apache.org/dist/thrift/0.9.3/thrift-0.9.3.tar.gz
10+
- wget https://archive.apache.org/dist/thrift/0.9.3/thrift-0.9.3.tar.gz
1111
- tar xfz thrift-0.9.3.tar.gz
1212
- cd thrift-0.9.3
1313
- ./configure --enable-libs=no --enable-tests=no --enable-tutorial=no --with-cpp=no --with-c_glib=no --with-java=yes --with-ruby=no --with-erlang=no --with-go=no --with-nodejs=no --with-python=no

build.gradle

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,11 @@ uploadArchives {
266266
name 'Maxim Fateev'
267267
268268
}
269+
developer {
270+
id 'mkol'
271+
name 'Max K'
272+
273+
}
269274
developer {
270275
id 'meiliang'
271276
name 'Liang Mei'

docker/buildkite/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ RUN apk add git libstdc++
1313

1414
# Compile source
1515
RUN set -ex ;\
16-
wget https://downloads.apache.org/thrift/${APACHE_THRIFT_VERSION}/thrift-${APACHE_THRIFT_VERSION}.tar.gz && \
16+
wget https://archive.apache.org/dist/thrift/${APACHE_THRIFT_VERSION}/thrift-${APACHE_THRIFT_VERSION}.tar.gz && \
1717
tar -xvf thrift-${APACHE_THRIFT_VERSION}.tar.gz && \
1818
rm thrift-${APACHE_THRIFT_VERSION}.tar.gz && \
1919
cd thrift-${APACHE_THRIFT_VERSION}/ && \

src/main/idls

Submodule idls updated from d9811d5 to 3318277

src/main/java/com/uber/cadence/client/WorkflowClient.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
package com.uber.cadence.client;
1919

20+
import com.uber.cadence.RefreshWorkflowTasksRequest;
2021
import com.uber.cadence.WorkflowExecution;
2122
import com.uber.cadence.activity.Activity;
2223
import com.uber.cadence.internal.sync.WorkflowClientInternal;
@@ -34,6 +35,7 @@
3435
import com.uber.cadence.workflow.WorkflowMethod;
3536
import java.util.Optional;
3637
import java.util.concurrent.CompletableFuture;
38+
import org.apache.thrift.TException;
3739

3840
/**
3941
* Client to the Cadence service used to start and query workflows by external processes. Also it
@@ -237,6 +239,14 @@ WorkflowStub newUntypedWorkflowStub(
237239
*/
238240
WorkflowExecution signalWithStart(BatchRequest signalWithStartBatch);
239241

242+
/**
243+
* Refreshes all the tasks of a given workflow.
244+
*
245+
* @param refreshWorkflowTasksRequest that contains WorkflowID and RunID of the started workflow.
246+
*/
247+
void refreshWorkflowTasks(RefreshWorkflowTasksRequest refreshWorkflowTasksRequest)
248+
throws TException;
249+
240250
/**
241251
* Executes zero argument workflow with void return type
242252
*

src/main/java/com/uber/cadence/internal/sync/TestActivityEnvironmentInternal.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -554,6 +554,13 @@ public ListTaskListPartitionsResponse ListTaskListPartitions(
554554
return impl.ListTaskListPartitions(request);
555555
}
556556

557+
@Override
558+
public void RefreshWorkflowTasks(RefreshWorkflowTasksRequest request)
559+
throws BadRequestError, DomainNotActiveError, ServiceBusyError, EntityNotExistsError,
560+
TException {
561+
impl.RefreshWorkflowTasks(request);
562+
}
563+
557564
@Override
558565
public void RegisterDomain(
559566
RegisterDomainRequest registerRequest, AsyncMethodCallback resultHandler)
@@ -843,6 +850,10 @@ public void ListTaskListPartitions(
843850
ListTaskListPartitionsRequest request, AsyncMethodCallback resultHandler)
844851
throws TException {}
845852

853+
@Override
854+
public void RefreshWorkflowTasks(
855+
RefreshWorkflowTasksRequest request, AsyncMethodCallback resultHandler) throws TException {}
856+
846857
@Override
847858
public void RegisterDomain(RegisterDomainRequest registerRequest)
848859
throws BadRequestError, InternalServiceError, DomainAlreadyExistsError, TException {

src/main/java/com/uber/cadence/internal/sync/TestWorkflowEnvironmentInternal.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import com.uber.cadence.DescribeWorkflowExecutionRequest;
3131
import com.uber.cadence.DescribeWorkflowExecutionResponse;
3232
import com.uber.cadence.DomainAlreadyExistsError;
33+
import com.uber.cadence.DomainNotActiveError;
3334
import com.uber.cadence.EntityNotExistsError;
3435
import com.uber.cadence.GetSearchAttributesResponse;
3536
import com.uber.cadence.GetTaskListsByDomainRequest;
@@ -61,6 +62,7 @@
6162
import com.uber.cadence.RecordActivityTaskHeartbeatByIDRequest;
6263
import com.uber.cadence.RecordActivityTaskHeartbeatRequest;
6364
import com.uber.cadence.RecordActivityTaskHeartbeatResponse;
65+
import com.uber.cadence.RefreshWorkflowTasksRequest;
6466
import com.uber.cadence.RegisterDomainRequest;
6567
import com.uber.cadence.RequestCancelWorkflowExecutionRequest;
6668
import com.uber.cadence.ResetStickyTaskListRequest;
@@ -424,6 +426,13 @@ public ListTaskListPartitionsResponse ListTaskListPartitions(
424426
return impl.ListTaskListPartitions(request);
425427
}
426428

429+
@Override
430+
public void RefreshWorkflowTasks(RefreshWorkflowTasksRequest request)
431+
throws BadRequestError, DomainNotActiveError, ServiceBusyError, EntityNotExistsError,
432+
TException {
433+
impl.RefreshWorkflowTasks(request);
434+
}
435+
427436
@Override
428437
public void RegisterDomain(
429438
RegisterDomainRequest registerRequest, AsyncMethodCallback resultHandler)
@@ -718,6 +727,10 @@ public void ListTaskListPartitions(
718727
ListTaskListPartitionsRequest request, AsyncMethodCallback resultHandler)
719728
throws TException {}
720729

730+
@Override
731+
public void RefreshWorkflowTasks(
732+
RefreshWorkflowTasksRequest request, AsyncMethodCallback resultHandler) throws TException {}
733+
721734
@Override
722735
public void RegisterDomain(RegisterDomainRequest registerRequest)
723736
throws BadRequestError, InternalServiceError, DomainAlreadyExistsError, TException {

src/main/java/com/uber/cadence/internal/sync/WorkflowClientInternal.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import com.google.common.base.Strings;
2121
import com.google.common.reflect.TypeToken;
22+
import com.uber.cadence.RefreshWorkflowTasksRequest;
2223
import com.uber.cadence.WorkflowExecution;
2324
import com.uber.cadence.client.ActivityCompletionClient;
2425
import com.uber.cadence.client.BatchRequest;
@@ -42,6 +43,7 @@
4243
import java.util.Objects;
4344
import java.util.Optional;
4445
import java.util.concurrent.CompletableFuture;
46+
import org.apache.thrift.TException;
4547

4648
public final class WorkflowClientInternal implements WorkflowClient {
4749

@@ -205,6 +207,12 @@ public WorkflowExecution signalWithStart(BatchRequest signalWithStartBatch) {
205207
return ((SignalWithStartBatchRequest) signalWithStartBatch).invoke();
206208
}
207209

210+
@Override
211+
public void refreshWorkflowTasks(RefreshWorkflowTasksRequest refreshWorkflowTasksRequest)
212+
throws TException {
213+
workflowService.RefreshWorkflowTasks(refreshWorkflowTasksRequest);
214+
}
215+
208216
public static WorkflowExecution start(Functions.Proc workflow) {
209217
WorkflowInvocationHandler.initAsyncInvocation(InvocationType.START);
210218
try {

src/main/java/com/uber/cadence/internal/testservice/TestWorkflowService.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
import com.uber.cadence.RecordActivityTaskHeartbeatByIDRequest;
6262
import com.uber.cadence.RecordActivityTaskHeartbeatRequest;
6363
import com.uber.cadence.RecordActivityTaskHeartbeatResponse;
64+
import com.uber.cadence.RefreshWorkflowTasksRequest;
6465
import com.uber.cadence.RegisterDomainRequest;
6566
import com.uber.cadence.RequestCancelWorkflowExecutionRequest;
6667
import com.uber.cadence.ResetStickyTaskListRequest;
@@ -773,6 +774,13 @@ public ListTaskListPartitionsResponse ListTaskListPartitions(
773774
throw new UnsupportedOperationException("not implemented");
774775
}
775776

777+
@Override
778+
public void RefreshWorkflowTasks(RefreshWorkflowTasksRequest request)
779+
throws BadRequestError, DomainNotActiveError, ServiceBusyError, EntityNotExistsError,
780+
TException {
781+
throw new UnsupportedOperationException("not implemented");
782+
}
783+
776784
@Override
777785
public void RegisterDomain(
778786
RegisterDomainRequest registerRequest, AsyncMethodCallback resultHandler) throws TException {
@@ -1086,6 +1094,10 @@ public void GetClusterInfo(AsyncMethodCallback resultHandler) throws TException
10861094
public void ListTaskListPartitions(
10871095
ListTaskListPartitionsRequest request, AsyncMethodCallback resultHandler) throws TException {}
10881096

1097+
@Override
1098+
public void RefreshWorkflowTasks(
1099+
RefreshWorkflowTasksRequest request, AsyncMethodCallback resultHandler) throws TException {}
1100+
10891101
private <R> R requireNotNull(String fieldName, R value) throws BadRequestError {
10901102
if (value == null) {
10911103
throw new BadRequestError("Missing requried field \"" + fieldName + "\".");

src/main/java/com/uber/cadence/internal/worker/PollerOptions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,8 @@ public Builder setPollThreadNamePrefix(String pollThreadNamePrefix) {
137137
}
138138

139139
/**
140-
* The poller will check task executor's remaining capacity before polling tasks.
141-
* This is to prevent task to get started but not being able to execute in time.
140+
* The poller will check task executor's remaining capacity before polling tasks. This is to
141+
* prevent task to get started but not being able to execute in time.
142142
*/
143143
public Builder setPollOnlyIfExecutorHasCapacity(boolean pollOnlyIfExecutorHasCapacity) {
144144
this.pollOnlyIfExecutorHasCapacity = pollOnlyIfExecutorHasCapacity;

0 commit comments

Comments
 (0)