This is an automated email from the ASF dual-hosted git repository.

heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git

commit bcde5189d9a398fbe4c62ff0d8d26ea8fb209a55
Author: Alex Heneveld <[email protected]>
AuthorDate: Mon Dec 6 16:03:38 2021 +0000

    provide metadata to suppress misleading warnings, and more context for 
persistence messages
---
 .../rebind/mementos/BrooklynMementoPersister.java  |  4 +--
 .../catalog/internal/CatalogInitialization.java    |  2 +-
 .../BrooklynMementoPersisterToObjectStore.java     | 32 ++++++++++++++++------
 .../mgmt/persist/BrooklynPersistenceUtils.java     | 14 +++++++---
 .../mgmt/rebind/PeriodicDeltaChangeListener.java   |  4 +++
 .../core/mgmt/rebind/RebindManagerImpl.java        |  6 +++-
 .../BrooklynMementoPersisterTestFixture.java       |  2 +-
 .../transformer/CompoundTransformerTest.java       |  2 +-
 .../brooklyn/launcher/common/BasicLauncher.java    |  6 ++--
 .../brooklyn/rest/resources/ServerResource.java    |  2 +-
 10 files changed, 52 insertions(+), 22 deletions(-)

diff --git 
a/api/src/main/java/org/apache/brooklyn/api/mgmt/rebind/mementos/BrooklynMementoPersister.java
 
b/api/src/main/java/org/apache/brooklyn/api/mgmt/rebind/mementos/BrooklynMementoPersister.java
index 163a0ff..9f059c0 100644
--- 
a/api/src/main/java/org/apache/brooklyn/api/mgmt/rebind/mementos/BrooklynMementoPersister.java
+++ 
b/api/src/main/java/org/apache/brooklyn/api/mgmt/rebind/mementos/BrooklynMementoPersister.java
@@ -98,8 +98,8 @@ public interface BrooklynMementoPersister {
     Set<String> getLastErrors();
 
     /** applies a full checkpoint (write) of all state; returns true on 
success or false on error, with {@link #getLastErrors()} available to get the 
last errors */
-    boolean checkpoint(BrooklynMementoRawData newMemento, 
PersistenceExceptionHandler exceptionHandler);
-    /** applies a partial write of state delta; result and errors as per 
{@link #checkpoint(BrooklynMementoRawData, PersistenceExceptionHandler)} */
+    boolean checkpoint(BrooklynMementoRawData newMemento, 
PersistenceExceptionHandler exceptionHandler, String context, @Nullable 
RebindManager deltaDetails);
+    /** applies a partial write of state delta; result and errors as per 
{@link #checkpoint(BrooklynMementoRawData, PersistenceExceptionHandler, String, 
RebindManager)} */
     boolean delta(Delta delta, PersistenceExceptionHandler exceptionHandler);
     /** inserts an additional delta to be written on the next delta request */
     @Beta
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
 
b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
index dd0bc22..ed116dc 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
@@ -559,7 +559,7 @@ public class CatalogInitialization implements 
ManagementContextInjectable {
             if (b.getBundle().getState() >= Bundle.INSTALLED && 
b.getBundle().getState() < Bundle.STARTING) {
                 // we installed it, catalog did not start it, so let's 
uninstall it
                 OsgiBundleInstallationResult result = 
getManagementContext().getOsgiManager().get().uninstallUploadedBundle(b.getMetadata());
-                log.debug("Result of uninstalling "+b+" due to due to catalog 
upgrade metadata instructions: "+result);
+                log.debug("Result of uninstalling "+b+" due to catalog upgrade 
metadata instructions: "+result);
             }
         });
 
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterToObjectStore.java
 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterToObjectStore.java
index 31e2019..fe09137 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterToObjectStore.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterToObjectStore.java
@@ -40,10 +40,10 @@ import javax.xml.xpath.XPathConstants;
 import org.apache.brooklyn.api.mgmt.ManagementContext;
 import org.apache.brooklyn.api.mgmt.rebind.PersistenceExceptionHandler;
 import org.apache.brooklyn.api.mgmt.rebind.RebindExceptionHandler;
+import org.apache.brooklyn.api.mgmt.rebind.RebindManager;
 import org.apache.brooklyn.api.mgmt.rebind.mementos.BrooklynMemento;
 import org.apache.brooklyn.api.mgmt.rebind.mementos.BrooklynMementoManifest;
 import org.apache.brooklyn.api.mgmt.rebind.mementos.BrooklynMementoPersister;
-import 
org.apache.brooklyn.api.mgmt.rebind.mementos.BrooklynMementoPersister.LookupContext;
 import org.apache.brooklyn.api.mgmt.rebind.mementos.BrooklynMementoRawData;
 import org.apache.brooklyn.api.mgmt.rebind.mementos.CatalogItemMemento;
 import org.apache.brooklyn.api.mgmt.rebind.mementos.ManagedBundleMemento;
@@ -63,6 +63,7 @@ import 
org.apache.brooklyn.core.mgmt.persist.PersistenceObjectStore.StoreObjectA
 import 
org.apache.brooklyn.core.mgmt.persist.PersistenceObjectStore.StoreObjectAccessorWithLock;
 import 
org.apache.brooklyn.core.mgmt.persist.XmlMementoSerializer.XmlMementoSerializerBuilder;
 import org.apache.brooklyn.core.mgmt.rebind.PeriodicDeltaChangeListener;
+import org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl;
 import org.apache.brooklyn.core.mgmt.rebind.dto.BrooklynMementoImpl;
 import org.apache.brooklyn.core.mgmt.rebind.dto.BrooklynMementoManifestImpl;
 import org.apache.brooklyn.core.typereg.BasicManagedBundle;
@@ -633,7 +634,7 @@ public class BrooklynMementoPersisterToObjectStore 
implements BrooklynMementoPer
     /** See {@link BrooklynPersistenceUtils} for conveniences for using this 
method. */
     @Override
     @Beta
-    public boolean checkpoint(BrooklynMementoRawData newMemento, 
PersistenceExceptionHandler exceptionHandler) {
+    public boolean checkpoint(BrooklynMementoRawData newMemento, 
PersistenceExceptionHandler exceptionHandler, String context, @Nullable 
RebindManager contextDetails) {
         checkWritesAllowed();
         try {
             lock.writeLock().lockInterruptibly();
@@ -642,6 +643,16 @@ public class BrooklynMementoPersisterToObjectStore 
implements BrooklynMementoPer
         }
         
         try {
+            if (LOG.isDebugEnabled()) {
+                if (contextDetails!=null && !contextDetails.hasPending()) {
+                    if (LOG.isTraceEnabled()) {
+                        LOG.trace("Checkpointing memento for {}", context);
+                    }
+                } else {
+                    LOG.debug("Checkpointing memento for {}", context);
+                }
+            }
+
             exceptionHandler.clearRecentErrors();
             objectStore.prepareForMasterUse();
             
@@ -651,7 +662,7 @@ public class BrooklynMementoPersisterToObjectStore 
implements BrooklynMementoPer
             futures.add(asyncUpdatePlaneId(newMemento.getPlaneId(), 
exceptionHandler));
             for (BrooklynObjectType type: 
BrooklynPersistenceUtils.STANDARD_BROOKLYN_OBJECT_TYPE_PERSISTENCE_ORDER) {
                 for (Map.Entry<String, String> entry : 
newMemento.getObjectsOfType(type).entrySet()) {
-                    addPersistContentIfManagedBundle(type, entry.getKey(), 
entry.getValue(), futures, exceptionHandler);
+                    addPersistContentIfManagedBundle(type, entry.getKey(), 
entry.getValue(), futures, exceptionHandler, contextDetails);
                     futures.add(asyncPersist(type.getSubPathName(), type, 
entry.getKey(), entry.getValue(), exceptionHandler));
                 }
             }
@@ -664,7 +675,7 @@ public class BrooklynMementoPersisterToObjectStore 
implements BrooklynMementoPer
             } catch (Exception e) {
                 throw Exceptions.propagate(e);
             }
-            if (LOG.isDebugEnabled()) LOG.debug("Checkpointed entire memento 
in {}", Time.makeTimeStringRounded(stopwatch));
+            if (LOG.isDebugEnabled()) LOG.debug("Checkpointed memento in {} 
(for {})", Time.makeTimeStringRounded(stopwatch), context);
         } finally {
             lastErrors = exceptionHandler.getRecentErrors();
             lock.writeLock().unlock();
@@ -737,7 +748,7 @@ public class BrooklynMementoPersisterToObjectStore 
implements BrooklynMementoPer
             for (BrooklynObjectType type: 
BrooklynPersistenceUtils.STANDARD_BROOKLYN_OBJECT_TYPE_PERSISTENCE_ORDER) {
                 for (Memento item : delta.getObjectsOfType(type)) {
                     if (!deletedIds.contains(item.getId())) {
-                        addPersistContentIfManagedBundle(type, item.getId(), 
""+item.getCatalogItemId()+"/"+item.getDisplayName(), futures, 
exceptionHandler);
+                        addPersistContentIfManagedBundle(type, item.getId(), 
""+item.getCatalogItemId()+"/"+item.getDisplayName(), futures, 
exceptionHandler, null);
                         futures.add(asyncPersist(type.getSubPathName(), item, 
exceptionHandler));
                     }
                 }
@@ -767,7 +778,7 @@ public class BrooklynMementoPersisterToObjectStore 
implements BrooklynMementoPer
         return lastErrors;
     }
 
-    private void addPersistContentIfManagedBundle(final BrooklynObjectType 
type, final String id, final String summaryOrContents, 
List<ListenableFuture<?>> futures, final PersistenceExceptionHandler 
exceptionHandler) {
+    private void addPersistContentIfManagedBundle(final BrooklynObjectType 
type, final String id, final String summaryOrContents, 
List<ListenableFuture<?>> futures, final PersistenceExceptionHandler 
exceptionHandler, final @Nullable RebindManager deltaContext) {
         if (type==BrooklynObjectType.MANAGED_BUNDLE) {
             if (mgmt==null) {
                 throw new IllegalStateException("Cannot persist bundles 
without a management context");
@@ -775,9 +786,12 @@ public class BrooklynMementoPersisterToObjectStore 
implements BrooklynMementoPer
             final ManagedBundle mb = 
((ManagementContextInternal)mgmt).getOsgiManager().get().getManagedBundles().get(id);
             LOG.debug("Persisting managed bundle "+id+": "+mb+" - 
"+summaryOrContents);
             if (mb==null) {
-                // previously happened on rebind because new osgi unique id 
was made; now it should use the same so we shouldn't see this,
-                // but if we do the log will contain a summary or contents for 
comparison which will help
-                LOG.warn("Cannot find managed bundle for added bundle "+id+"; 
ignoring (probably uninstalled or reinstalled with another OSGi ID; see debug 
log for contents)");
+                if (deltaContext!=null && deltaContext instanceof 
RebindManagerImpl && ((RebindManagerImpl)deltaContext).isBundleIdUnmanaged(id)) 
{
+                    // known to happen if we add then remove something, 
because it is still listed
+                    LOG.trace("Skipipng absent managed bundle for added and 
removed bundle {}; ignoring (probably uninstalled or reinstalled with another 
OSGi ID; see debug log for contents)", id);
+                } else {
+                    LOG.warn("Cannot find managed bundle for added bundle {}; 
ignoring (probably uninstalled or reinstalled with another OSGi ID; see debug 
log for contents)", id);
+                }
                 return;
             }
             
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynPersistenceUtils.java
 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynPersistenceUtils.java
index 649e9a6..3410325 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynPersistenceUtils.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynPersistenceUtils.java
@@ -54,6 +54,7 @@ import org.apache.brooklyn.core.server.BrooklynServerPaths;
 import 
org.apache.brooklyn.location.localhost.LocalhostMachineProvisioningLocation;
 import org.apache.brooklyn.util.core.ResourceUtils;
 import org.apache.brooklyn.util.exceptions.Exceptions;
+import org.apache.brooklyn.util.javalang.JavaClassNames;
 import org.apache.brooklyn.util.text.Strings;
 import org.apache.brooklyn.util.time.Duration;
 import org.apache.brooklyn.util.time.Time;
@@ -106,13 +107,18 @@ public class BrooklynPersistenceUtils {
 
     public static void writeMemento(ManagementContext managementContext, 
BrooklynMementoRawData memento,
             PersistenceObjectStore destinationObjectStore) {
+        writeMemento(managementContext, memento, destinationObjectStore, 
"explicit memento write (no details)");
+    }
+
+    public static void writeMemento(ManagementContext managementContext, 
BrooklynMementoRawData memento,
+                                    PersistenceObjectStore 
destinationObjectStore, String context) {
         BrooklynMementoPersisterToObjectStore persister = new 
BrooklynMementoPersisterToObjectStore(
             destinationObjectStore,
             managementContext);
         try {
             PersistenceExceptionHandler exceptionHandler = 
PersistenceExceptionHandlerImpl.builder().build();
             persister.enableWriteAccess();
-            persister.checkpoint(memento, exceptionHandler);
+            persister.checkpoint(memento, exceptionHandler, context, 
managementContext.getRebindManager());
         } finally {
             persister.stop(true);
         }
@@ -218,7 +224,7 @@ public class BrooklynPersistenceUtils {
         BrooklynMementoRawData dataRecord = newStateMemento(mgmt, source); 
         ManagementPlaneSyncRecord mgmtRecord = newManagerMemento(mgmt, source);
 
-        writeMemento(mgmt, dataRecord, targetStore);
+        writeMemento(mgmt, dataRecord, targetStore, "copy being written (for 
"+ JavaClassNames.callerNiceClassAndMethod(1)+")");
         writeManagerMemento(mgmt, mgmtRecord, targetStore);
         
         log.debug("Wrote full memento to "+targetStore+" in 
"+Time.makeTimeStringRounded(Duration.of(timer)));
@@ -258,7 +264,7 @@ public class BrooklynPersistenceUtils {
                     
.location(backupSpec).nonBackupLocation(nonBackupSpec).resolveWithSubpathFor(managementContext,
 mode.toString());
                 destinationObjectStore = 
BrooklynPersistenceUtils.newPersistenceObjectStore(managementContext, 
backupSpec, backupContainer);
                 log.debug("Backing up persisted state on "+mode+", to 
"+destinationObjectStore.getSummaryName());
-                BrooklynPersistenceUtils.writeMemento(managementContext, 
memento, destinationObjectStore);
+                BrooklynPersistenceUtils.writeMemento(managementContext, 
memento, destinationObjectStore, "backup for '"+mode+"'");
                 
BrooklynPersistenceUtils.writeManagerMemento(managementContext, planeState, 
destinationObjectStore);
                 if (!memento.isEmpty()) {
                     log.info("Back-up of persisted state created on "+mode+", 
in "+destinationObjectStore.getSummaryName());
@@ -278,7 +284,7 @@ public class BrooklynPersistenceUtils {
                         +" failed with "+e, e);
                     
                     log.debug("Backing up persisted state on "+mode+", locally 
because remote failed, to "+destinationObjectStore.getSummaryName());
-                    BrooklynPersistenceUtils.writeMemento(managementContext, 
memento, destinationObjectStore);
+                    BrooklynPersistenceUtils.writeMemento(managementContext, 
memento, destinationObjectStore, "secondary local backup for 'mode");
                     
BrooklynPersistenceUtils.writeManagerMemento(managementContext, planeState, 
destinationObjectStore);
                     log.info("Back-up of persisted state created on "+mode+", 
locally because remote failed, in "+destinationObjectStore.getSummaryName());
                 }
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/PeriodicDeltaChangeListener.java
 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/PeriodicDeltaChangeListener.java
index f9b9be4..1c533f5 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/PeriodicDeltaChangeListener.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/PeriodicDeltaChangeListener.java
@@ -385,6 +385,10 @@ public class PeriodicDeltaChangeListener implements 
ChangeListener {
     boolean isStopped() {
         return state == ListenerState.STOPPING || state == 
ListenerState.STOPPED || executionContext.isShutdown();
     }
+
+    boolean isBundleIdUnmanaged(String id) {
+        return deltaCollector.removedBundleIds.contains(id);
+    }
     
     /**
      * @deprecated since 1.0.0; its use is enabled via 
BrooklynFeatureEnablement.FEATURE_REFERENCED_OBJECTS_PERSISTENCE_PROPERTY,
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindManagerImpl.java
 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindManagerImpl.java
index 81c254e..d77d676 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindManagerImpl.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindManagerImpl.java
@@ -555,6 +555,10 @@ public class RebindManagerImpl implements RebindManager {
         return persistenceRealChangeListener.hasPending() || 
persistenceStoreAccess.isWriting();
     }
 
+    public boolean isBundleIdUnmanaged(String id) {
+        return persistenceRealChangeListener.isBundleIdUnmanaged(id);
+    }
+
     @Override
     @VisibleForTesting
     public void forcePersistNow(boolean full, PersistenceExceptionHandler 
exceptionHandler) {
@@ -567,7 +571,7 @@ public class RebindManagerImpl implements RebindManager {
             if (exceptionHandler == null) {
                 exceptionHandler = 
persistenceRealChangeListener.getExceptionHandler();
             }
-            persistenceStoreAccess.checkpoint(memento, exceptionHandler);
+            persistenceStoreAccess.checkpoint(memento, exceptionHandler, 
"manual forced persistence", null);
         } else {
             if (!persistenceRealChangeListener.persistNowSafely()) {
                 throw new IllegalStateException("Forced persistence failed; 
see logs for more detail");
diff --git 
a/core/src/test/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterTestFixture.java
 
b/core/src/test/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterTestFixture.java
index 0aa3df6..6f63bab 100644
--- 
a/core/src/test/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterTestFixture.java
+++ 
b/core/src/test/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterTestFixture.java
@@ -164,7 +164,7 @@ public abstract class BrooklynMementoPersisterTestFixture {
             
             // And test persisting
             PersistenceExceptionHandler exceptionHandler = 
PersistenceExceptionHandlerImpl.builder().build();
-            ((BrooklynMementoPersisterToObjectStore) 
persister).checkpoint(rawMemento, exceptionHandler);
+            ((BrooklynMementoPersisterToObjectStore) 
persister).checkpoint(rawMemento, exceptionHandler, "test", null);
         } else {
             throw new SkipException("Persister "+persister+" not a 
"+BrooklynMementoPersisterToObjectStore.class.getSimpleName());
         }
diff --git 
a/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/transformer/CompoundTransformerTest.java
 
b/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/transformer/CompoundTransformerTest.java
index 05969ec..fe79c66 100644
--- 
a/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/transformer/CompoundTransformerTest.java
+++ 
b/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/transformer/CompoundTransformerTest.java
@@ -455,7 +455,7 @@ public class CompoundTransformerTest extends 
RebindTestFixtureWithApp {
         persister.enableWriteAccess();
 
         PersistenceExceptionHandler exceptionHandler = 
PersistenceExceptionHandlerImpl.builder().build();
-        persister.checkpoint(rawData, exceptionHandler);
+        persister.checkpoint(rawData, exceptionHandler, "test", null);
         
         LOG.info("Test "+getClass()+" persisted raw data to "+newMementoDir);
         return newMementoDir;
diff --git 
a/launcher-common/src/main/java/org/apache/brooklyn/launcher/common/BasicLauncher.java
 
b/launcher-common/src/main/java/org/apache/brooklyn/launcher/common/BasicLauncher.java
index bb70594..0a9742a 100644
--- 
a/launcher-common/src/main/java/org/apache/brooklyn/launcher/common/BasicLauncher.java
+++ 
b/launcher-common/src/main/java/org/apache/brooklyn/launcher/common/BasicLauncher.java
@@ -18,6 +18,7 @@
  */
 package org.apache.brooklyn.launcher.common;
 
+import com.google.common.annotations.VisibleForTesting;
 import static com.google.common.base.Preconditions.checkNotNull;
 
 import java.io.File;
@@ -333,7 +334,7 @@ public class BasicLauncher<T extends BasicLauncher<T>> {
             LOG.info("Copying persisted state to 
"+destinationDir+(destinationLocationSpec!=null ? " @ "+destinationLocationSpec 
: ""));
             PersistenceObjectStore destinationObjectStore = 
BrooklynPersistenceUtils.newPersistenceObjectStore(
                 managementContext, destinationLocationSpec, destinationDir);
-            BrooklynPersistenceUtils.writeMemento(managementContext, memento, 
destinationObjectStore);
+            BrooklynPersistenceUtils.writeMemento(managementContext, memento, 
destinationObjectStore, "copy on launch");
             BrooklynPersistenceUtils.writeManagerMemento(managementContext, 
planeState, destinationObjectStore);
         } catch (Exception e) {
             Exceptions.propagateIfFatal(e);
@@ -364,11 +365,12 @@ public class BasicLauncher<T extends BasicLauncher<T>> {
      */
     // Make private after deprecation
     @Deprecated
+    @VisibleForTesting
     public void persistState(BrooklynMementoRawData memento, String 
destinationDir, @Nullable String destinationLocationSpec) {
         initManagementContext();
         PersistenceObjectStore destinationObjectStore = 
BrooklynPersistenceUtils.newPersistenceObjectStore(
             managementContext, destinationLocationSpec, destinationDir);
-        BrooklynPersistenceUtils.writeMemento(managementContext, memento, 
destinationObjectStore);
+        BrooklynPersistenceUtils.writeMemento(managementContext, memento, 
destinationObjectStore, "persist on launch (for testing only)");
     }
 
     /**
diff --git 
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/ServerResource.java
 
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/ServerResource.java
index 65617b1..a5ffa2d 100644
--- 
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/ServerResource.java
+++ 
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/ServerResource.java
@@ -648,7 +648,7 @@ public class ServerResource extends 
AbstractBrooklynRestResource implements Serv
             result.catalogItems(newMementoRawData.getCatalogItems());
 
             PersistenceObjectStore currentPersistenceStore = 
((BrooklynMementoPersisterToObjectStore) 
mgmt().getRebindManager().getPersister()).getObjectStore();
-            
BrooklynPersistenceUtils.writeMemento(mgmt(),result.build(),currentPersistenceStore);
+            
BrooklynPersistenceUtils.writeMemento(mgmt(),result.build(),currentPersistenceStore,
 "persist for REST call");
 
             
mgmt().getRebindManager().rebind(mgmt().getCatalogClassLoader(),null, 
mgmt().getHighAvailabilityManager().getNodeState());
 

Reply via email to