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

MartijnVisser pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink-benchmarks.git

commit bd31161b55b34c7fa0b14e13f033e35aed35a146
Author: Martijn Visser <[email protected]>
AuthorDate: Thu May 28 10:14:11 2026 +0200

    [FLINK-39787][build] Map runner hostname to loopback to avoid SSL SAN 
mismatch
    
    GitHub-hosted Azure runners assign a VM hostname whose reverse DNS
    returns an internal cloudapp.net FQDN. flink-runtime's SSL test
    certificate (local127.keystore) lists only 'localhost', '127.0.0.1',
    and '::1' as SANs, so the SSL handshake in
    StreamNetworkThroughputBenchmark fails and the benchmark hangs until
    GitHub kills the job at the 6h timeout.
    
    Prepend a loopback mapping for the runner hostname to /etc/hosts so
    InetAddress.getLocalHost() (used by StreamNetworkBenchmarkEnvironment
    to bind the NettyServer) returns 127.0.0.1; reverse DNS on that IP
    then yields 'localhost', which matches the certificate.
---
 .github/workflows/ci.yml | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 400d9f2..1201852 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -24,6 +24,23 @@ jobs:
     steps:
       - uses: actions/checkout@v3
 
+      # FLINK-39787: GitHub-hosted Azure runners assign a VM hostname whose
+      # reverse DNS returns an internal cloudapp.net FQDN. The SSL benchmarks
+      # rely on flink-runtime's local127.keystore, whose SAN list only contains
+      # 'localhost', '127.0.0.1', and '::1'. Map the runner hostname to the
+      # loopback interface so InetAddress.getLocalHost() (used to bind the
+      # benchmark NettyServer) returns 127.0.0.1 and the SSL handshake matches
+      # the certificate. The real fix belongs in apache/flink's
+      # StreamNetworkBenchmarkEnvironment (use getLoopbackAddress instead of
+      # getLocalHost); track separately.
+      - name: Map runner hostname to loopback
+        run: |
+          sudo sed -i "/$(hostname)/d" /etc/hosts
+          echo "127.0.0.1 localhost $(hostname -f) $(hostname)" | sudo tee -a 
/etc/hosts
+          echo "After shim:"
+          getent hosts "$(hostname)"
+          getent hosts 127.0.0.1
+
       - name: Set JDK
         uses: actions/setup-java@v3
         with:

Reply via email to