sahvx655-wq commented on PR #3622: URL: https://github.com/apache/brpc/pull/3622#issuecomment-6262979230
The timeout point stands. ASSERT_NE(1, read(...)) was also satisfied by read() coming back -1 on the 2s SO_RCVTIMEO, so a regression that left the connection open without answering the handshake would still have passed. Traced what the server actually does with the C0C1 on internal_port: the HTTP parser fails on the 0x03 method byte before the query stage and declines with TRY_OTHERS, rtmp now declines as well, and InputMessengerProcessor::ProcessNewMessage closes the socket with the 'Close ... due to unknown message' warning, which the client sees as EOF. The server drains the 1537 bytes in one read (MIN_ONCE_READ is 4096), so the close is a plain FIN rather than a reset. The test now requires read() == 0 and prints n and errno on failure. Checked both directions after rebuilding: with the fix all 32 rtmp tests pass and that warning shows up in the log, without the fix the assertion fails with n=1, i.e. the S0 byte. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
