Send Linux-ha-cvs mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
http://lists.community.tummy.com/mailman/listinfo/linux-ha-cvs
or, via email, send a message with subject or body 'help' to
[EMAIL PROTECTED]
You can reach the person managing the list at
[EMAIL PROTECTED]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Linux-ha-cvs digest..."
Today's Topics:
1. Linux-HA CVS: heartbeat by alan from
([email protected])
2. Linux-HA CVS: linux-ha by andrew from
([email protected])
----------------------------------------------------------------------
Message: 1
Date: Thu, 9 Feb 2006 12:04:04 -0700 (MST)
From: [email protected]
Subject: [Linux-ha-cvs] Linux-HA CVS: heartbeat by alan from
To: [EMAIL PROTECTED]
Message-ID: <[EMAIL PROTECTED]>
linux-ha CVS committal
Author : alan
Host :
Project : linux-ha
Module : heartbeat
Dir : linux-ha/heartbeat
Modified Files:
hb_api.c hb_rexmit.c heartbeat.c
Log Message:
Changed default timeouts for heartbeat events to be based largely on heartbeat
configuration parameters.
Also print out a message if a client disconnects with unread msgs in their queue
===================================================================
RCS file: /home/cvs/linux-ha/linux-ha/heartbeat/hb_api.c,v
retrieving revision 1.150
retrieving revision 1.151
diff -u -3 -r1.150 -r1.151
--- hb_api.c 2 Feb 2006 19:46:48 -0000 1.150
+++ hb_api.c 9 Feb 2006 19:04:04 -0000 1.151
@@ -1,4 +1,4 @@
-/* $Id: hb_api.c,v 1.150 2006/02/02 19:46:48 alan Exp $ */
+/* $Id: hb_api.c,v 1.151 2006/02/09 19:04:04 alan Exp $ */
/*
* hb_api: Server-side heartbeat API code
*
@@ -423,11 +423,13 @@
if (client->removereason && !client->isindispatch) {
if (ANYDEBUG){
- cl_log(LOG_DEBUG,
"api_remove_client_pid: client is "
- "%s", client->client_id);
+ cl_log(LOG_DEBUG
+ , "%s: client is %s"
+ , __FUNCTION__
+ , client->client_id);
}
api_remove_client_pid(client->pid
- , client->removereason);
+ , client->removereason);
}
}
@@ -1231,7 +1233,7 @@
, APIclients_input_dispatch
, client, G_remove_client);
G_main_setdescription((GSource*)client->gsource, "API client");
- G_main_setmaxdispatchdelay((GSource*)client->gsource, 500);
+ G_main_setmaxdispatchdelay((GSource*)client->gsource,
config->heartbeat_ms);
G_main_setmaxdispatchtime((GSource*)client->gsource, 100);
if (ANYDEBUG) {
cl_log(LOG_DEBUG
@@ -1535,7 +1537,7 @@
{
if (msg2ipcchan(msg, client->chan) != HA_OK) {
if (!client->removereason) {
- if (client->chan->failreason[0] == '\0'){
+ if (client->chan->failreason[0] == EOS){
client->removereason = "sendfail";
}else {
client->removereason = client->chan->failreason;
@@ -1567,7 +1569,15 @@
}
client->removereason = reason;
+ if (client->chan->recv_queue->current_qlen > 0) {
+ cl_log(LOG_ERR
+ , "%s client %d disconnected, with %d messages pending"
+ , __FUNCTION__, client->pid
+ , client->chan->recv_queue->current_qlen);
+ }
+
G_main_del_IPC_Channel(client->gsource);
+ /* Should trigger G_remove_client (below) */
return 1;
}
static void
===================================================================
RCS file: /home/cvs/linux-ha/linux-ha/heartbeat/hb_rexmit.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- hb_rexmit.c 6 Feb 2006 04:55:19 -0000 1.6
+++ hb_rexmit.c 9 Feb 2006 19:04:04 -0000 1.7
@@ -235,7 +235,7 @@
sourceid = Gmain_timeout_add_full(G_PRIORITY_HIGH - 1, delay,
send_rexmit_request, ri, NULL);
- G_main_setall_id(sourceid, "retransmit request", 100, 10);
+ G_main_setall_id(sourceid, "retransmit request",
config->heartbeat_ms/2, 10);
if (sourceid == 0){
cl_log(LOG_ERR, "%s: scheduling a timeout event failed",
===================================================================
RCS file: /home/cvs/linux-ha/linux-ha/heartbeat/heartbeat.c,v
retrieving revision 1.496
retrieving revision 1.497
diff -u -3 -r1.496 -r1.497
--- heartbeat.c 7 Feb 2006 17:33:30 -0000 1.496
+++ heartbeat.c 9 Feb 2006 19:04:04 -0000 1.497
@@ -2,7 +2,7 @@
* TODO:
* 1) Man page update
*/
-/* $Id: heartbeat.c,v 1.496 2006/02/07 17:33:30 alan Exp $ */
+/* $Id: heartbeat.c,v 1.497 2006/02/09 19:04:04 alan Exp $ */
/*
* heartbeat: Linux-HA heartbeat code
*
@@ -816,7 +816,7 @@
FifoChildSource = G_main_add_IPC_Channel(PRI_FIFOMSG
, fifochildipc[P_READFD]
, FALSE, FIFO_child_msg_dispatch, NULL, NULL);
- G_main_setmaxdispatchdelay((GSource*)FifoChildSource, 2000);
+ G_main_setmaxdispatchdelay((GSource*)FifoChildSource,
config->heartbeat_ms);
G_main_setmaxdispatchtime((GSource*)FifoChildSource, 50);
G_main_setdescription((GSource*)FifoChildSource, "FIFO");
@@ -1531,7 +1531,7 @@
s = G_main_add_IPC_Channel(PRI_SENDPKT
, sysmedia[j]->wchan[P_WRITEFD], FALSE
, NULL, sysmedia+j, NULL);
- G_main_setmaxdispatchdelay((GSource*)s, 50);
+ G_main_setmaxdispatchdelay((GSource*)s, config->heartbeat_ms/4);
G_main_setmaxdispatchtime((GSource*)s, 50);
G_main_setdescription((GSource*)s, "write child");
@@ -1543,7 +1543,7 @@
/* Encourage better real-time behavior */
sysmedia[j]->rchan[P_WRITEFD]->ops->set_recv_qlen
( sysmedia[j]->rchan[P_WRITEFD], 0);
- G_main_setmaxdispatchdelay((GSource*)s, 50);
+ G_main_setmaxdispatchdelay((GSource*)s, config->heartbeat_ms/4);
G_main_setmaxdispatchtime((GSource*)s, 50);
G_main_setdescription((GSource*)s, "read child");
@@ -1557,14 +1557,14 @@
/* Send local status at the "right time" */
id=Gmain_timeout_add_full(PRI_SENDSTATUS, config->heartbeat_ms
, hb_send_local_status, NULL, NULL);
- G_main_setall_id(id, "send local status", 50, 50);
+ G_main_setall_id(id, "send local status", config->heartbeat_ms/2, 50);
id=Gmain_timeout_add_full(PRI_AUDITCLIENT
, config->initial_deadtime_ms
, set_init_deadtime_passed_flag
, NULL
, NULL);
- G_main_setall_id(id, "init deadtime passed", 500, 50);
+ G_main_setall_id(id, "init deadtime passed", config->warntime_ms, 50);
/* Dump out memory stats periodically... */
memstatsinterval = (debug_level ? 10*60*1000 : ONEDAY*1000);
@@ -1587,11 +1587,11 @@
/* Check for pending signals */
id=Gmain_timeout_add_full(PRI_CHECKSIGS, config->heartbeat_ms
, Gmain_hb_signal_process_pending, NULL, NULL);
- G_main_setall_id(id, "check for signals", 500, 50);
+ G_main_setall_id(id, "check for signals", config->heartbeat_ms/2, 50);
id=Gmain_timeout_add_full(PRI_FREEMSG, 500
, Gmain_update_msgfree_count, NULL, NULL);
- G_main_setall_id(id, "update msgfree count", 500, 50);
+ G_main_setall_id(id, "update msgfree count", config->deadtime_ms, 50);
if (UseApphbd) {
Gmain_timeout_add_full(PRI_DUMPSTATS
@@ -1887,7 +1887,7 @@
regsource = G_main_add_IPC_WaitConnection(PRI_APIREGISTER, regwchan
, NULL, FALSE, APIregistration_dispatch, NULL, NULL);
- G_main_setmaxdispatchdelay((GSource*)regsource, 500);
+ G_main_setmaxdispatchdelay((GSource*)regsource, config->deadtime_ms);
G_main_setmaxdispatchtime((GSource*)regsource, 20);
G_main_setdescription((GSource*)regsource, "client registration");
@@ -3991,7 +3991,7 @@
send_cluster_msg(msg);
id = Gmain_timeout_add(1000, send_reqnodes_msg, (gpointer)i);
- G_main_setall_id(id, "send_reqnodes_msg", 500, 100);
+ G_main_setall_id(id, "send_reqnodes_msg", config->heartbeat_ms, 100);
return FALSE;
}
@@ -6233,6 +6233,11 @@
/*
* $Log: heartbeat.c,v $
+ * Revision 1.497 2006/02/09 19:04:04 alan
+ * Changed default timeouts for heartbeat events to be based largely on
heartbeat
+ * configuration parameters.
+ * Also print out a message if a client disconnects with unread msgs in their
queue
+ *
* Revision 1.496 2006/02/07 17:33:30 alan
* Cleaned up (set to NULL) the private data for our hostcache write processes
* when they exit so the bad message will go away...
------------------------------
Message: 2
Date: Thu, 9 Feb 2006 13:12:04 -0700 (MST)
From: [email protected]
Subject: [Linux-ha-cvs] Linux-HA CVS: linux-ha by andrew from
To: [EMAIL PROTECTED]
Message-ID: <[EMAIL PROTECTED]>
linux-ha CVS committal
Author : andrew
Host :
Module : linux-ha
Dir : linux-ha
Modified Files:
heartbeat.spec.in
Log Message:
Release notes for 2.0.3
===================================================================
RCS file: /home/cvs/linux-ha/linux-ha/heartbeat.spec.in,v
retrieving revision 1.157
retrieving revision 1.158
diff -u -3 -r1.157 -r1.158
--- heartbeat.spec.in 24 Jan 2006 15:38:10 -0000 1.157
+++ heartbeat.spec.in 9 Feb 2006 20:12:04 -0000 1.158
@@ -1,4 +1,4 @@
-# $Id: heartbeat.spec.in,v 1.157 2006/01/24 15:38:10 zhenh Exp $
+# $Id: heartbeat.spec.in,v 1.158 2006/02/09 20:12:04 andrew Exp $
# Workaround for a change in RPM 4.1.x; needs proper fixing soon!
##%define _unpackaged_files_terminate_build 0
@@ -77,6 +77,89 @@
implementing any number of interfaces.
%changelog
+* Thu Feb 10 2006 Alan Robertson <[EMAIL PROTECTED]> (see doc/AUTHORS file)
++ Version 2.0.3 -
+ + CRM General
+ + All shutdowns go via the PE/TE - preserves inter-resource ordering
+ + Support for future changes to the CIB (depreciation of cib_fragment)
+ + Overhaul of IPC and HA channel callback logic
+ + Many improvments to the quality and quantity (reduced) of logging
+ + CRMd
+ + Timerless elections - when everyone has voted we're done
+ + Use the replace notification from the CIB to re-update our copy with
+ our view of our peers.
+ + Reliably detect if the LRM connection is still active.
+ + Elections
+ + newer versions defer to older ones in DC elections
+ (opposite of current behavior)
+ + this means that only once the complete cluster has been upgraded will
+ we start acting like the new version and accept new config options
+ + it also means newer PE's and TE's (the most complex pieces) don't need
+ "act like the old version" options and can rely on all slaves being at
+ least as up-to-date as they are
+ + people can run mixed clusters as long as they want
+ (until they want the new PE features)
+ + new DCs only update the version number in the CIB if they have a
+ higher value
+ + nodes that start and have a lower version than that stored in the CIB
+ shut themselves down (the CRM part anyway)
+ + this prevents an admin from introducing old nodes back into an upgraded
+ cluster. It probably doesn't fully understand the config and may not
+ support the actions the PE/TE requires.
+ + CIB
+ + Make sure "query only" connections cant modify the CIB
+ + Periodically dump some stats about what the CIB has been doing.
+ + Verify there are no memory leaks
+ + Performance enhancements
+ + Prevent a single CIB client from blocking everyone else
+ + Clients Can be notified of full CIB replacements
+ + record_config_changes option in ha.cf for those worried about
+ the amount of logging. Defaults to "on".
+ + suppress_cib_writes CIB option replaced with in enable_config_writes
ha.cf
+ (enable_config_writes to be removed in 2.0.4)
+ + Never write the status section to disk
+ + Check permissions for the on-disk CIB at startup
+ + Dont trash unreadable on-disk CIBs
+ + Fix for updates made against the whole CIB (not just one section)
+ + PEngine
+ + Many improvements to the handling of resource groups
+ + Support "anonymous" clones
+ + Fix stonith ordering
+ + Order DC shutdowns after everyone else's
+ + Support short resource names (for group and clone resources)
+ + The ordering and colocation of grouped resources is now optional
+ + Support probing new nodes for active resources.
+ + All "probe" actions are controlled by the PE.
+ + No resource may be started until the probing is complete.
+ + Do not probe for resources we know to be active on unprobed nodes
+ + When looking for monitor ops, only mark it optional if it was already
+ active on the node we're interested in.
+ + Detect changes to class/type/provider/parameters and force a restart
+ of the resource
+ + New record_pengine_inputs option in ha.cf for those worried about
+ the amount of logging. Defaults to "on".
+ + Differentiate between config and processing errors
+ + reduces the frequency that we need to log the complete CIB
+ + Make notify for master/slave work
+ + New CIB option: stop_orphan_actions (boolean)
+ If a resource is no longer defined, we can optionally stop it
+ + New CIB option: stop_orphan_actions (boolean)
+ If a monitor op for a given interval is no longer defined, we can
+ optionally stop it
+ + Add support for time and phase-of-the-moon based constraints
+ + Improved failure handling: avoiding false positives
+ + Always create orphaned resources - so they show up in crm_mon
+ + Do not require sequential clone numbers starting at 0
+ + TEngine
+ + Detect old stonith ops
+ + CLIs
+ + Create a --one-shot option for crm_mon
+ + Switch a number of CLI tools to use the new syncronous connections
+ + Log errors to stderr where they will be seen and therefore useful
+ + Support migration and un-migration of resources and resource groups
+ + Create crm_verify for checking configuration validity
+ + Simplify the passing of XML to cibadmin
+
* Thu Sep 22 2005 Alan Robertson <[EMAIL PROTECTED]> (see doc/AUTHORS file)
+ Version 2.0.2 - small bug fix only release
+ Fixed a bug in ping directive - it works again
------------------------------
_______________________________________________
Linux-ha-cvs mailing list
[email protected]
http://lists.community.tummy.com/mailman/listinfo/linux-ha-cvs
End of Linux-ha-cvs Digest, Vol 27, Issue 40
********************************************