Merge pull request #1452 from ahgittin/object-store-persistence add support for persisting to object store
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/26c6542c Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/26c6542c Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/26c6542c Branch: refs/heads/master Commit: 26c6542cec043bf954f8efaf5da15939c5de64fa Parents: b92d039 e6e59f7 Author: Alex Heneveld <alex.henev...@cloudsoftcorp.com> Authored: Tue Jun 10 01:13:02 2014 +0100 Committer: Alex Heneveld <alex.henev...@cloudsoftcorp.com> Committed: Tue Jun 10 01:13:02 2014 +0100 ---------------------------------------------------------------------- .../entity/rebind/RebindExceptionHandler.java | 2 + .../brooklyn/config/BrooklynProperties.java | 6 +- .../brooklyn/config/BrooklynServerConfig.java | 63 +++- .../main/java/brooklyn/enricher/Enrichers.java | 3 +- .../entity/basic/BrooklynShutdownHooks.java | 7 +- .../rebind/RebindContextLookupContext.java | 63 ++++ .../rebind/RebindExceptionHandlerImpl.java | 5 + .../entity/rebind/RebindManagerImpl.java | 70 ++-- .../entity/rebind/dto/MementosGenerators.java | 41 +++ .../AbstractBrooklynMementoPersister.java | 1 + .../BrooklynMementoPersisterInMemory.java | 4 + .../BrooklynMementoPersisterToMultiFile.java | 35 +- .../BrooklynMementoPersisterToObjectStore.java | 350 +++++++++++++++++++ .../rebind/persister/FileBasedObjectStore.java | 314 +++++++++++++++++ .../persister/FileBasedStoreObjectAccessor.java | 85 +++++ .../rebind/persister/MementoFileWriter.java | 13 +- .../rebind/persister/MementoFileWriterSync.java | 2 + .../entity/rebind/persister/PersistMode.java | 8 + .../persister/PersistenceObjectStore.java | 92 +++++ .../persister/StoreObjectAccessorLocking.java | 153 ++++++++ .../ha/HighAvailabilityManagerImpl.java | 74 ++-- ...mentPlaneSyncRecordPersisterToMultiFile.java | 3 + ...ntPlaneSyncRecordPersisterToObjectStore.java | 251 +++++++++++++ .../main/resources/brooklyn-catalog-empty.xml | 1 + .../entity/group/DynamicMultiGroupTest.java | 3 +- .../entity/rebind/RebindEntityTest.java | 4 +- .../entity/rebind/RebindFailuresTest.java | 5 +- .../entity/rebind/RebindManagerSorterTest.java | 9 +- .../entity/rebind/RebindTestFixture.java | 7 +- .../brooklyn/entity/rebind/RebindTestUtils.java | 61 +++- .../rebind/RecordingRebindExceptionHandler.java | 6 + .../BrooklynMementoPersisterFileBasedTest.java | 29 ++ ...ntoPersisterInMemorySizeIntegrationTest.java | 75 ++++ .../BrooklynMementoPersisterInMemoryTest.java | 16 + .../BrooklynMementoPersisterTestFixture.java | 116 ++++++ ...BrooklynMementoPersisterToMultiFileTest.java | 48 +++ .../FileBasedStoreObjectAccessorWriterTest.java | 19 + .../rebind/persister/InMemoryObjectStore.java | 119 +++++++ .../InMemoryStoreObjectAccessorWriterTest.java | 16 + .../rebind/persister/ListeningObjectStore.java | 173 +++++++++ .../persister/MementoFileWriterSyncTest.java | 6 +- ...nceStoreObjectAccessorWriterTestFixture.java | 73 ++++ .../HighAvailabilityManagerFileBasedTest.java | 21 ++ .../ha/HighAvailabilityManagerInMemoryTest.java | 15 + .../ha/HighAvailabilityManagerTest.java | 198 ----------- .../ha/HighAvailabilityManagerTestFixture.java | 214 ++++++++++++ .../ha/ImmutableManagementPlaneSyncRecord.java | 36 ++ ...agementPlaneSyncRecordPersisterInMemory.java | 76 +--- .../management/ha/MasterChooserTest.java | 1 - .../ha/MutableManagementPlaneSyncRecord.java | 41 +++ .../entity/LocalManagementContextForTests.java | 12 +- .../brooklyn/util/file/ArchiveBuilderTest.java | 6 +- locations/jclouds/pom.xml | 11 + .../JcloudsBlobStoreBasedObjectStore.java | 191 ++++++++++ .../jclouds/JcloudsStoreObjectAccessor.java | 79 +++++ .../persister/jclouds/BlobStoreCleaner.java | 54 +++ .../rebind/persister/jclouds/BlobStoreTest.java | 132 +++++++ ...nMementoPersisterJcloudsObjectStoreTest.java | 47 +++ ...ailabilityManagerJcloudsObjectStoreTest.java | 56 +++ .../JcloudsObjectStoreAccessorWriterTest.java | 60 ++++ usage/cli/src/main/java/brooklyn/cli/Main.java | 31 +- usage/launcher/pom.xml | 7 + .../brooklyn/launcher/BrooklynLauncher.java | 226 ++++-------- .../FatalConfigurationRuntimeException.java | 14 - .../java/brooklyn/launcher/PersistMode.java | 8 - .../BrooklynLauncherHighAvailabilityTest.java | 12 +- .../launcher/BrooklynLauncherRebindTest.java | 267 -------------- .../BrooklynLauncherRebindTestFixture.java | 235 +++++++++++++ .../BrooklynLauncherRebindTestToFiles.java | 91 +++++ ...lynLauncherRebindToCloudObjectStoreTest.java | 107 ++++++ .../FatalConfigurationRuntimeException.java | 16 + .../src/main/java/brooklyn/util/os/Os.java | 2 +- .../main/java/brooklyn/util/text/Strings.java | 49 ++- 73 files changed, 3862 insertions(+), 884 deletions(-) ----------------------------------------------------------------------