You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ge...@apache.org on 2017/07/19 16:25:57 UTC

[27/39] brooklyn-server git commit: better error messages and warnings around catalog item failures

better error messages and warnings around catalog item failures

many caused by misleading impl of propagate(msg, err), deprecate that for a version to let us fix


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

Branch: refs/heads/master
Commit: f344430e46b55065e1b95bcf1a297f3395afed2a
Parents: d7ebb6b
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Wed Jun 7 23:40:09 2017 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Thu Jul 6 15:01:56 2017 +0100

----------------------------------------------------------------------
 .../core/catalog/internal/CatalogBundleLoader.java |  2 +-
 .../brooklyn/core/catalog/internal/CatalogDo.java  |  2 +-
 .../catalog/internal/CatalogInitialization.java    | 16 ++++++++++------
 .../core/catalog/internal/CatalogUtils.java        |  2 +-
 .../mgmt/persist/FileBasedStoreObjectAccessor.java |  8 ++++----
 .../brooklyn/core/mgmt/rebind/RebindIteration.java | 10 +++++-----
 .../brooklyn/core/objs/proxy/InternalFactory.java  |  2 +-
 .../apache/brooklyn/util/core/ResourceUtils.java   |  2 +-
 .../brooklyn/util/core/osgi/BundleMaker.java       | 10 +++++-----
 .../persist/deserializingClassRenames.properties   |  2 ++
 .../brooklyn/location/jclouds/JcloudsLocation.java |  4 ++--
 .../main/java/org/apache/brooklyn/cli/Main.java    |  2 +-
 .../brooklyn/util/exceptions/Exceptions.java       | 17 +++++++++++++++--
 .../brooklyn/util/exceptions/ExceptionsTest.java   |  8 ++++----
 14 files changed, 53 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f344430e/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogBundleLoader.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogBundleLoader.java b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogBundleLoader.java
index 90bc628..e55617a 100644
--- a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogBundleLoader.java
+++ b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogBundleLoader.java
@@ -163,7 +163,7 @@ public class CatalogBundleLoader {
         try (final InputStream ins = bom.openStream()) {
             return Streams.readFullyString(ins);
         } catch (IOException e) {
-            throw Exceptions.propagate("Error loading Catalog BOM from " + bom, e);
+            throw Exceptions.propagateAnnotated("Error loading Catalog BOM from " + bom, e);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f344430e/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogDo.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogDo.java b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogDo.java
index 4852929..39cc8d2 100644
--- a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogDo.java
+++ b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogDo.java
@@ -137,7 +137,7 @@ public class CatalogDo {
                 } catch (Exception e) {
                     Exceptions.propagateIfFatal(e);
                     if (failOnLoadError) {
-                        Exceptions.propagate(e);
+                        Exceptions.propagateAnnotated("Loading bundles for catalog item " + entry.getCatalogItemId() + " failed", e);
                     } else {
                         log.error("Loading bundles for catalog item " + entry + " failed: " + e.getMessage(), e);
                     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f344430e/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
----------------------------------------------------------------------
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 45e7e7a..f906344 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
@@ -34,6 +34,7 @@ import org.apache.brooklyn.util.core.ResourceUtils;
 import org.apache.brooklyn.util.core.flags.TypeCoercions;
 import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.apache.brooklyn.util.exceptions.FatalRuntimeException;
+import org.apache.brooklyn.util.exceptions.PropagatedRuntimeException;
 import org.apache.brooklyn.util.exceptions.RuntimeInterruptedException;
 import org.apache.brooklyn.util.guava.Maybe;
 import org.apache.brooklyn.util.javalang.JavaClassNames;
@@ -394,15 +395,18 @@ public class CatalogInitialization implements ManagementContextInjectable {
         if (throwable instanceof RuntimeInterruptedException)
             throw (RuntimeInterruptedException) throwable;
 
-        String throwableText = Exceptions.collapseText(throwable);
-        log.error("Error loading catalog item '"+details+"': "+throwableText);
-        log.debug("Trace for error loading catalog item '"+details+"': "+throwableText, throwable);
+        if (details instanceof CatalogItem) {
+            if (((CatalogItem<?,?>)details).getCatalogItemId() != null) {
+                details = ((CatalogItem<?,?>)details).getCatalogItemId();
+            }
+        }
+        PropagatedRuntimeException wrap = new PropagatedRuntimeException("Error loading catalog item "+details, throwable);
+        log.debug("Trace for: "+wrap, wrap);
 
-        // TODO give more detail when adding
-        ((ManagementContextInternal)getManagementContext()).errors().add(throwable);
+        ((ManagementContextInternal)getManagementContext()).errors().add(wrap);
         
         if (isStartingUp && failOnStartupErrors) {
-            throw new FatalRuntimeException("Unable to load catalog item '"+details+"': "+throwableText, throwable);
+            throw new FatalRuntimeException("Unable to load catalog item "+details, wrap);
         }
     }
     

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f344430e/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUtils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUtils.java b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUtils.java
index 81cbbcf..7fa3631 100644
--- a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUtils.java
+++ b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUtils.java
@@ -396,7 +396,7 @@ public class CatalogUtils {
 
         if (!didSomething) {
             // TODO review what to do here
-            log.warn("Can't find catalog item " + itemId);
+            log.warn("Can't find catalog item " + itemId+"; ignoring, but a search path may be incomplete and other errors may follow");
         }
     }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f344430e/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/FileBasedStoreObjectAccessor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/FileBasedStoreObjectAccessor.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/FileBasedStoreObjectAccessor.java
index 2028c43..a8d7cf1 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/FileBasedStoreObjectAccessor.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/FileBasedStoreObjectAccessor.java
@@ -58,7 +58,7 @@ public class FileBasedStoreObjectAccessor implements PersistenceObjectStore.Stor
             if (!exists()) return null;
             return Files.asCharSource(file, Charsets.UTF_8).read();
         } catch (IOException e) {
-            throw Exceptions.propagate("Problem reading String contents of file "+file, e);
+            throw Exceptions.propagateAnnotated("Problem reading String contents of file "+file, e);
         }
     }
 
@@ -68,7 +68,7 @@ public class FileBasedStoreObjectAccessor implements PersistenceObjectStore.Stor
             if (!exists()) return null;
             return Files.asByteSource(file).read();
         } catch (IOException e) {
-            throw Exceptions.propagate("Problem reading bytes of file "+file, e);
+            throw Exceptions.propagateAnnotated("Problem reading bytes of file "+file, e);
         }
     }
 
@@ -90,7 +90,7 @@ public class FileBasedStoreObjectAccessor implements PersistenceObjectStore.Stor
             Streams.copyClose(bytes.openStream(), new FileOutputStream(tmpFile));
             FileBasedObjectStore.moveFile(tmpFile, file);
         } catch (IOException e) {
-            throw Exceptions.propagate("Problem writing data to file "+file+" (via temporary file "+tmpFile+")", e);
+            throw Exceptions.propagateAnnotated("Problem writing data to file "+file+" (via temporary file "+tmpFile+")", e);
         } catch (InterruptedException e) {
             throw Exceptions.propagate(e);
         }
@@ -105,7 +105,7 @@ public class FileBasedStoreObjectAccessor implements PersistenceObjectStore.Stor
             Files.append(val, file, Charsets.UTF_8);
             
         } catch (IOException e) {
-            throw Exceptions.propagate("Problem appending to file "+file, e);
+            throw Exceptions.propagateAnnotated("Problem appending to file "+file, e);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f344430e/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java
index 6ee3dc7..0bde0d1 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java
@@ -1063,7 +1063,7 @@ public abstract class RebindIteration {
                         reboundSearchPath.add(fixedSearchItemId);
                     } else {
                         LOG.warn("Unable to load catalog item "+ searchItemId
-                            +" for search path of "+contextSuchAsId + " (" + bType.getSimpleName()+"); attempting load nevertheless");
+                            + " for search path of "+contextSuchAsId + " (" + bType.getSimpleName()+"); attempting to load "+jType+" nevertheless");
                     }
                 }
             }
@@ -1091,7 +1091,7 @@ public abstract class RebindIteration {
                         return new LoadedClass<T>(loader.loadClass(jType, bType), transformedCatalogItemId, reboundSearchPath);
                     } catch (Exception e) {
                         Exceptions.propagateIfFatal(e);
-                        LOG.warn("Unable to load "+jType+" using loader; will try reflections");
+                        LOG.warn("Unable to load class "+jType+" needed for "+catalogItemId+" for "+contextSuchAsId+", via "+transformedCatalogItemId+" loader (will try reflections)");
                     }
                 } else {
                     LOG.warn("Unable to load catalog item "+catalogItemId+" ("+bType+") for " + contextSuchAsId +
@@ -1103,12 +1103,12 @@ public abstract class RebindIteration {
                 return new LoadedClass<T>((Class<T>)loadClass(jType), catalogItemId, reboundSearchPath);
             } catch (Exception e) {
                 Exceptions.propagateIfFatal(e);
-                LOG.warn("Unable to load "+jType+" using reflections; will try standard context");
+                LOG.warn("Unable to load class "+jType+" needed for "+catalogItemId+" for "+contextSuchAsId+", via reflections (may try others, will throw if fails)");
             }
 
             if (catalogItemId != null) {
-                throw new IllegalStateException("Unable to load catalog item " + catalogItemId + " for " +
-                    contextSuchAsId + ", or load class from classpath");
+                throw new IllegalStateException("Unable to load "+jType+" for catalog item " + catalogItemId + " for " + contextSuchAsId);
+                
             } else if (BrooklynFeatureEnablement.isEnabled(FEATURE_BACKWARDS_COMPATIBILITY_INFER_CATALOG_ITEM_ON_REBIND)) {
                 //Try loading from whichever catalog bundle succeeds.
                 BrooklynCatalog catalog = managementContext.getCatalog();

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f344430e/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalFactory.java b/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalFactory.java
index 4af0900..fec97f2 100644
--- a/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalFactory.java
+++ b/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalFactory.java
@@ -121,7 +121,7 @@ public class InternalFactory {
             return special.newInstance().create(managementContext, clazz, spec);
         } catch (Exception e) {
             Exceptions.propagateIfFatal(e);
-            throw Exceptions.propagate("Unable to create "+clazz+" "+spec+" using special "+special, e);
+            throw Exceptions.propagateAnnotated("Unable to create "+clazz+" "+spec+" using special "+special, e);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f344430e/core/src/main/java/org/apache/brooklyn/util/core/ResourceUtils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/ResourceUtils.java b/core/src/main/java/org/apache/brooklyn/util/core/ResourceUtils.java
index 813bae2..88bb4ad 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/ResourceUtils.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/ResourceUtils.java
@@ -293,7 +293,7 @@ public class ResourceUtils {
             throw new IOException("'"+orig+"' not found on classpath or filesystem");
         } catch (Exception e) {
             if (context!=null) {
-                throw Exceptions.propagate("Error getting resource '"+url+"' for "+context, e);
+                throw Exceptions.propagateAnnotated("Error getting resource '"+url+"' for "+context, e);
             } else {
                 throw Exceptions.propagate(e);
             }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f344430e/core/src/main/java/org/apache/brooklyn/util/core/osgi/BundleMaker.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/osgi/BundleMaker.java b/core/src/main/java/org/apache/brooklyn/util/core/osgi/BundleMaker.java
index 37aa5a1..9116c0e 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/osgi/BundleMaker.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/osgi/BundleMaker.java
@@ -114,7 +114,7 @@ public class BundleMaker {
             return f;
             
         } catch (Exception e) {
-            throw Exceptions.propagate("Error creating ZIP from classpath spec "+path, e);
+            throw Exceptions.propagateAnnotated("Error creating ZIP from classpath spec "+path, e);
             
         } finally {
             Streams.closeQuietly(zout);
@@ -136,7 +136,7 @@ public class BundleMaker {
             jf = new JarFile(f);
             return jf.getManifest();
         } catch (IOException e) {
-            throw Exceptions.propagate("Unable to read "+f+" when looking for manifest", e);
+            throw Exceptions.propagateAnnotated("Unable to read "+f+" when looking for manifest", e);
         } finally {
             Streams.closeQuietly(jf);
         }
@@ -164,7 +164,7 @@ public class BundleMaker {
             zout = new JarOutputStream(new FileOutputStream(f2), mf);
             writeZipEntriesFromFile(zout, f, Predicates.not(Predicates.equalTo(MANIFEST_PATH)));
         } catch (IOException e) {
-            throw Exceptions.propagate("Unable to read "+f+" when looking for manifest", e);
+            throw Exceptions.propagateAnnotated("Unable to read "+f+" when looking for manifest", e);
         } finally {
             Streams.closeQuietly(zf);
             Streams.closeQuietly(zout);
@@ -226,7 +226,7 @@ public class BundleMaker {
 
             return f2;
         } catch (IOException e) {
-            throw Exceptions.propagate("Unable to read "+f+" when looking for manifest", e);
+            throw Exceptions.propagateAnnotated("Unable to read "+f+" when looking for manifest", e);
         } finally {
             Streams.closeQuietly(zf);
             Streams.closeQuietly(zout);
@@ -285,7 +285,7 @@ public class BundleMaker {
             return b;
             
         } catch (Exception e) {
-            throw Exceptions.propagate("Error starting bundle from "+f, e);
+            throw Exceptions.propagateAnnotated("Error starting bundle from "+f, e);
         }
     }
     

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f344430e/core/src/main/resources/org/apache/brooklyn/core/mgmt/persist/deserializingClassRenames.properties
----------------------------------------------------------------------
diff --git a/core/src/main/resources/org/apache/brooklyn/core/mgmt/persist/deserializingClassRenames.properties b/core/src/main/resources/org/apache/brooklyn/core/mgmt/persist/deserializingClassRenames.properties
index 8a6a7a4..c0dc264 100644
--- a/core/src/main/resources/org/apache/brooklyn/core/mgmt/persist/deserializingClassRenames.properties
+++ b/core/src/main/resources/org/apache/brooklyn/core/mgmt/persist/deserializingClassRenames.properties
@@ -1450,3 +1450,5 @@ brooklyn.networking.vclouddirector.PortForwardingConfig
 
 org.apache.brooklyn.feed.ssh.SshFeed$SshPollIdentifier                           : org.apache.brooklyn.feed.AbstractCommandFeed$CommandPollIdentifier
 org.apache.brooklyn.feed.ssh.SshPollConfig$CombiningEnvSupplier                  : org.apache.brooklyn.feed.CommandPollConfig$CombiningEnvSupplier
+
+com.usharesoft.cloudsoft.SoftwareFromStack : com.usharesoft.cloudsoft.entities-from-uforge:com.usharesoft.cloudsoft.SoftwareFromStack

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f344430e/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
index c0d419c..e975520 100644
--- a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
+++ b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
@@ -2392,10 +2392,10 @@ public class JcloudsLocation extends AbstractCloudMachineProvisioningLocation im
                 try {
                     return pollForFirstReachableHostAndPortPredicate = predicateType.newInstance();
                 } catch (IllegalAccessException | InstantiationException newInstanceException) {
-                    throw Exceptions.propagate("Failed to instantiate " + predicateType, newInstanceException);
+                    throw Exceptions.propagateAnnotated("Failed to instantiate " + predicateType, newInstanceException);
                 }
             } catch (InvocationTargetException | InstantiationException e) {
-                throw Exceptions.propagate("Failed to instantiate " + predicateType + " with Map constructor", e);
+                throw Exceptions.propagateAnnotated("Failed to instantiate " + predicateType + " with Map constructor", e);
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f344430e/server-cli/src/main/java/org/apache/brooklyn/cli/Main.java
----------------------------------------------------------------------
diff --git a/server-cli/src/main/java/org/apache/brooklyn/cli/Main.java b/server-cli/src/main/java/org/apache/brooklyn/cli/Main.java
index f68f142..606a2a1 100644
--- a/server-cli/src/main/java/org/apache/brooklyn/cli/Main.java
+++ b/server-cli/src/main/java/org/apache/brooklyn/cli/Main.java
@@ -433,7 +433,7 @@ public class Main extends AbstractMain {
                         try {
                             populateCatalog(catInit.getManagementContext().getCatalog());
                         } catch (Throwable e) {
-                            catInit.handleException(e, "overridden main class populate catalog");
+                            catInit.handleException(e, "in main class populate catalog override");
                         }
                         
                         // Force load of catalog (so web console is up to date)

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f344430e/utils/common/src/main/java/org/apache/brooklyn/util/exceptions/Exceptions.java
----------------------------------------------------------------------
diff --git a/utils/common/src/main/java/org/apache/brooklyn/util/exceptions/Exceptions.java b/utils/common/src/main/java/org/apache/brooklyn/util/exceptions/Exceptions.java
index 5487072..82fcce7 100644
--- a/utils/common/src/main/java/org/apache/brooklyn/util/exceptions/Exceptions.java
+++ b/utils/common/src/main/java/org/apache/brooklyn/util/exceptions/Exceptions.java
@@ -130,17 +130,30 @@ public class Exceptions {
     }
 
     /**
+     * Convenience for {@link #propagateAnnotateIfWrapping(String, Throwable)}.
+     * 
+     * @deprecated since 0.12.0 behaviour will change (default should be to always wrap and annotate);
+     * for now users should review and switch to either 
+     * {@link #propagateAnnotated(String, Throwable)} or {@link #propagateAnnotateIfWrapping(String, Throwable)} as appropriate.
+     */
+    @Deprecated
+    public static RuntimeException propagate(String msg, Throwable throwable) {
+        return propagate(msg, throwable, false);
+    }
+
+    /**
      * See {@link #propagate(Throwable)}.
      * <p>
      * The given message is included <b>only</b> if the given {@link Throwable}
      * needs to be wrapped; otherwise the message is not used.
      * To always include the message, use {@link #propagateAnnotated(String, Throwable)}.
      */
-    public static RuntimeException propagate(String msg, Throwable throwable) {
+    public static RuntimeException propagateAnnotateIfWrapping(String msg, Throwable throwable) {
         return propagate(msg, throwable, false);
     }
 
-    /** As {@link #propagate(String, Throwable)} but always re-wraps including the given message. */
+    /** As {@link #propagate(String)} but always re-wraps including the given message. 
+     * See {@link #propagateAnnotateIfWrapping(String, Throwable)} if the message is optional. */
     public static RuntimeException propagateAnnotated(String msg, Throwable throwable) {
         return propagate(msg, throwable, true);
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f344430e/utils/common/src/test/java/org/apache/brooklyn/util/exceptions/ExceptionsTest.java
----------------------------------------------------------------------
diff --git a/utils/common/src/test/java/org/apache/brooklyn/util/exceptions/ExceptionsTest.java b/utils/common/src/test/java/org/apache/brooklyn/util/exceptions/ExceptionsTest.java
index 272d3f6..345db93 100644
--- a/utils/common/src/test/java/org/apache/brooklyn/util/exceptions/ExceptionsTest.java
+++ b/utils/common/src/test/java/org/apache/brooklyn/util/exceptions/ExceptionsTest.java
@@ -65,7 +65,7 @@ public class ExceptionsTest {
         String extraMsg = "my message";
         Exception tothrow = new Exception("simulated");
         try {
-            throw Exceptions.propagate(extraMsg, tothrow);
+            throw Exceptions.propagateAnnotateIfWrapping(extraMsg, tothrow);
         } catch (RuntimeException e) {
             assertEquals(e.getMessage(), "my message");
             assertEquals(e.getCause(), tothrow);
@@ -76,7 +76,7 @@ public class ExceptionsTest {
     public void testPropagateRuntimeExceptionIgnoresMessage() throws Exception {
         NullPointerException tothrow = new NullPointerException("simulated");
         try {
-            throw Exceptions.propagate("my message", tothrow);
+            throw Exceptions.propagateAnnotateIfWrapping("my message", tothrow);
         } catch (NullPointerException e) {
             assertEquals(e, tothrow);
         }
@@ -257,14 +257,14 @@ public class ExceptionsTest {
     @Test
     public void testPropagateWithAnnotationNotExplicitIncludedWhenWrapped() throws Exception {
         Throwable t = new Throwable("test");
-        try { Exceptions.propagate("important", t); } catch (Throwable t2) { t = t2; }
+        try { Exceptions.propagateAnnotateIfWrapping("important", t); } catch (Throwable t2) { t = t2; }
         Assert.assertEquals(Exceptions.collapseText(t), "important: test");
     }
 
     @Test
     public void testPropagateWithAnnotationNotExplicitIgnoredWhenNotWrapped() throws Exception {
         Throwable t = new RuntimeException("test");
-        try { Exceptions.propagate("ignore", t); } catch (Throwable t2) { t = t2; }
+        try { Exceptions.propagateAnnotateIfWrapping("ignore", t); } catch (Throwable t2) { t = t2; }
         Assert.assertEquals(Exceptions.collapseText(t), "test");
     }