Skip to content

Commit efef0dd

Browse files
committed
servlet: Ignore timeoutOnSleepingServer for Tomcat
tomcat10Test is frequently failing on Windows because Tomcat doesn't support trailers-only. I removed the FIXMEs because we won't workaround Tomcat in grpc-servlet because: 1. An interceptor that converts trailers-only into headers+trailers would handle most cases, as it could run directly next to the application. That is semantically very safe. But an interceptor doesn't help deadline handling and other transport-caused closures, as those trailers-only are produced by the transport 2. Having the transport convert trailers-only would work for deadline handling, but is not semantically safe 3. The other languages didn't find Tomcat to be important enough to support HEADERS+empty DATA(END_STREAM) as trailers-only on the client-side ``` Unexpected status: Status{code=INTERNAL, description=Received unexpected EOS on empty DATA frame from server, cause=null} value of: getCode() expected: DEADLINE_EXCEEDED but was : INTERNAL at app//io.grpc.testing.integration.AbstractInteropTest.assertCodeEquals(AbstractInteropTest.java:2028) at app//io.grpc.testing.integration.AbstractInteropTest.timeoutOnSleepingServer(AbstractInteropTest.java:1644) ```
1 parent 53cd1a2 commit efef0dd

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

servlet/src/tomcatTest/java/io/grpc/servlet/TomcatInteropTest.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,27 +113,28 @@ protected boolean metricsExpected() {
113113
@Test
114114
public void gracefulShutdown() {}
115115

116-
// FIXME
117116
@Override
118117
@Ignore("Tomcat is not able to send trailer only")
119118
@Test
120119
public void specialStatusMessage() {}
121120

122-
// FIXME
123121
@Override
124122
@Ignore("Tomcat is not able to send trailer only")
125123
@Test
126124
public void unimplementedMethod() {}
127125

128-
// FIXME
129126
@Override
130127
@Ignore("Tomcat is not able to send trailer only")
131128
@Test
132129
public void statusCodeAndMessage() {}
133130

134-
// FIXME
135131
@Override
136132
@Ignore("Tomcat is not able to send trailer only")
137133
@Test
138134
public void emptyStream() {}
135+
136+
@Override
137+
@Ignore("Tomcat is not able to send trailer only")
138+
@Test
139+
public void timeoutOnSleepingServer() {}
139140
}

0 commit comments

Comments
 (0)