Skip to content

Commit a604a2c

Browse files
committed
Fix. NPE on async result
1 parent ee760aa commit a604a2c

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

src/main/java/io/eigr/spawn/api/Value.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ public String toString() {
157157
final StringBuilder sb = new StringBuilder("Value{");
158158
sb.append("state=").append(state);
159159
sb.append("checkpoint=").append(checkpoint);
160-
sb.append(", value=").append(response);
160+
sb.append(", response=").append(response);
161161
sb.append(", broadcast=").append(broadcast);
162162
sb.append(", forward=").append(forward);
163163
sb.append(", pipe=").append(pipe);

src/main/java/io/eigr/spawn/internal/handlers/ActorServiceHandler.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,13 @@ private Protocol.ActorInvocationResponse handleRequest(HttpExchange exchange) th
9292
if (maybeValueResponse.isPresent()) {
9393
Value valueResponse = maybeValueResponse.get();
9494
Any encodedState = Any.pack(valueResponse.getState());
95-
Any encodedValue = Any.pack(valueResponse.getResponse());
95+
96+
Any encodedValue;
97+
if (Objects.isNull(valueResponse.getResponse())){
98+
encodedValue = Any.pack(Protocol.Noop.getDefaultInstance());
99+
}else {
100+
encodedValue = Any.pack(valueResponse.getResponse());
101+
}
96102

97103
Protocol.Context updatedContext = Protocol.Context.newBuilder()
98104
.setState(encodedState)

0 commit comments

Comments
 (0)