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

masaori 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 bc464c534d Check state of HostDBInfo (#12880)
bc464c534d is described below

commit bc464c534dbda6abcdacacb024e809abd4603ebb
Author: Masaori Koshiba <[email protected]>
AuthorDate: Tue Feb 24 08:03:52 2026 +0900

    Check state of HostDBInfo (#12880)
    
    * Check state of HostDBInfo
    
    * Adjust AuTest
    
    * Cleanup: use select function for consistency
---
 src/iocore/hostdb/HostDB.cc                         |  4 +++-
 tests/gold_tests/dns/dns_host_down.test.py          | 14 +-------------
 tests/gold_tests/dns/replay/server_down.replay.yaml |  5 ++++-
 3 files changed, 8 insertions(+), 15 deletions(-)

diff --git a/src/iocore/hostdb/HostDB.cc b/src/iocore/hostdb/HostDB.cc
index f30246b8c7..12a8532be6 100644
--- a/src/iocore/hostdb/HostDB.cc
+++ b/src/iocore/hostdb/HostDB.cc
@@ -1324,7 +1324,9 @@ HostDBRecord::select_best_http(ts_time now, ts_seconds 
fail_window, sockaddr con
       }
     }
   } else {
-    best_alive = &info[0];
+    if (info[0].select(now, fail_window)) {
+      best_alive = &info[0];
+    }
   }
 
   return best_alive;
diff --git a/tests/gold_tests/dns/dns_host_down.test.py 
b/tests/gold_tests/dns/dns_host_down.test.py
index 74930c7544..3d05805769 100644
--- a/tests/gold_tests/dns/dns_host_down.test.py
+++ b/tests/gold_tests/dns/dns_host_down.test.py
@@ -55,24 +55,13 @@ class DownCachedOriginServerTest:
                 'proxy.config.hostdb.host_file.path': 
os.path.join(Test.TestDirectory, "hosts_file"),
             })
 
-    # Even when the origin server is down, SM will return a hit-fresh domain 
from HostDB.
-    # After request has failed, SM should mark the IP as down
     def _test_host_mark_down(self):
         tr = Test.AddTestRun()
 
         tr.Processes.Default.StartBefore(self._server)
         tr.Processes.Default.StartBefore(self._ts)
 
-        tr.AddVerifierClientProcess(
-            "client-1", DownCachedOriginServerTest.replay_file, 
http_ports=[self._ts.Variables.port], other_args='--keys 1')
-
-    # After host has been marked down from previous test, HostDB should not 
return
-    # the host as available and DNS lookup should fail.
-    def _test_host_unreachable(self):
-        tr = Test.AddTestRun()
-
-        tr.AddVerifierClientProcess(
-            "client-2", DownCachedOriginServerTest.replay_file, 
http_ports=[self._ts.Variables.port], other_args='--keys 2')
+        tr.AddVerifierClientProcess("client-1", 
DownCachedOriginServerTest.replay_file, http_ports=[self._ts.Variables.port])
 
     # Verify error log marking host down exists
     def _test_error_log(self):
@@ -86,7 +75,6 @@ class DownCachedOriginServerTest:
 
     def run(self):
         self._test_host_mark_down()
-        self._test_host_unreachable()
         self._test_error_log()
 
 
diff --git a/tests/gold_tests/dns/replay/server_down.replay.yaml 
b/tests/gold_tests/dns/replay/server_down.replay.yaml
index d5b33bc784..52fbead289 100644
--- a/tests/gold_tests/dns/replay/server_down.replay.yaml
+++ b/tests/gold_tests/dns/replay/server_down.replay.yaml
@@ -36,6 +36,7 @@ sessions:
       status: 200
 
     # Returns 502 since server connection is unreachable
+    # This transaction should mark the IP as down
     proxy-response:
       status: 502
 
@@ -55,5 +56,7 @@ sessions:
     server-response:
       status: 200
 
+    # After host has been marked down from previous test, HostDB should not 
return
+    # the host as available and HostDB lookup should fail.
     proxy-response:
-      status: 502
+      status: 500

Reply via email to