diff options
author | wolff1 <wolff1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-03-09 17:31:26 +0000 |
---|---|---|
committer | wolff1 <wolff1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-03-09 17:31:26 +0000 |
commit | 5941c2eb1beee2e960ca36dceec9b4a22933e6d6 (patch) | |
tree | ed4b40c68bdb01eeaa1bdf61400369ee73d67fff | |
parent | 55849f82f687ab4604e3019664e205399bd387c9 (diff) | |
download | ATCD-5941c2eb1beee2e960ca36dceec9b4a22933e6d6.tar.gz |
ChangeLogTag: Mon Mar 9 17:30:45 UTC 2009 Friedhelm Wolf <fwolf@dre.vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 13 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/LWFT/AppSideMonitor_Thread.cpp | 10 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/LWFT/Failure_Handler.cpp | 2 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/LWFT/HostMonitorImpl.cpp | 4 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/LWFT/ReplicationManager.cpp | 17 |
5 files changed, 38 insertions, 8 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 50f884c9afb..7244d266f6b 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,16 @@ +Mon Mar 9 17:30:45 UTC 2009 Friedhelm Wolf <fwolf@dre.vanderbilt.edu> + + * orbsvcs/orbsvcs/LWFT/AppSideMonitor_Thread.cpp + * orbsvcs/orbsvcs/LWFT/Failure_Handler.cpp + * orbsvcs/orbsvcs/LWFT/HostMonitorImpl.cpp: + + Changed debugging output. + + * orbsvcs/orbsvcs/LWFT/ReplicationManager.cpp: + + Added functionality to remove state sync agents in case of + process failures. + Mon Mar 9 15:54:19 UTC 2009 Friedhelm Wolf <fwolf@dre.vanderbilt.edu> * MPC/config/lwft_server.mpb diff --git a/TAO/orbsvcs/orbsvcs/LWFT/AppSideMonitor_Thread.cpp b/TAO/orbsvcs/orbsvcs/LWFT/AppSideMonitor_Thread.cpp index 01342589ab5..c19b1978d11 100644 --- a/TAO/orbsvcs/orbsvcs/LWFT/AppSideMonitor_Thread.cpp +++ b/TAO/orbsvcs/orbsvcs/LWFT/AppSideMonitor_Thread.cpp @@ -111,9 +111,9 @@ AppSideMonitor_Thread::svc (void) port_ = AppOptions::instance ()->port (); } -// ACE_DEBUG ((LM_TRACE, -// "AppSideReg::svc - got heartbeat port " -// "%d from hm.\n", port_)); + ACE_DEBUG ((LM_TRACE, + "AppSideReg::svc - got heartbeat port " + "%d from hm.\n", port_)); if (serv_addr_.set (port_) == -1) { @@ -140,13 +140,15 @@ AppSideMonitor_Thread::svc (void) } } - //ACE_DEBUG ((LM_DEBUG, "Entering reactor event loop.\n")); + ACE_DEBUG ((LM_TRACE, "AppSideMonitor_Thread: Entering reactor event loop.\n")); if (reactor_.run_reactor_event_loop() == -1) { ACE_ERROR_RETURN ((LM_ERROR, "run_reactor_event_loop failed\n"), -1); } + + ACE_DEBUG ((LM_TRACE, "AppSideMonitor_Thread: finishing.\n")); return 0; } diff --git a/TAO/orbsvcs/orbsvcs/LWFT/Failure_Handler.cpp b/TAO/orbsvcs/orbsvcs/LWFT/Failure_Handler.cpp index f2afe3aa075..802b96776e3 100644 --- a/TAO/orbsvcs/orbsvcs/LWFT/Failure_Handler.cpp +++ b/TAO/orbsvcs/orbsvcs/LWFT/Failure_Handler.cpp @@ -31,7 +31,7 @@ int Failure_Handler::handle_input (ACE_HANDLE fd) if (process_map_.find (fd, pinfo) == 0) /// if found { - ACE_DEBUG ((LM_DEBUG, + ACE_DEBUG ((LM_TRACE, "It looks like process %s has failed.\n", pinfo.process_id.c_str())); process_map_.unbind (fd); diff --git a/TAO/orbsvcs/orbsvcs/LWFT/HostMonitorImpl.cpp b/TAO/orbsvcs/orbsvcs/LWFT/HostMonitorImpl.cpp index 1f22e174b60..09e1a051284 100644 --- a/TAO/orbsvcs/orbsvcs/LWFT/HostMonitorImpl.cpp +++ b/TAO/orbsvcs/orbsvcs/LWFT/HostMonitorImpl.cpp @@ -61,13 +61,13 @@ HostMonitorImpl::register_process (const char *process_id, hostname, port); process_map_.bind (process_id, handler); - /* + ACE_DEBUG ((LM_TRACE, "HostMonitorImpl::register_process " "process_id = %s, port = %d.\n", process_id, port)); - */ + return true; } diff --git a/TAO/orbsvcs/orbsvcs/LWFT/ReplicationManager.cpp b/TAO/orbsvcs/orbsvcs/LWFT/ReplicationManager.cpp index ae18770d2ce..9184ec2a78e 100644 --- a/TAO/orbsvcs/orbsvcs/LWFT/ReplicationManager.cpp +++ b/TAO/orbsvcs/orbsvcs/LWFT/ReplicationManager.cpp @@ -631,7 +631,7 @@ ReplicationManager_i::process_proc_failure ( { ids[index++] = (*it).c_str (); } - // for now just take the first entry and send it + send_failure_notice (host.c_str (), ids); } @@ -654,6 +654,21 @@ ReplicationManager_i::process_proc_failure ( "Data structure invariant broken.\n", host.c_str())); } + + { + // a failed process means that the state synchronization + // agent is no longer reachable either. + ACE_Guard <ACE_Thread_Mutex> guard (state_sync_agent_list_mutex_); + + // remove state synchronization agent reference + if (state_synchronization_agent_map_.unbind (process_id) == 0) + { + ACE_DEBUG ((LM_TRACE, + "RM: process_proc_failure () : " + "removed state sync agent from list.\n")); + } + } + } else { |