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/07/03 11:42:14 UTC

[4/6] git commit: Merge remote-tracking branch 'aledsage/feature/PersistenceExceptionHandler'

Merge remote-tracking branch 'aledsage/feature/PersistenceExceptionHandler'


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/311aed15
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/311aed15
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/311aed15

Branch: refs/heads/master
Commit: 311aed1569d426e0f7188a6237673deb693bebcb
Parents: 7ddca72 648eb8f
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Thu Jul 3 10:16:42 2014 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Thu Jul 3 10:16:42 2014 +0100

----------------------------------------------------------------------
 .../rebind/PersistenceExceptionHandler.java     |  32 +++
 .../brooklyn/entity/rebind/RebindContext.java   |   3 +-
 .../entity/rebind/RebindExceptionHandler.java   |  15 ++
 .../brooklyn/entity/rebind/RebindManager.java   |   2 +
 .../mementos/BrooklynMementoPersister.java      |   7 +-
 .../entity/rebind/BasicEntityRebindSupport.java |  18 +-
 .../rebind/ImmediateDeltaChangeListener.java    |  22 ++-
 .../rebind/PeriodicDeltaChangeListener.java     |  24 +--
 .../rebind/PersistenceExceptionHandlerImpl.java | 102 ++++++++++
 .../entity/rebind/RebindContextImpl.java        |  21 +-
 .../rebind/RebindExceptionHandlerImpl.java      | 196 +++++++++++++++++--
 .../entity/rebind/RebindManagerImpl.java        |  54 ++++-
 .../AbstractBrooklynMementoPersister.java       |   5 +-
 .../BrooklynMementoPersisterInMemory.java       |  22 ++-
 .../BrooklynMementoPersisterToFile.java         |   9 +-
 .../BrooklynMementoPersisterToMultiFile.java    |  19 +-
 .../BrooklynMementoPersisterToObjectStore.java  |  55 +++---
 .../internal/BrooklynFeatureEnablement.java     |   2 +
 .../NonDeploymentManagementContext.java         |   6 +
 .../entity/rebind/RebindFailuresTest.java       |  78 ++++++++
 .../brooklyn/entity/rebind/RebindTestUtils.java |   8 +-
 .../rebind/RecordingRebindExceptionHandler.java |   2 +-
 .../BrooklynMementoPersisterTestFixture.java    |   2 +-
 ...BrooklynMementoPersisterToMultiFileTest.java |   3 +-
 .../HighAvailabilityManagerSplitBrainTest.java  |   3 +-
 .../ha/HighAvailabilityManagerTestFixture.java  |   3 +-
 .../AbstractWebAppFixtureIntegrationTest.java   |   5 +-
 .../brooklyn/launcher/BrooklynLauncher.java     |   5 +-
 28 files changed, 610 insertions(+), 113 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/311aed15/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/311aed15/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java
----------------------------------------------------------------------
diff --cc core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java
index 54f4943,34346ba..8a2b549
--- a/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java
+++ b/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java
@@@ -266,24 -269,21 +269,24 @@@ public class BrooklynMementoPersisterTo
              if (LOG.isDebugEnabled()) LOG.debug("Ignoring checkpointing entire memento, because not running");
              return;
          }
 -        if (LOG.isDebugEnabled()) LOG.debug("Checkpointing entire memento");
          objectStore.prepareForMasterUse();
          
 +        Stopwatch stopwatch = Stopwatch.createStarted();
 +
          for (EntityMemento entity : newMemento.getEntityMementos().values()) {
-             persist("entities", entity);
+             persist("entities", entity, exceptionHandler);
          }
          for (LocationMemento location : newMemento.getLocationMementos().values()) {
-             persist("locations", location);
+             persist("locations", location, exceptionHandler);
          }
          for (PolicyMemento policy : newMemento.getPolicyMementos().values()) {
-             persist("policies", policy);
+             persist("policies", policy, exceptionHandler);
          }
          for (EnricherMemento enricher : newMemento.getEnricherMementos().values()) {
-             persist("enrichers", enricher);
+             persist("enrichers", enricher, exceptionHandler);
          }
 +        
 +        if (LOG.isDebugEnabled()) LOG.debug("Checkpointed entire memento in {}", Time.makeTimeStringRounded(stopwatch));
      }
      
      @Override
@@@ -292,40 -292,37 +295,40 @@@
              if (LOG.isDebugEnabled()) LOG.debug("Ignoring checkpointed delta of memento, because not running");
              return;
          }
 -        if (LOG.isDebugEnabled()) LOG.debug("Checkpointed delta of memento; updating {} entities, {} locations and {} policies; " +
 -        		"removing {} entities, {} locations and {} policies", 
 -                new Object[] {delta.entities(), delta.locations(), delta.policies(),
 -                delta.removedEntityIds(), delta.removedLocationIds(), delta.removedPolicyIds()});
          objectStore.prepareForMasterUse();
          
 +        Stopwatch stopwatch = Stopwatch.createStarted();
 +        
          for (EntityMemento entity : delta.entities()) {
-             persist("entities", entity);
+             persist("entities", entity, exceptionHandler);
          }
          for (LocationMemento location : delta.locations()) {
-             persist("locations", location);
+             persist("locations", location, exceptionHandler);
          }
          for (PolicyMemento policy : delta.policies()) {
-             persist("policies", policy);
+             persist("policies", policy, exceptionHandler);
          }
          for (EnricherMemento enricher : delta.enrichers()) {
-             persist("enrichers", enricher);
+             persist("enrichers", enricher, exceptionHandler);
          }
          
          for (String id : delta.removedEntityIds()) {
-             delete("entities", id);
+             delete("entities", id, exceptionHandler);
          }
          for (String id : delta.removedLocationIds()) {
-             delete("locations", id);
+             delete("locations", id, exceptionHandler);
          }
          for (String id : delta.removedPolicyIds()) {
-             delete("policies", id);
+             delete("policies", id, exceptionHandler);
          }
          for (String id : delta.removedEnricherIds()) {
-             delete("enrichers", id);
+             delete("enrichers", id, exceptionHandler);
          }
 +        
 +        if (LOG.isDebugEnabled()) LOG.debug("Checkpointed delta of memento in {}; updated {} entities, {} locations and {} policies; " +
 +                "removing {} entities, {} locations and {} policies", 
 +                new Object[] {Time.makeTimeStringRounded(stopwatch), delta.entities(), delta.locations(), delta.policies(),
 +                delta.removedEntityIds(), delta.removedLocationIds(), delta.removedPolicyIds()});
      }
  
      @Override

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/311aed15/core/src/main/java/brooklyn/management/internal/NonDeploymentManagementContext.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/311aed15/core/src/test/java/brooklyn/management/ha/HighAvailabilityManagerSplitBrainTest.java
----------------------------------------------------------------------