msmith - in flumotion/trunk: . flumotion/manager
flumotion-commit at lists.fluendo.com
flumotion-commit at lists.fluendo.com
Thu May 24 17:51:27 CEST 2007
Author: msmith
Date: Thu May 24 17:51:24 2007
New Revision: 5029
Modified:
flumotion/trunk/ChangeLog
flumotion/trunk/flumotion/manager/manager.py
Log:
* flumotion/manager/manager.py:
When a component not known to the manager logs in, make sure we call
all the appropriate functions to rebuild the entire depgraph
correctly, not just fragments of it.
Fixes #574.
Modified: flumotion/trunk/ChangeLog
==============================================================================
--- flumotion/trunk/ChangeLog (original)
+++ flumotion/trunk/ChangeLog Thu May 24 17:51:24 2007
@@ -1,5 +1,13 @@
2007-05-24 Michael Smith <msmith at fluendo.com>
+ * flumotion/manager/manager.py:
+ When a component not known to the manager logs in, make sure we call
+ all the appropriate functions to rebuild the entire depgraph
+ correctly, not just fragments of it.
+ Fixes #574.
+
+2007-05-24 Michael Smith <msmith at fluendo.com>
+
* flumotion/test/test_common_messages.py:
Actually port a test to twisted 2 that was never ported.
* flumotion/twisted/integration.py:
Modified: flumotion/trunk/flumotion/manager/manager.py
==============================================================================
--- flumotion/trunk/flumotion/manager/manager.py (original)
+++ flumotion/trunk/flumotion/manager/manager.py Thu May 24 17:51:24 2007
@@ -391,6 +391,7 @@
componentAvatarId = common.componentId(
state.get('parent').get('name'), state.get('name'))
+ self.debug("Using config: %r for component with avatarId %r", conf, componentAvatarId)
if componentAvatarId == conf['clock-master']:
self._depgraph.addClockMaster(state)
@@ -920,12 +921,18 @@
verifyExistingComponentState(jobState, m.state)
else:
makeNewComponentState(conf)
+ m = self.getComponentMapper(avatar.avatarId)
+ self._updateFlowDependencies(m.state)
+ try:
+ self._depgraph.mapEatersToFeeders()
+ except errors.ComponentConfigError, e:
+ # This can happen - the feeder that some eater refers to might
+ # not have logged back in yet. Once it does, we'll call this
+ # again, and the depgraph will get rebuilt properly.
+ self.debug("Couldn't map eaters to feeders for reconnecting "
+ "component")
m = self.getComponentMapper(avatar.avatarId)
-
- # make sure the component is in the depgraph
- self._depgraph.addComponent(m.state)
-
m.avatar = avatar
self._componentMappers[m.avatar] = m
avatar.componentState = m.state
More information about the flumotion-commit
mailing list