You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2014/11/18 18:53:17 UTC
[3/5] incubator-brooklyn git commit: Don't start feeds when in
HOT_STANDBY/HOT_BACKUP
Don't start feeds when in HOT_STANDBY/HOT_BACKUP
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/a0ac6b92
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/a0ac6b92
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/a0ac6b92
Branch: refs/heads/master
Commit: a0ac6b9200c110755fed9e25b7c0e85a3820fc08
Parents: d6a9aec
Author: Svetoslav Neykov <sv...@cloudsoftcorp.com>
Authored: Tue Nov 18 19:48:58 2014 +0200
Committer: Svetoslav Neykov <sv...@cloudsoftcorp.com>
Committed: Tue Nov 18 19:48:58 2014 +0200
----------------------------------------------------------------------
.../entity/rebind/BasicEntityRebindSupport.java | 6 ++---
.../brooklyn/entity/rebind/RebindFeedTest.java | 4 ++--
.../brooklyn/management/ha/HotStandbyTest.java | 23 ++++++++++++++++++++
3 files changed, 28 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a0ac6b92/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java b/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java
index c2d8532..8edb2fd 100644
--- a/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java
+++ b/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java
@@ -164,9 +164,9 @@ public class BasicEntityRebindSupport extends AbstractBrooklynObjectRebindSuppor
}
try {
- // TODO don't start feeds here necessarily, if we're in RO mode for instance
- // (should refactor enrichers and policies and apply to them)
- feed.start();
+ if (!rebindContext.isReadOnly(feed)) {
+ feed.start();
+ }
} catch (Exception e) {
rebindContext.getExceptionHandler().onRebindFailed(BrooklynObjectType.ENTITY, entity, e);
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a0ac6b92/core/src/test/java/brooklyn/entity/rebind/RebindFeedTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/RebindFeedTest.java b/core/src/test/java/brooklyn/entity/rebind/RebindFeedTest.java
index c0be0fb..968f497 100644
--- a/core/src/test/java/brooklyn/entity/rebind/RebindFeedTest.java
+++ b/core/src/test/java/brooklyn/entity/rebind/RebindFeedTest.java
@@ -67,8 +67,8 @@ public class RebindFeedTest extends RebindTestFixtureWithApp {
private static final Logger log = LoggerFactory.getLogger(RebindFeedTest.class);
- final static AttributeSensor<String> SENSOR_STRING = Sensors.newStringSensor("aString", "");
- final static AttributeSensor<Integer> SENSOR_INT = Sensors.newIntegerSensor( "aLong", "");
+ public final static AttributeSensor<String> SENSOR_STRING = Sensors.newStringSensor("aString", "");
+ public final static AttributeSensor<Integer> SENSOR_INT = Sensors.newIntegerSensor( "aLong", "");
private BetterMockWebServer server;
private URL baseUrl;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a0ac6b92/core/src/test/java/brooklyn/management/ha/HotStandbyTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/management/ha/HotStandbyTest.java b/core/src/test/java/brooklyn/management/ha/HotStandbyTest.java
index 76fa635..f82afe8 100644
--- a/core/src/test/java/brooklyn/management/ha/HotStandbyTest.java
+++ b/core/src/test/java/brooklyn/management/ha/HotStandbyTest.java
@@ -19,8 +19,11 @@
package brooklyn.management.ha;
import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertTrue;
import java.util.ArrayDeque;
+import java.util.Collection;
import java.util.Date;
import java.util.Deque;
import java.util.List;
@@ -35,10 +38,13 @@ import org.testng.annotations.Test;
import brooklyn.entity.Application;
import brooklyn.entity.Entity;
+import brooklyn.entity.Feed;
import brooklyn.entity.basic.Entities;
import brooklyn.entity.proxying.EntitySpec;
import brooklyn.entity.rebind.PersistenceExceptionHandlerImpl;
+import brooklyn.entity.rebind.RebindFeedTest;
import brooklyn.entity.rebind.RebindManagerImpl;
+import brooklyn.entity.rebind.RebindFeedTest.MyEntityWithFunctionFeedImpl;
import brooklyn.entity.rebind.persister.BrooklynMementoPersisterToObjectStore;
import brooklyn.entity.rebind.persister.InMemoryObjectStore;
import brooklyn.entity.rebind.persister.ListeningObjectStore;
@@ -594,4 +600,21 @@ public class HotStandbyTest {
assertEquals(n2.ha.getNodeState(), ManagementNodeState.FAILED);
}
+ @Test
+ public void testHotStandbyDoesNoStartFeeds() throws Exception {
+ HaMgmtNode n1 = createMaster(Duration.PRACTICALLY_FOREVER);
+ TestApplication app = createFirstAppAndPersist(n1);
+ TestEntity entity = app.createAndManageChild(EntitySpec.create(TestEntity.class).impl(MyEntityWithFunctionFeedImpl.class));
+ forcePersistNow(n1);
+ for (Feed feed : entity.feeds().getFeeds()) {
+ assertTrue(feed.isActive(), "Feed expected running, but it is non-running");
+ }
+
+ HaMgmtNode n2 = createHotStandby(Duration.PRACTICALLY_FOREVER);
+ TestEntity entityRO = (TestEntity) n2.mgmt.lookup(entity.getId(), Entity.class);
+ for (Feed feedRO : entityRO.feeds().getFeeds()) {
+ assertFalse(feedRO.isActive(), "Feed expected non-active, but it is running");
+ }
+ }
+
}