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 2021/10/05 09:44:09 UTC
[brooklyn-server] 02/03: logging when a non-preferred resolver is
activated
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 0c7f314eb7a9b6f3a0cb0438f160ea0e45c3b28b
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Tue Oct 5 10:42:53 2021 +0100
logging when a non-preferred resolver is activated
---
.../core/typereg/BrooklynCatalogBundleResolvers.java | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/core/src/main/java/org/apache/brooklyn/core/typereg/BrooklynCatalogBundleResolvers.java b/core/src/main/java/org/apache/brooklyn/core/typereg/BrooklynCatalogBundleResolvers.java
index 5632bca..6e9843a 100644
--- a/core/src/main/java/org/apache/brooklyn/core/typereg/BrooklynCatalogBundleResolvers.java
+++ b/core/src/main/java/org/apache/brooklyn/core/typereg/BrooklynCatalogBundleResolvers.java
@@ -141,7 +141,9 @@ public class BrooklynCatalogBundleResolvers {
Map<BrooklynCatalogBundleResolver, Double> resolvers = forBundleWithScore(mgmt, input, options);
Collection<String> resolversWhoDontSupport = new ArrayList<String>();
Map<BrooklynCatalogBundleResolver, Exception> failuresFromResolvers = MutableMap.of();
- for (BrooklynCatalogBundleResolver t : resolvers.keySet()) {
+ Double highestFailedScore = null;
+ for (Entry<BrooklynCatalogBundleResolver,Double> ti : resolvers.entrySet()) {
+ BrooklynCatalogBundleResolver t = ti.getKey();
try {
ReferenceWithError<OsgiBundleInstallationResult> result = t.install(input, options);
if (result == null) {
@@ -154,6 +156,17 @@ public class BrooklynCatalogBundleResolvers {
}
result.get(); // assert there is no error
LOG.debug("Installed bundle {} / {} for {}: {}: {}", input, (options==null ? null : options.knownBundleMetadata), Entitlements.getEntitlementContextUser(), result.get().getCode(), result.get().getMessage());
+ if (highestFailedScore!=null) {
+ if (highestFailedScore > 0.9 && (ti.getValue() == null || highestFailedScore > ti.getValue() + 0.1)) {
+ // if there was an error from a high scoring resolver and a lower-scoring resolver accepted it, log a warning
+ LOG.warn("Bundle {} was installed by fallback resolver {} because preferred resolver(s) reported issues: {} / {} (scores {})",
+ t, result.get().getMetadata(), resolversWhoDontSupport, failuresFromResolvers, resolvers);
+ } else {
+ // if there was an error from a high scoring resolver and a lower-scoring resolver accepted it, log a warning
+ LOG.debug("Bundle {} was installed by resolver {} after other resolver(s) reported issues: {} / {} (scores {})",
+ t, result.get().getMetadata(), resolversWhoDontSupport, failuresFromResolvers, resolvers);
+ }
+ }
return result;
} catch (@SuppressWarnings("deprecation") UnsupportedCatalogBundleException e) {
resolversWhoDontSupport.add(t.getFormatCode() +
@@ -167,6 +180,7 @@ public class BrooklynCatalogBundleResolvers {
(t.getFormatCode() + " bundle installation error") + ": " +
Exceptions.collapseText(e), e));
}
+ if (highestFailedScore==null) highestFailedScore = ti.getValue();
}
if (LOG.isDebugEnabled()) {