logging and speed up validation

skips re-validation of previously validated items in cycles,
and logs key timing messages with "Catalog load," prefix for easy grepping


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

Branch: refs/heads/master
Commit: 1adfb7596c73f52b7b1e1892852522664b3f1ca4
Parents: 6ee291c
Author: Alex Heneveld <[email protected]>
Authored: Thu Aug 24 10:22:09 2017 +0100
Committer: Alex Heneveld <[email protected]>
Committed: Thu Aug 24 10:22:09 2017 +0100

----------------------------------------------------------------------
 .../core/catalog/internal/BasicBrooklynCatalog.java       | 10 ++++++----
 .../core/catalog/internal/CatalogBundleLoader.java        |  2 +-
 2 files changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/1adfb759/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java
 
b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java
index 5679d5e..16618b0 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java
@@ -1003,7 +1003,7 @@ public class BasicBrooklynCatalog implements 
BrooklynCatalog {
         Collection<CatalogBundle> parentLibraries = 
CatalogItemDtoAbstract.parseLibraries(parentLibrariesRaw);
         BrooklynClassLoadingContext loader = 
CatalogUtils.newClassLoadingContext(mgmt, "<catalog url reference 
loader>:0.0.0", parentLibraries);
         String yaml;
-        log.debug("Loading referenced BOM at "+url+" as part of 
"+(containingBundle==null ? "non-bundled load" : 
containingBundle.getVersionedName())+" ("+(resultNewFormat!=null ? 
resultNewFormat.size() : resultLegacyFormat!=null ? resultLegacyFormat.size() : 
"(unknown)")+" items before load)");
+        log.debug("Catalog load, loading referenced BOM at "+url+" as part of 
"+(containingBundle==null ? "non-bundled load" : 
containingBundle.getVersionedName())+" ("+(resultNewFormat!=null ? 
resultNewFormat.size() : resultLegacyFormat!=null ? resultLegacyFormat.size() : 
"(unknown)")+" items before load)");
         if (url.startsWith("http")) {
             // give greater visibility to these
             log.info("Loading external referenced BOM at "+url+" as part of 
"+(containingBundle==null ? "non-bundled load" : 
containingBundle.getVersionedName()));
@@ -1015,7 +1015,7 @@ public class BasicBrooklynCatalog implements 
BrooklynCatalog {
             throw new IllegalStateException("Remote catalog url " + url + " in 
"+(containingBundle==null ? "non-bundled load" : 
containingBundle.getVersionedName())+" can't be fetched.", e);
         }
         collectCatalogItemsFromCatalogBomRoot(yaml, containingBundle, 
resultLegacyFormat, resultNewFormat, requireValidation, parentMeta, depth, 
force);
-        log.debug("Loaded referenced BOM at "+url+" as part of 
"+(containingBundle==null ? "non-bundled load" : 
containingBundle.getVersionedName())+", now have "+
+        log.debug("Catalog load, loaded referenced BOM at "+url+" as part of 
"+(containingBundle==null ? "non-bundled load" : 
containingBundle.getVersionedName())+", now have "+
             (resultNewFormat!=null ? resultNewFormat.size() : 
resultLegacyFormat!=null ? resultLegacyFormat.size() : "(unknown)")+" items");
     }
 
@@ -1464,7 +1464,7 @@ public class BasicBrooklynCatalog implements 
BrooklynCatalog {
     
     @Override @Beta
     public void addTypesFromBundleBom(String yaml, ManagedBundle bundle, 
boolean forceUpdate, Map<RegisteredType, RegisteredType> result) {
-        log.debug("Adding catalog item to "+mgmt+": "+yaml);
+        log.debug("Catalog load, adding catalog item to "+mgmt+": "+yaml);
         checkNotNull(yaml, "yaml");
         if (result==null) result = MutableMap.of();
         collectCatalogItemsFromCatalogBomRoot(yaml, bundle, null, result, 
false, MutableMap.of(), 0, forceUpdate);
@@ -1474,13 +1474,15 @@ public class BasicBrooklynCatalog implements 
BrooklynCatalog {
     public Map<RegisteredType,Collection<Throwable>> 
validateTypes(Iterable<RegisteredType> typesToValidate) {
         List<RegisteredType> typesRemainingToValidate = 
MutableList.copyOf(typesToValidate);
         while (true) {
+            log.debug("Catalog load, starting validation cycle, 
"+typesRemainingToValidate.size()+" to validate");
             Map<RegisteredType,Collection<Throwable>> result = MutableMap.of();
-            for (RegisteredType t: typesToValidate) {
+            for (RegisteredType t: typesRemainingToValidate) {
                 Collection<Throwable> tr = validateType(t);
                 if (!tr.isEmpty()) {
                     result.put(t, tr);
                 }
             }
+            log.debug("Catalog load, finished validation cycle, 
"+typesRemainingToValidate.size()+" unvalidated");
             if (result.isEmpty() || 
result.size()==typesRemainingToValidate.size()) {
                 return result;
             }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/1adfb759/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 4e18b09..be9abba 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
@@ -88,7 +88,7 @@ public class CatalogBundleLoader {
 
         final URL bom = 
bundle.getResource(CatalogBundleLoader.CATALOG_BOM_URL);
         if (null != bom) {
-            LOG.debug("Found catalog BOM in {} {} {}", 
CatalogUtils.bundleIds(bundle));
+            LOG.debug("Catalog load, found catalog BOM in {} {} {}", 
CatalogUtils.bundleIds(bundle));
             String bomText = readBom(bom);
             if (mb==null) {
                 LOG.warn("Bundle "+bundle+" containing BOM is not managed by 
Brooklyn; using legacy item installation");

Reply via email to