Forum OpenACS Q&A: Re: Issue with reachable method in 5.10.1 dynamic clustering setup

Your diff got probably mixed up, since it proposes partly the changes, that I made two days ago.

Anyhow, all element of "currentServerLocations" should go through the method "qualified_location". You were right, this was still missing when updating it on a node running on a server with a default port. I have updated it in the repository.

Sorry for the slow reactions. I am currently fully booked with other obligations. Obviously, all testing and setups on our side were made with non-default ports. Furthermore, due to rearrangements of the server infrastructure of our institution, I have lost my testing environment, where I can do cluster testing. It will take some more time until I can reestablish it.

Thanks for the update.

The combination of all the patches from this thread do fix the reachability issue we have been seeing in my testing.

I do sort of prefer the option to not have to include the port which was working with my earlier patch to the reachable method. Mainly because we have some supporting code to auto configure the canonical as well as cleaning up any stale dynamic peers that now needs to consider the port being specified.

diff --git a/packages/acs-tcl/tcl/cluster-procs.tcl b/packages/acs-tcl/tcl/cluster-procs.tcl
index 3db0afb84..a6ffaab79 100644
--- a/packages/acs-tcl/tcl/cluster-procs.tcl
+++ b/packages/acs-tcl/tcl/cluster-procs.tcl
@@ -397,12 +397,20 @@ namespace eval ::acs {
                        # We can check via ns_connchan
                        #
                        try {
-                            #ns_logctl severity Debug(connchan) on
+                            if {![info exists port]} {
+                                if {$proto eq "http"} {
+                                    set port 80
+                                } else {
+                                    set port 443
+                                }
+                            }
+                            # ns_logctl severity Debug(connchan) on
                            ns_connchan connect $host $port
-                        } on error {} {
+                        } on error {errorMsg} {
                            #
                            # Not reachable, stick with the default 0
                            #
+                            ns_log Notice "'$host' is not reachable on port '$port': $errorMsg"
                        } on ok {chan} {
                            set result 1
                            ns_connchan close $chan