Skip to content

Commit d2a7d60

Browse files
committed
fixed copilot comments
1 parent 358a0d0 commit d2a7d60

18 files changed

Lines changed: 123 additions & 39 deletions

client/src/main/java/com/microsoft/durabletask/OrchestrationHistoryEvent.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import javax.annotation.Nullable;
77
import java.time.Instant;
88
import java.util.Collections;
9+
import java.util.HashMap;
910
import java.util.Map;
1011

1112
/**
@@ -47,7 +48,7 @@ public OrchestrationHistoryEvent(
4748
this.eventId = eventId;
4849
this.timestamp = timestamp;
4950
this.eventType = eventType;
50-
this.data = Collections.unmodifiableMap(data);
51+
this.data = Collections.unmodifiableMap(new HashMap<>(data));
5152
}
5253

5354
/**

client/src/main/java/com/microsoft/durabletask/OrchestrationHistoryEventMapper.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,13 @@ private static Message getEventMessage(HistoryEvent proto, HistoryEvent.EventTyp
129129
case EXECUTIONSUSPENDED: return proto.getExecutionSuspended();
130130
case EXECUTIONRESUMED: return proto.getExecutionResumed();
131131
case EXECUTIONREWOUND: return proto.getExecutionRewound();
132+
case ENTITYOPERATIONSIGNALED: return proto.getEntityOperationSignaled();
133+
case ENTITYOPERATIONCALLED: return proto.getEntityOperationCalled();
134+
case ENTITYOPERATIONCOMPLETED: return proto.getEntityOperationCompleted();
135+
case ENTITYOPERATIONFAILED: return proto.getEntityOperationFailed();
136+
case ENTITYLOCKREQUESTED: return proto.getEntityLockRequested();
137+
case ENTITYLOCKGRANTED: return proto.getEntityLockGranted();
138+
case ENTITYUNLOCKSENT: return proto.getEntityUnlockSent();
132139
default: return null;
133140
}
134141
}
@@ -141,8 +148,11 @@ private static Object convertProtoValue(Object value) {
141148
if (value instanceof com.google.protobuf.StringValue) {
142149
return ((com.google.protobuf.StringValue) value).getValue();
143150
}
144-
if (value instanceof com.google.protobuf.Enum) {
145-
return value.toString();
151+
if (value instanceof Descriptors.EnumValueDescriptor) {
152+
return ((Descriptors.EnumValueDescriptor) value).getName();
153+
}
154+
if (value instanceof com.google.protobuf.ProtocolMessageEnum) {
155+
return ((com.google.protobuf.ProtocolMessageEnum) value).getValueDescriptor().getName();
146156
}
147157
if (value instanceof Message) {
148158
// Recursively flatten nested messages

exporthistory/src/main/java/com/microsoft/durabletask/exporthistory/client/DefaultExportHistoryJobClient.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,16 @@ public void create(@Nonnull ExportJobCreationOptions options) {
7878
// Wait for completion
7979
try {
8080
OrchestrationMetadata result = this.durableTaskClient.waitForInstanceCompletion(
81-
instanceId, OPERATION_TIMEOUT, false);
81+
instanceId, OPERATION_TIMEOUT, true);
8282
if (result != null && result.isRunning()) {
8383
throw new RuntimeException("Create operation did not complete in time for job: " + this.jobId);
8484
}
85+
if (result != null && result.getRuntimeStatus() == com.microsoft.durabletask.OrchestrationRuntimeStatus.FAILED) {
86+
String details = result.getFailureDetails() != null
87+
? result.getFailureDetails().getErrorMessage()
88+
: "unknown error";
89+
throw new RuntimeException("Create operation failed for job '" + this.jobId + "': " + details);
90+
}
8591
} catch (TimeoutException e) {
8692
throw new RuntimeException("Timed out waiting for create operation for job: " + this.jobId, e);
8793
}
@@ -100,6 +106,9 @@ public void create(@Nonnull ExportJobCreationOptions options) {
100106
throw new RuntimeException("Interrupted waiting for entity visibility", ie);
101107
}
102108
}
109+
throw new RuntimeException(
110+
"Create operation completed but entity metadata for job '" + this.jobId
111+
+ "' did not become visible within the expected time.");
103112
}
104113

105114
@Override

exporthistory/src/main/java/com/microsoft/durabletask/exporthistory/models/ExportCheckpoint.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,6 @@ public ExportCheckpoint(@Nullable String lastInstanceKey) {
2222
public String getLastInstanceKey() {
2323
return this.lastInstanceKey;
2424
}
25+
26+
public void setLastInstanceKey(String lastInstanceKey) { this.lastInstanceKey = lastInstanceKey; }
2527
}

exporthistory/src/main/java/com/microsoft/durabletask/exporthistory/models/ExportDestination.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,7 @@ public String getContainer() {
5151
public String getPrefix() {
5252
return this.prefix;
5353
}
54+
55+
public void setContainer(String container) { this.container = container; }
56+
public void setPrefix(String prefix) { this.prefix = prefix; }
5457
}

exporthistory/src/main/java/com/microsoft/durabletask/exporthistory/models/ExportFailure.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,9 @@ public int getAttemptCount() {
4747
public Instant getLastAttempt() {
4848
return this.lastAttempt;
4949
}
50+
51+
public void setInstanceId(String instanceId) { this.instanceId = instanceId; }
52+
public void setReason(String reason) { this.reason = reason; }
53+
public void setAttemptCount(int attemptCount) { this.attemptCount = attemptCount; }
54+
public void setLastAttempt(Instant lastAttempt) { this.lastAttempt = lastAttempt; }
5055
}

exporthistory/src/main/java/com/microsoft/durabletask/exporthistory/models/ExportFilter.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,8 @@ public Instant getCompletedTimeTo() {
4747
public Collection<OrchestrationRuntimeStatus> getRuntimeStatus() {
4848
return this.runtimeStatus;
4949
}
50+
51+
public void setCompletedTimeFrom(Instant completedTimeFrom) { this.completedTimeFrom = completedTimeFrom; }
52+
public void setCompletedTimeTo(Instant completedTimeTo) { this.completedTimeTo = completedTimeTo; }
53+
public void setRuntimeStatus(Collection<OrchestrationRuntimeStatus> runtimeStatus) { this.runtimeStatus = runtimeStatus; }
5054
}

exporthistory/src/main/java/com/microsoft/durabletask/exporthistory/models/ExportFormat.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,7 @@ public ExportFormatKind getKind() {
5151
public String getSchemaVersion() {
5252
return this.schemaVersion;
5353
}
54+
55+
public void setKind(ExportFormatKind kind) { this.kind = kind; }
56+
public void setSchemaVersion(String schemaVersion) { this.schemaVersion = schemaVersion; }
5457
}

exporthistory/src/main/java/com/microsoft/durabletask/exporthistory/models/ExportJobConfiguration.java

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ public final class ExportJobConfiguration {
1313
private static final int DEFAULT_MAX_PARALLEL_EXPORTS = 32;
1414
private static final int DEFAULT_MAX_INSTANCES_PER_BATCH = 100;
1515

16-
private final ExportMode mode;
17-
private final ExportFilter filter;
18-
private final ExportDestination destination;
19-
private final ExportFormat format;
20-
private final int maxParallelExports;
21-
private final int maxInstancesPerBatch;
16+
private ExportMode mode;
17+
private ExportFilter filter;
18+
private ExportDestination destination;
19+
private ExportFormat format;
20+
private int maxParallelExports;
21+
private int maxInstancesPerBatch;
2222

2323
public ExportJobConfiguration(
2424
@Nonnull ExportMode mode,
@@ -81,4 +81,11 @@ public int getMaxParallelExports() {
8181
public int getMaxInstancesPerBatch() {
8282
return this.maxInstancesPerBatch;
8383
}
84+
85+
public void setMode(ExportMode mode) { this.mode = mode; }
86+
public void setFilter(ExportFilter filter) { this.filter = filter; }
87+
public void setDestination(ExportDestination destination) { this.destination = destination; }
88+
public void setFormat(ExportFormat format) { this.format = format; }
89+
public void setMaxParallelExports(int maxParallelExports) { this.maxParallelExports = maxParallelExports; }
90+
public void setMaxInstancesPerBatch(int maxInstancesPerBatch) { this.maxInstancesPerBatch = maxInstancesPerBatch; }
8491
}

exporthistory/src/main/java/com/microsoft/durabletask/exporthistory/models/ExportJobCreationOptions.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public ExportJobCreationOptions(
102102
this.destination = destination;
103103
this.format = format != null ? format : ExportFormat.DEFAULT;
104104
this.runtimeStatus = runtimeStatus;
105-
this.maxInstancesPerBatch = maxInstancesPerBatch > 0 ? maxInstancesPerBatch : DEFAULT_MAX_INSTANCES_PER_BATCH;
105+
this.maxInstancesPerBatch = maxInstancesPerBatch;
106106
}
107107

108108
@Nonnull
@@ -143,4 +143,13 @@ public List<OrchestrationRuntimeStatus> getRuntimeStatus() {
143143
public int getMaxInstancesPerBatch() {
144144
return this.maxInstancesPerBatch;
145145
}
146+
147+
public void setJobId(String jobId) { this.jobId = jobId; }
148+
public void setMode(ExportMode mode) { this.mode = mode; }
149+
public void setCompletedTimeFrom(Instant completedTimeFrom) { this.completedTimeFrom = completedTimeFrom; }
150+
public void setCompletedTimeTo(Instant completedTimeTo) { this.completedTimeTo = completedTimeTo; }
151+
public void setDestination(ExportDestination destination) { this.destination = destination; }
152+
public void setFormat(ExportFormat format) { this.format = format; }
153+
public void setRuntimeStatus(List<OrchestrationRuntimeStatus> runtimeStatus) { this.runtimeStatus = runtimeStatus; }
154+
public void setMaxInstancesPerBatch(int maxInstancesPerBatch) { this.maxInstancesPerBatch = maxInstancesPerBatch; }
146155
}

0 commit comments

Comments
 (0)