Skip to content

Commit 7a720fe

Browse files
committed
servlet: disable RECYCLE_FACADES to reduce flaky tests
Explicitly set org.apache.catalina.connector.RECYCLE_FACADES=false in Tomcat 10 Embedded to avoid premature OutputBuffer recycle that can cause flaky tests in gRPC servlet transport. Fixes #12524
1 parent 6d611f7 commit 7a720fe

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

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

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,18 +81,22 @@ public void start(ServerListener listener) throws IOException {
8181
ServerTransportListener serverTransportListener =
8282
listener.transportCreated(new ServerTransportImpl(scheduler));
8383
ServletAdapter adapter =
84-
new ServletAdapter(serverTransportListener, streamTracerFactories,
84+
new ServletAdapter(
85+
serverTransportListener,
86+
streamTracerFactories,
8587
ServletAdapter.DEFAULT_METHOD_NAME_RESOLVER,
8688
Integer.MAX_VALUE);
8789
GrpcServlet grpcServlet = new GrpcServlet(adapter);
8890

8991
tomcatServer = new Tomcat();
9092
tomcatServer.setPort(0);
9193
Context ctx = tomcatServer.addContext(MYAPP, new File("build/tmp").getAbsolutePath());
92-
Tomcat.addServlet(ctx, "TomcatTransportTest", grpcServlet)
93-
.setAsyncSupported(true);
94+
Tomcat.addServlet(ctx, "TomcatTransportTest", grpcServlet).setAsyncSupported(true);
9495
ctx.addServletMappingDecoded("/*", "TomcatTransportTest");
9596
tomcatServer.getConnector().addUpgradeProtocol(new Http2Protocol());
97+
tomcatServer
98+
.getConnector()
99+
.setProperty("org.apache.catalina.connector.RECYCLE_FACADES", "false");
96100
try {
97101
tomcatServer.start();
98102
} catch (LifecycleException e) {

0 commit comments

Comments
 (0)