summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwolff1 <wolff1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-03-09 17:31:26 +0000
committerwolff1 <wolff1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-03-09 17:31:26 +0000
commit5941c2eb1beee2e960ca36dceec9b4a22933e6d6 (patch)
treeed4b40c68bdb01eeaa1bdf61400369ee73d67fff
parent55849f82f687ab4604e3019664e205399bd387c9 (diff)
downloadATCD-5941c2eb1beee2e960ca36dceec9b4a22933e6d6.tar.gz
ChangeLogTag: Mon Mar 9 17:30:45 UTC 2009 Friedhelm Wolf <fwolf@dre.vanderbilt.edu>
-rw-r--r--TAO/ChangeLog13
-rw-r--r--TAO/orbsvcs/orbsvcs/LWFT/AppSideMonitor_Thread.cpp10
-rw-r--r--TAO/orbsvcs/orbsvcs/LWFT/Failure_Handler.cpp2
-rw-r--r--TAO/orbsvcs/orbsvcs/LWFT/HostMonitorImpl.cpp4
-rw-r--r--TAO/orbsvcs/orbsvcs/LWFT/ReplicationManager.cpp17
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
{