You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by bn...@apache.org on 2026/10/01 18:31:33 UTC

(trafficserver) branch master updated: Wait for GOAWAY processing in the abuse shield AuTest (#13764)

This is an automated email from the ASF dual-hosted git repository.

bneradt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/master by this push:
     new cc1c035196 Wait for GOAWAY processing in the abuse shield AuTest (#13764)
cc1c035196 is described below

commit cc1c035196ca98c588ab40e514761c601911b29f
Author: Brian Neradt <br...@gmail.com>
AuthorDate: Thu Oct 1 13:31:26 2026 -0500

    Wait for GOAWAY processing in the abuse shield AuTest (#13764)
    
    The abuse shield HTTP/2 error test closes its TLS socket immediately
    after sending GOAWAY. Connection shutdown can race with ATS processing
    the frame, causing the received GOAWAY counter to miss an event.
    
    This patch keeps the socket open until ATS closes the connection after
    processing GOAWAY. The test continues to require the exact expected
    counter value.
    
    Co-authored-by: GPT-6.1 Sol High
---
 tests/gold_tests/pluginTest/abuse_shield/h2_session_errors.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tests/gold_tests/pluginTest/abuse_shield/h2_session_errors.py b/tests/gold_tests/pluginTest/abuse_shield/h2_session_errors.py
index 8821f2b6ab..34d34c4438 100644
--- a/tests/gold_tests/pluginTest/abuse_shield/h2_session_errors.py
+++ b/tests/gold_tests/pluginTest/abuse_shield/h2_session_errors.py
@@ -69,6 +69,9 @@ def send_error(port: int, mode: str, barrier: threading.Barrier) -> None:
                 expected_code = 9
             elif mode in ("received", "normal"):
                 connection.sendall(GoAwayFrame(0, error_code=2 if mode == "received" else 0).serialize())
+                # Wait for ATS to process GOAWAY before closing the TLS connection.
+                while connection.recv(4096):
+                    pass
                 return
             else:
                 # DATA on stream zero is a connection error before any HEADERS.