Skip to content

Commit b839f34

Browse files
authored
handle proto errors for activity APIs (#690)
1 parent d4d746f commit b839f34

File tree

1 file changed

+105
-50
lines changed

1 file changed

+105
-50
lines changed

src/main/java/com/uber/cadence/internal/compatibility/Thrift2ProtoAdapter.java

Lines changed: 105 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -321,12 +321,17 @@ public RecordActivityTaskHeartbeatResponse RecordActivityTaskHeartbeat(
321321
throws BadRequestError, EntityNotExistsError, DomainNotActiveError, LimitExceededError,
322322
ServiceBusyError, ClientVersionNotSupportedError, WorkflowExecutionAlreadyCompletedError,
323323
TException {
324-
com.uber.cadence.api.v1.RecordActivityTaskHeartbeatResponse response =
325-
grpcServiceStubs
326-
.workerBlockingStub()
327-
.recordActivityTaskHeartbeat(
328-
RequestMapper.recordActivityTaskHeartbeatRequest(heartbeatRequest));
329-
return ResponseMapper.recordActivityTaskHeartbeatResponse(response);
324+
try {
325+
com.uber.cadence.api.v1.RecordActivityTaskHeartbeatResponse response =
326+
grpcServiceStubs
327+
.workerBlockingStub()
328+
.recordActivityTaskHeartbeat(
329+
RequestMapper.recordActivityTaskHeartbeatRequest(heartbeatRequest));
330+
return ResponseMapper.recordActivityTaskHeartbeatResponse(response);
331+
} catch (StatusRuntimeException e) {
332+
convertAndThrowStatusException(e);
333+
throw e;
334+
}
330335
}
331336

332337
@Override
@@ -335,23 +340,33 @@ public RecordActivityTaskHeartbeatResponse RecordActivityTaskHeartbeatByID(
335340
throws BadRequestError, EntityNotExistsError, DomainNotActiveError, LimitExceededError,
336341
ServiceBusyError, ClientVersionNotSupportedError, WorkflowExecutionAlreadyCompletedError,
337342
TException {
338-
com.uber.cadence.api.v1.RecordActivityTaskHeartbeatByIDResponse response =
339-
grpcServiceStubs
340-
.workerBlockingStub()
341-
.recordActivityTaskHeartbeatByID(
342-
RequestMapper.recordActivityTaskHeartbeatByIdRequest(heartbeatRequest));
343-
return ResponseMapper.recordActivityTaskHeartbeatByIdResponse(response);
343+
try {
344+
com.uber.cadence.api.v1.RecordActivityTaskHeartbeatByIDResponse response =
345+
grpcServiceStubs
346+
.workerBlockingStub()
347+
.recordActivityTaskHeartbeatByID(
348+
RequestMapper.recordActivityTaskHeartbeatByIdRequest(heartbeatRequest));
349+
return ResponseMapper.recordActivityTaskHeartbeatByIdResponse(response);
350+
} catch (StatusRuntimeException e) {
351+
convertAndThrowStatusException(e);
352+
throw e;
353+
}
344354
}
345355

346356
@Override
347357
public void RespondActivityTaskCompleted(RespondActivityTaskCompletedRequest completeRequest)
348358
throws BadRequestError, EntityNotExistsError, DomainNotActiveError, LimitExceededError,
349359
ServiceBusyError, ClientVersionNotSupportedError, WorkflowExecutionAlreadyCompletedError,
350360
TException {
351-
grpcServiceStubs
352-
.workerBlockingStub()
353-
.respondActivityTaskCompleted(
354-
RequestMapper.respondActivityTaskCompletedRequest(completeRequest));
361+
try {
362+
grpcServiceStubs
363+
.workerBlockingStub()
364+
.respondActivityTaskCompleted(
365+
RequestMapper.respondActivityTaskCompletedRequest(completeRequest));
366+
} catch (StatusRuntimeException e) {
367+
convertAndThrowStatusException(e);
368+
throw e;
369+
}
355370
}
356371

357372
@Override
@@ -360,42 +375,62 @@ public void RespondActivityTaskCompletedByID(
360375
throws BadRequestError, EntityNotExistsError, DomainNotActiveError, LimitExceededError,
361376
ServiceBusyError, ClientVersionNotSupportedError, WorkflowExecutionAlreadyCompletedError,
362377
TException {
363-
grpcServiceStubs
364-
.workerBlockingStub()
365-
.respondActivityTaskCompletedByID(
366-
RequestMapper.respondActivityTaskCompletedByIdRequest(completeRequest));
378+
try {
379+
grpcServiceStubs
380+
.workerBlockingStub()
381+
.respondActivityTaskCompletedByID(
382+
RequestMapper.respondActivityTaskCompletedByIdRequest(completeRequest));
383+
} catch (StatusRuntimeException e) {
384+
convertAndThrowStatusException(e);
385+
throw e;
386+
}
367387
}
368388

369389
@Override
370390
public void RespondActivityTaskFailed(RespondActivityTaskFailedRequest failRequest)
371391
throws BadRequestError, EntityNotExistsError, DomainNotActiveError, LimitExceededError,
372392
ServiceBusyError, ClientVersionNotSupportedError, WorkflowExecutionAlreadyCompletedError,
373393
TException {
374-
grpcServiceStubs
375-
.workerBlockingStub()
376-
.respondActivityTaskFailed(RequestMapper.respondActivityTaskFailedRequest(failRequest));
394+
try {
395+
grpcServiceStubs
396+
.workerBlockingStub()
397+
.respondActivityTaskFailed(RequestMapper.respondActivityTaskFailedRequest(failRequest));
398+
} catch (StatusRuntimeException e) {
399+
convertAndThrowStatusException(e);
400+
throw e;
401+
}
377402
}
378403

379404
@Override
380405
public void RespondActivityTaskFailedByID(RespondActivityTaskFailedByIDRequest failRequest)
381406
throws BadRequestError, EntityNotExistsError, DomainNotActiveError, LimitExceededError,
382407
ServiceBusyError, ClientVersionNotSupportedError, WorkflowExecutionAlreadyCompletedError,
383408
TException {
384-
grpcServiceStubs
385-
.workerBlockingStub()
386-
.respondActivityTaskFailedByID(
387-
RequestMapper.respondActivityTaskFailedByIdRequest(failRequest));
409+
try {
410+
grpcServiceStubs
411+
.workerBlockingStub()
412+
.respondActivityTaskFailedByID(
413+
RequestMapper.respondActivityTaskFailedByIdRequest(failRequest));
414+
} catch (StatusRuntimeException e) {
415+
convertAndThrowStatusException(e);
416+
throw e;
417+
}
388418
}
389419

390420
@Override
391421
public void RespondActivityTaskCanceled(RespondActivityTaskCanceledRequest canceledRequest)
392422
throws BadRequestError, EntityNotExistsError, DomainNotActiveError, LimitExceededError,
393423
ServiceBusyError, ClientVersionNotSupportedError, WorkflowExecutionAlreadyCompletedError,
394424
TException {
395-
grpcServiceStubs
396-
.workerBlockingStub()
397-
.respondActivityTaskCanceled(
398-
RequestMapper.respondActivityTaskCanceledRequest(canceledRequest));
425+
try {
426+
grpcServiceStubs
427+
.workerBlockingStub()
428+
.respondActivityTaskCanceled(
429+
RequestMapper.respondActivityTaskCanceledRequest(canceledRequest));
430+
} catch (StatusRuntimeException e) {
431+
convertAndThrowStatusException(e);
432+
throw e;
433+
}
399434
}
400435

401436
@Override
@@ -404,14 +439,20 @@ public void RespondActivityTaskCanceledByID(
404439
throws BadRequestError, EntityNotExistsError, DomainNotActiveError, LimitExceededError,
405440
ServiceBusyError, ClientVersionNotSupportedError, WorkflowExecutionAlreadyCompletedError,
406441
TException {
407-
grpcServiceStubs
408-
.workerBlockingStub()
409-
.respondActivityTaskCanceledByID(
410-
RequestMapper.respondActivityTaskCanceledByIdRequest(canceledRequest));
442+
try {
443+
grpcServiceStubs
444+
.workerBlockingStub()
445+
.respondActivityTaskCanceledByID(
446+
RequestMapper.respondActivityTaskCanceledByIdRequest(canceledRequest));
447+
} catch (StatusRuntimeException e) {
448+
convertAndThrowStatusException(e);
449+
throw e;
450+
}
411451
}
412452

413453
@Override
414-
public void RequestCancelWorkflowExecution(RequestCancelWorkflowExecutionRequest cancelRequest)
454+
public void RequestCancelWorkflowExecution(RequestCancelWorkflowExecutionRequest
455+
cancelRequest)
415456
throws BadRequestError, EntityNotExistsError, CancellationAlreadyRequestedError,
416457
ServiceBusyError, DomainNotActiveError, LimitExceededError,
417458
ClientVersionNotSupportedError, WorkflowExecutionAlreadyCompletedError, TException {
@@ -553,7 +594,8 @@ public CountWorkflowExecutionsResponse CountWorkflowExecutions(
553594
com.uber.cadence.api.v1.CountWorkflowExecutionsResponse response =
554595
grpcServiceStubs
555596
.visibilityBlockingStub()
556-
.countWorkflowExecutions(RequestMapper.countWorkflowExecutionsRequest(countRequest));
597+
.countWorkflowExecutions(
598+
RequestMapper.countWorkflowExecutionsRequest(countRequest));
557599
return ResponseMapper.countWorkflowExecutionsResponse(response);
558600
}
559601

@@ -573,11 +615,13 @@ public void RespondQueryTaskCompleted(RespondQueryTaskCompletedRequest completeR
573615
DomainNotActiveError, ClientVersionNotSupportedError, TException {
574616
grpcServiceStubs
575617
.workerBlockingStub()
576-
.respondQueryTaskCompleted(RequestMapper.respondQueryTaskCompletedRequest(completeRequest));
618+
.respondQueryTaskCompleted(
619+
RequestMapper.respondQueryTaskCompletedRequest(completeRequest));
577620
}
578621

579622
@Override
580-
public ResetStickyTaskListResponse ResetStickyTaskList(ResetStickyTaskListRequest resetRequest)
623+
public ResetStickyTaskListResponse ResetStickyTaskList(ResetStickyTaskListRequest
624+
resetRequest)
581625
throws BadRequestError, EntityNotExistsError, LimitExceededError, ServiceBusyError,
582626
DomainNotActiveError, ClientVersionNotSupportedError,
583627
WorkflowExecutionAlreadyCompletedError, TException {
@@ -661,13 +705,15 @@ public void RefreshWorkflowTasks(RefreshWorkflowTasksRequest request)
661705

662706
@Override
663707
public void RegisterDomain(
664-
RegisterDomainRequest registerRequest, AsyncMethodCallback resultHandler) throws TException {
708+
RegisterDomainRequest registerRequest, AsyncMethodCallback resultHandler) throws
709+
TException {
665710
throw new UnsupportedOperationException("not implemented");
666711
}
667712

668713
@Override
669714
public void DescribeDomain(
670-
DescribeDomainRequest describeRequest, AsyncMethodCallback resultHandler) throws TException {
715+
DescribeDomainRequest describeRequest, AsyncMethodCallback resultHandler) throws
716+
TException {
671717
throw new UnsupportedOperationException("not implemented");
672718
}
673719

@@ -706,7 +752,8 @@ public void GetWorkflowExecutionHistory(
706752

707753
@Override
708754
public void PollForDecisionTask(
709-
PollForDecisionTaskRequest pollRequest, AsyncMethodCallback resultHandler) throws TException {
755+
PollForDecisionTaskRequest pollRequest, AsyncMethodCallback resultHandler) throws
756+
TException {
710757
throw new UnsupportedOperationException("not implemented");
711758
}
712759

@@ -726,7 +773,8 @@ public void RespondDecisionTaskFailed(
726773

727774
@Override
728775
public void PollForActivityTask(
729-
PollForActivityTaskRequest pollRequest, AsyncMethodCallback resultHandler) throws TException {
776+
PollForActivityTaskRequest pollRequest, AsyncMethodCallback resultHandler) throws
777+
TException {
730778
throw new UnsupportedOperationException("not implemented");
731779
}
732780

@@ -801,11 +849,13 @@ public void SignalWorkflowExecution(
801849
ListenableFuture<com.uber.cadence.api.v1.SignalWorkflowExecutionResponse> resultFuture =
802850
grpcServiceStubs
803851
.workflowFutureStub()
804-
.signalWorkflowExecution(RequestMapper.signalWorkflowExecutionRequest(signalRequest));
852+
.signalWorkflowExecution(
853+
RequestMapper.signalWorkflowExecutionRequest(signalRequest));
805854
resultFuture.addListener(
806855
() -> {
807856
try {
808-
com.uber.cadence.api.v1.SignalWorkflowExecutionResponse response = resultFuture.get();
857+
com.uber.cadence.api.v1.SignalWorkflowExecutionResponse response = resultFuture
858+
.get();
809859
resultHandler.onComplete(null);
810860
} catch (Exception e) {
811861
resultHandler.onError(e);
@@ -898,7 +948,8 @@ public void ResetStickyTaskList(
898948
}
899949

900950
@Override
901-
public void QueryWorkflow(QueryWorkflowRequest queryRequest, AsyncMethodCallback resultHandler)
951+
public void QueryWorkflow(QueryWorkflowRequest queryRequest, AsyncMethodCallback
952+
resultHandler)
902953
throws TException {
903954
throw new UnsupportedOperationException("not implemented");
904955
}
@@ -911,7 +962,8 @@ public void DescribeWorkflowExecution(
911962
}
912963

913964
@Override
914-
public void DescribeTaskList(DescribeTaskListRequest request, AsyncMethodCallback resultHandler)
965+
public void DescribeTaskList(DescribeTaskListRequest request, AsyncMethodCallback
966+
resultHandler)
915967
throws TException {
916968
throw new UnsupportedOperationException("not implemented");
917969
}
@@ -929,7 +981,8 @@ public void GetTaskListsByDomain(
929981

930982
@Override
931983
public void ListTaskListPartitions(
932-
ListTaskListPartitionsRequest request, AsyncMethodCallback resultHandler) throws TException {
984+
ListTaskListPartitionsRequest request, AsyncMethodCallback resultHandler) throws
985+
TException {
933986
throw new UnsupportedOperationException("not implemented");
934987
}
935988

@@ -989,7 +1042,8 @@ public void StartWorkflowExecutionWithTimeout(
9891042
resultFuture.addListener(
9901043
() -> {
9911044
try {
992-
com.uber.cadence.api.v1.StartWorkflowExecutionResponse response = resultFuture.get();
1045+
com.uber.cadence.api.v1.StartWorkflowExecutionResponse response = resultFuture
1046+
.get();
9931047
resultHandler.onComplete(ResponseMapper.startWorkflowExecutionResponse(response));
9941048
} catch (Exception e) {
9951049
resultHandler.onError(e);
@@ -1028,7 +1082,8 @@ public void GetWorkflowExecutionHistoryWithTimeout(
10281082
try {
10291083
com.uber.cadence.api.v1.GetWorkflowExecutionHistoryResponse response =
10301084
resultFuture.get();
1031-
resultHandler.onComplete(ResponseMapper.getWorkflowExecutionHistoryResponse(response));
1085+
resultHandler
1086+
.onComplete(ResponseMapper.getWorkflowExecutionHistoryResponse(response));
10321087
} catch (Exception e) {
10331088
resultHandler.onError(e);
10341089
}

0 commit comments

Comments
 (0)