Skip to content

Commit b9db8c5

Browse files
author
Liang Mei
committed
Release 1.0.5
1 parent 7d406dc commit b9db8c5

File tree

6 files changed

+168
-143
lines changed

6 files changed

+168
-143
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ googleJavaFormat {
3737
}
3838

3939
group = 'com.uber.cadence'
40-
version = '1.0.4'
40+
version = '1.0.5'
4141

4242
description = """Uber Cadence Java Client"""
4343

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

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -291,12 +291,12 @@ public void processSignal(String signalName, byte[] input, long eventId) {
291291
signalMethod.invoke(workflow, args);
292292
} catch (IllegalAccessException e) {
293293
throw new Error("Failure processing \"" + signalName + "\" at eventID " + eventId, e);
294-
} catch (DataConverterException e){
294+
} catch (DataConverterException e) {
295295
logSerializationException(signalName, eventId, e);
296296
} catch (InvocationTargetException e) {
297297
Throwable targetException = e.getTargetException();
298298
if (targetException instanceof DataConverterException) {
299-
logSerializationException(signalName, eventId, (DataConverterException)targetException);
299+
logSerializationException(signalName, eventId, (DataConverterException) targetException);
300300
} else {
301301
throw new Error(
302302
"Failure processing \"" + signalName + "\" at eventID " + eventId, targetException);
@@ -305,14 +305,15 @@ public void processSignal(String signalName, byte[] input, long eventId) {
305305
}
306306
}
307307

308-
void logSerializationException(String signalName, Long eventId, DataConverterException exception){
308+
void logSerializationException(
309+
String signalName, Long eventId, DataConverterException exception) {
309310
log.error(
310-
"Failure deserializing signal input for \""
311-
+ signalName
312-
+ "\" at eventID "
313-
+ eventId
314-
+ ". Dropping it.",
315-
exception);
311+
"Failure deserializing signal input for \""
312+
+ signalName
313+
+ "\" at eventID "
314+
+ eventId
315+
+ ". Dropping it.",
316+
exception);
316317
metricsScope.counter(MetricsType.CORRUPTED_SIGNALS_COUNTER).inc(1);
317318
}
318319

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

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -112,22 +112,23 @@ public TestWorkflowEnvironmentInternal(TestEnvironmentOptions options) {
112112

113113
@Override
114114
public Worker newWorker(String taskList) {
115-
return newWorker(taskList, x->x);
115+
return newWorker(taskList, x -> x);
116116
}
117117

118118
@Override
119-
public Worker newWorker(String taskList, Function<WorkerOptions.Builder,WorkerOptions.Builder> overrideOptions) {
119+
public Worker newWorker(
120+
String taskList, Function<WorkerOptions.Builder, WorkerOptions.Builder> overrideOptions) {
120121
WorkerOptions.Builder builder =
121-
new WorkerOptions.Builder()
122-
.setInterceptorFactory(testEnvironmentOptions.getInterceptorFactory())
123-
.setMetricsScope(testEnvironmentOptions.getMetricsScope())
124-
.setEnableLoggingInReplay(testEnvironmentOptions.isLoggingEnabledInReplay());
122+
new WorkerOptions.Builder()
123+
.setInterceptorFactory(testEnvironmentOptions.getInterceptorFactory())
124+
.setMetricsScope(testEnvironmentOptions.getMetricsScope())
125+
.setEnableLoggingInReplay(testEnvironmentOptions.isLoggingEnabledInReplay());
125126
if (testEnvironmentOptions.getDataConverter() != null) {
126127
builder.setDataConverter(testEnvironmentOptions.getDataConverter());
127128
}
128129
builder = overrideOptions.apply(builder);
129130
Worker result =
130-
new Worker(service, testEnvironmentOptions.getDomain(), taskList, builder.build());
131+
new Worker(service, testEnvironmentOptions.getDomain(), taskList, builder.build());
131132
workers.add(result);
132133
return result;
133134
}

src/main/java/com/uber/cadence/testing/TestWorkflowEnvironment.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,8 @@ static TestWorkflowEnvironment newInstance(TestEnvironmentOptions options) {
113113
* @param taskList task list to poll.
114114
* @param overrideOptions is used to override the default worker options.
115115
*/
116-
Worker newWorker(String taskList, Function<WorkerOptions.Builder,WorkerOptions.Builder> overrideOptions);
116+
Worker newWorker(
117+
String taskList, Function<WorkerOptions.Builder, WorkerOptions.Builder> overrideOptions);
117118

118119
/** Creates a WorkflowClient that is connected to the in-memory test Cadence service. */
119120
WorkflowClient newWorkflowClient();

src/test/java/com/uber/cadence/workflow/MetricsTest.java

Lines changed: 38 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
import java.time.Duration;
4040
import java.util.Map;
4141
import java.util.function.Function;
42-
4342
import org.junit.Rule;
4443
import org.junit.Test;
4544
import org.junit.rules.TestWatcher;
@@ -116,10 +115,12 @@ public interface ReceiveSignalObjectChildWorkflow {
116115
void close();
117116
}
118117

119-
public static class ReceiveSignalObjectChildWorkflowImpl implements ReceiveSignalObjectChildWorkflow {
118+
public static class ReceiveSignalObjectChildWorkflowImpl
119+
implements ReceiveSignalObjectChildWorkflow {
120120
private String receivedSignal = "Initial State";
121121
// Keep workflow open so that we can send signal
122122
CompletablePromise<Void> promise = Workflow.newPromise();
123+
123124
@Override
124125
public String execute() {
125126
promise.get();
@@ -147,7 +148,7 @@ public static class SendSignalObjectWorkflowImpl implements SendSignalObjectWork
147148
@Override
148149
public String execute() {
149150
ReceiveSignalObjectChildWorkflow child =
150-
Workflow.newChildWorkflowStub(ReceiveSignalObjectChildWorkflow.class);
151+
Workflow.newChildWorkflowStub(ReceiveSignalObjectChildWorkflow.class);
151152
Promise<String> greeting = Async.function(child::execute);
152153
Signal sig = new Signal();
153154
sig.value = "Hello World";
@@ -162,15 +163,12 @@ public static class Signal {
162163
public String value;
163164
}
164165

165-
public void setUp(com.uber.m3.util.Duration reportingFrequecy){
166+
public void setUp(com.uber.m3.util.Duration reportingFrequecy) {
166167
reporter = mock(StatsReporter.class);
167-
Scope scope =
168-
new RootScopeBuilder()
169-
.reporter(reporter)
170-
.reportEvery(reportingFrequecy);
168+
Scope scope = new RootScopeBuilder().reporter(reporter).reportEvery(reportingFrequecy);
171169

172170
TestEnvironmentOptions testOptions =
173-
new Builder().setDomain(WorkflowTest.DOMAIN).setMetricsScope(scope).build();
171+
new Builder().setDomain(WorkflowTest.DOMAIN).setMetricsScope(scope).build();
174172
testEnvironment = TestWorkflowEnvironment.newInstance(testOptions);
175173
}
176174

@@ -222,45 +220,52 @@ public void testWorkflowMetrics() throws InterruptedException {
222220
public void testCorruptedSignalMetrics() throws InterruptedException {
223221
setUp(com.uber.m3.util.Duration.ofMillis(300));
224222

225-
Worker worker = testEnvironment.newWorker(taskList, builder ->
226-
builder.setInterceptorFactory(new CorruptedSignalWorkflowInterceptorFactory()));
223+
Worker worker =
224+
testEnvironment.newWorker(
225+
taskList,
226+
builder ->
227+
builder.setInterceptorFactory(new CorruptedSignalWorkflowInterceptorFactory()));
227228

228229
worker.registerWorkflowImplementationTypes(
229-
SendSignalObjectWorkflowImpl.class, ReceiveSignalObjectChildWorkflowImpl.class);
230+
SendSignalObjectWorkflowImpl.class, ReceiveSignalObjectChildWorkflowImpl.class);
230231
worker.start();
231232

232233
WorkflowOptions options =
233-
new WorkflowOptions.Builder()
234-
.setExecutionStartToCloseTimeout(Duration.ofSeconds(1000))
235-
.setTaskList(taskList)
236-
.build();
234+
new WorkflowOptions.Builder()
235+
.setExecutionStartToCloseTimeout(Duration.ofSeconds(1000))
236+
.setTaskList(taskList)
237+
.build();
237238

238239
WorkflowClient workflowClient = testEnvironment.newWorkflowClient();
239-
SendSignalObjectWorkflow workflow = workflowClient.newWorkflowStub(SendSignalObjectWorkflow.class, options);
240+
SendSignalObjectWorkflow workflow =
241+
workflowClient.newWorkflowStub(SendSignalObjectWorkflow.class, options);
240242
workflow.execute();
241243

242-
//Wait for reporter
244+
// Wait for reporter
243245
Thread.sleep(600);
244246

245247
Map<String, String> tags =
246-
new ImmutableMap.Builder<String, String>(2)
247-
.put(MetricsTag.DOMAIN, WorkflowTest.DOMAIN)
248-
.put(MetricsTag.TASK_LIST, taskList)
249-
.build();
248+
new ImmutableMap.Builder<String, String>(2)
249+
.put(MetricsTag.DOMAIN, WorkflowTest.DOMAIN)
250+
.put(MetricsTag.TASK_LIST, taskList)
251+
.build();
250252
verify(reporter, times(1)).reportCounter(MetricsType.CORRUPTED_SIGNALS_COUNTER, tags, 2);
251253
}
252254

253255
private static class CorruptedSignalWorkflowInterceptorFactory
254-
implements Function<WorkflowInterceptor, WorkflowInterceptor> {
255-
256-
@Override
257-
public WorkflowInterceptor apply(WorkflowInterceptor next) {
258-
return new SignalWorkflowInterceptor(args -> {
259-
if(args != null && args.length > 0){
260-
return new Object [] {"Corrupted Signal"};
261-
}
262-
return args;
263-
}, sig->sig, next);
264-
}
256+
implements Function<WorkflowInterceptor, WorkflowInterceptor> {
257+
258+
@Override
259+
public WorkflowInterceptor apply(WorkflowInterceptor next) {
260+
return new SignalWorkflowInterceptor(
261+
args -> {
262+
if (args != null && args.length > 0) {
263+
return new Object[] {"Corrupted Signal"};
264+
}
265+
return args;
266+
},
267+
sig -> sig,
268+
next);
269+
}
265270
}
266271
}

0 commit comments

Comments
 (0)