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
********************************************

Reply via email to