mirror of https://github.com/grpc/grpc-java.git
services: fix callbacks not being forwarded in binlog interceptors (#4918)
This commit is contained in:
parent
5eb816b3b1
commit
308887a150
|
@ -486,6 +486,7 @@ final class BinlogHelper {
|
||||||
seq.getAndIncrement(),
|
seq.getAndIncrement(),
|
||||||
GrpcLogEntry.Logger.LOGGER_CLIENT,
|
GrpcLogEntry.Logger.LOGGER_CLIENT,
|
||||||
callId);
|
callId);
|
||||||
|
super.halfClose();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -590,6 +591,7 @@ final class BinlogHelper {
|
||||||
seq.getAndIncrement(),
|
seq.getAndIncrement(),
|
||||||
GrpcLogEntry.Logger.LOGGER_SERVER,
|
GrpcLogEntry.Logger.LOGGER_SERVER,
|
||||||
callId);
|
callId);
|
||||||
|
super.onCancel();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1082,6 +1082,8 @@ public final class BinlogHelperTest {
|
||||||
final AtomicReference<Metadata> actualClientInitial = new AtomicReference<Metadata>();
|
final AtomicReference<Metadata> actualClientInitial = new AtomicReference<Metadata>();
|
||||||
final AtomicReference<Object> actualRequest = new AtomicReference<Object>();
|
final AtomicReference<Object> actualRequest = new AtomicReference<Object>();
|
||||||
|
|
||||||
|
final SettableFuture<Void> halfCloseCalled = SettableFuture.create();
|
||||||
|
final SettableFuture<Void> cancelCalled = SettableFuture.create();
|
||||||
Channel channel = new Channel() {
|
Channel channel = new Channel() {
|
||||||
@Override
|
@Override
|
||||||
public <RequestT, ResponseT> ClientCall<RequestT, ResponseT> newCall(
|
public <RequestT, ResponseT> ClientCall<RequestT, ResponseT> newCall(
|
||||||
|
@ -1098,6 +1100,16 @@ public final class BinlogHelperTest {
|
||||||
actualRequest.set(message);
|
actualRequest.set(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void cancel(String message, Throwable cause) {
|
||||||
|
cancelCalled.set(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void halfClose() {
|
||||||
|
halfCloseCalled.set(null);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Attributes getAttributes() {
|
public Attributes getAttributes() {
|
||||||
return Attributes.newBuilder().set(Grpc.TRANSPORT_ATTR_REMOTE_ADDR, peer).build();
|
return Attributes.newBuilder().set(Grpc.TRANSPORT_ATTR_REMOTE_ADDR, peer).build();
|
||||||
|
@ -1181,6 +1193,7 @@ public final class BinlogHelperTest {
|
||||||
/*seq=*/ eq(4L),
|
/*seq=*/ eq(4L),
|
||||||
eq(Logger.LOGGER_CLIENT),
|
eq(Logger.LOGGER_CLIENT),
|
||||||
eq(CALL_ID));
|
eq(CALL_ID));
|
||||||
|
halfCloseCalled.get(1, TimeUnit.SECONDS);
|
||||||
verifyNoMoreInteractions(mockSinkWriter);
|
verifyNoMoreInteractions(mockSinkWriter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1223,6 +1236,7 @@ public final class BinlogHelperTest {
|
||||||
/*seq=*/ eq(7L),
|
/*seq=*/ eq(7L),
|
||||||
eq(Logger.LOGGER_CLIENT),
|
eq(Logger.LOGGER_CLIENT),
|
||||||
eq(CALL_ID));
|
eq(CALL_ID));
|
||||||
|
cancelCalled.get(1, TimeUnit.SECONDS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1432,6 +1446,7 @@ public final class BinlogHelperTest {
|
||||||
eq(Logger.LOGGER_SERVER),
|
eq(Logger.LOGGER_SERVER),
|
||||||
eq(CALL_ID));
|
eq(CALL_ID));
|
||||||
verifyNoMoreInteractions(mockSinkWriter);
|
verifyNoMoreInteractions(mockSinkWriter);
|
||||||
|
verify(mockListener).onHalfClose();
|
||||||
}
|
}
|
||||||
|
|
||||||
// send server msg
|
// send server msg
|
||||||
|
@ -1473,6 +1488,7 @@ public final class BinlogHelperTest {
|
||||||
/*seq=*/ eq(7L),
|
/*seq=*/ eq(7L),
|
||||||
eq(Logger.LOGGER_SERVER),
|
eq(Logger.LOGGER_SERVER),
|
||||||
eq(CALL_ID));
|
eq(CALL_ID));
|
||||||
|
verify(mockListener).onCancel();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue