Index: openacs-4/packages/acs-admin/acs-admin.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/acs-admin.info,v
diff -u -r1.58.2.13 -r1.58.2.14
--- openacs-4/packages/acs-admin/acs-admin.info 13 Jul 2023 13:09:51 -0000 1.58.2.13
+++ openacs-4/packages/acs-admin/acs-admin.info 4 Dec 2023 15:32:58 -0000 1.58.2.14
@@ -9,7 +9,7 @@
f
t
-
+
Don Baccus
An interface for Site-wide administration of an OpenACS Installation.
2023-02-08
@@ -20,8 +20,8 @@
GPL
3
-
-
+
+
Index: openacs-4/packages/acs-admin/www/cluster.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/cluster.tcl,v
diff -u -r1.1.2.1 -r1.1.2.2
--- openacs-4/packages/acs-admin/www/cluster.tcl 8 Feb 2023 18:35:05 -0000 1.1.2.1
+++ openacs-4/packages/acs-admin/www/cluster.tcl 4 Dec 2023 15:32:58 -0000 1.1.2.2
@@ -52,7 +52,19 @@
set all_cluster_hosts [server_cluster_all_hosts]
set active_peer_nodes [lsort [nsv_get cluster cluster_peer_nodes]]
+ #ns_log notice "all_cluster_hosts <$all_cluster_hosts> active_peer_nodes <$active_peer_nodes>"
set elements_list {
+ state {
+ label "State"
+ html {align center}
+ display_template {
+
+
+
+
+ }
+ }
+
node_name {
label "Node"
orderby node_name
@@ -106,7 +118,7 @@
}
}
- multirow create cluster_nodes node_name current_p \
+ multirow create cluster_nodes state node_name current_p \
canonical_p dynamic_p peer_p \
last_contact pretty_last_contact \
last_request pretty_last_request \
@@ -131,8 +143,21 @@
}
}
}
+ if {$last_contact eq ""} {
+ set state self
+ } else {
+ set timeunit [parameter::get \
+ -package_id $::acs::kernel_id \
+ -parameter ClusterHeartbeatInterval \
+ -default 20s ]
+ set state [expr {[clock seconds]-($last_contact/1000) > [ns_baseunit -time $timeunit]
+ ? "inactive"
+ : "active"
+ }]
+ }
- multirow append cluster_nodes $node \
+ multirow append cluster_nodes \
+ $state $node \
[expr {$node eq $current_node}] \
[acs::cluster is_canonical_server $node] \
[expr {$node in $dynamic_cluster_nodes}] \
Index: openacs-4/packages/acs-kernel/acs-kernel.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/acs-kernel.info,v
diff -u -r1.150.2.58 -r1.150.2.59
--- openacs-4/packages/acs-kernel/acs-kernel.info 5 Oct 2023 15:52:33 -0000 1.150.2.58
+++ openacs-4/packages/acs-kernel/acs-kernel.info 4 Dec 2023 15:32:58 -0000 1.150.2.59
@@ -9,15 +9,15 @@
f
t
-
+
OpenACS Core Team
Routines and data models providing the foundation for OpenACS-based Web services.
2023-07-10
OpenACS
The OpenACS kernel contains the core datamodel create and drop scripts for such things as objects, groups, parties and the supporting PL/SQL and PL/pgSQL procedures.
3
-
+
@@ -32,8 +32,9 @@
+
-
+
@@ -42,7 +43,7 @@
-
+
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-kernel/sql/oracle/upgrade/upgrade-5.10.1b2-5.10.1b3.sql'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-kernel/sql/postgresql/upgrade/upgrade-5.10.1b2-5.10.1b3.sql'.
Fisheye: No comparison available. Pass `N' to diff?
Index: openacs-4/packages/acs-tcl/acs-tcl.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/acs-tcl.info,v
diff -u -r1.95.2.64 -r1.95.2.65
--- openacs-4/packages/acs-tcl/acs-tcl.info 13 Jul 2023 13:09:52 -0000 1.95.2.64
+++ openacs-4/packages/acs-tcl/acs-tcl.info 4 Dec 2023 15:32:58 -0000 1.95.2.65
@@ -9,7 +9,7 @@
f
t
-
+
OpenACS
The Kernel Tcl API library.
2023-05-15
@@ -18,9 +18,9 @@
GPL version 2
3
-
+
-
+
Index: openacs-4/packages/acs-tcl/tcl/cluster-init.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/cluster-init.tcl,v
diff -u -r1.1.2.9 -r1.1.2.10
--- openacs-4/packages/acs-tcl/tcl/cluster-init.tcl 7 Feb 2023 17:50:32 -0000 1.1.2.9
+++ openacs-4/packages/acs-tcl/tcl/cluster-init.tcl 4 Dec 2023 15:32:58 -0000 1.1.2.10
@@ -25,11 +25,16 @@
::acs::cluster setup
#
- # Update the cluster info every 20s to detect changed cluster
- # configurations, or cluster nodes become available or
- # unavailable.
+ # Update the cluster info depending of the configured
+ # ClusterHeartbeatInterval to detect changed cluster
+ # configurations (maybe induced by missing reachability).
#
- ad_schedule_proc -all_servers t 20s ::acs::cluster update_node_info
+ ad_schedule_proc -all_servers t \
+ [parameter::get \
+ -package_id $::acs::kernel_id \
+ -parameter ClusterHeartbeatInterval \
+ -default 20s] \
+ ::acs::cluster update_node_info
#
# Setup of the listening URL
Index: openacs-4/packages/acs-tcl/tcl/cluster-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/cluster-procs.tcl,v
diff -u -r1.1.2.11 -r1.1.2.12
--- openacs-4/packages/acs-tcl/tcl/cluster-procs.tcl 29 Nov 2023 19:44:11 -0000 1.1.2.11
+++ openacs-4/packages/acs-tcl/tcl/cluster-procs.tcl 4 Dec 2023 15:32:58 -0000 1.1.2.12
@@ -109,7 +109,12 @@
# Control verbosity
#
:method log {args} {
- ns_log notice "cluster: [join $args { }]"
+ if {[parameter::get \
+ -package_id $::acs::kernel_id \
+ -parameter ClusterEnableLoggingP \
+ -default t]} {
+ ns_log notice "cluster: [join $args { }]"
+ }
}
:public method setup {} {
@@ -532,7 +537,7 @@
#
set preferred_location_regexp [parameter::get \
-package_id $::acs::kernel_id \
- -parameter PreferredLocationRegexp \
+ -parameter ClusterPreferredLocationRegexp \
-default https:// ]
set preferred_location ""
@@ -688,6 +693,7 @@
lappend peer_nodes $qualified_location
}
+ #:log "final peer_nodes <$peer_nodes>"
return $peer_nodes
}
@@ -750,6 +756,7 @@
#
set cluster_peer_nodes [:peer_nodes $dynamic_peers]
nsv_set cluster cluster_peer_nodes $cluster_peer_nodes
+ #:log "cluster_peer_nodes <$cluster_peer_nodes>"
if {![:is_configured_server ${:currentServerLocations}]} {
#