From 1fb0412d018f0e522f135cddac0cecf4a5fee7b6 Mon Sep 17 00:00:00 2001 From: anghelutar Date: Fri, 19 Mar 2021 13:25:50 +0100 Subject: [PATCH 1/7] Starting with ASS 2.0 some methods changed in SolrInformationServer, more specifically the FTS counts. Use dynamic invocation to call the appopriate method. --- .../alfred/telemetry/solr/util/Util.java | 9 ++ .../monitoring/binder/SolrFTSMetrics.java | 0 .../solr/monitoring/binder/SolrMetrics.java | 35 +++++ .../monitoring/binder/SolrFTSMetrics.java | 142 ++++++++++++++++++ .../solr/monitoring/binder/SolrMetrics.java | 0 5 files changed, 186 insertions(+) rename alfred-telemetry-solr/{alfred-telemetry-solr-common => alfred-telemetry-solr4}/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrFTSMetrics.java (100%) create mode 100644 alfred-telemetry-solr/alfred-telemetry-solr4/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrMetrics.java create mode 100644 alfred-telemetry-solr/alfred-telemetry-solr6/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrFTSMetrics.java rename alfred-telemetry-solr/{alfred-telemetry-solr-common => alfred-telemetry-solr6}/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrMetrics.java (100%) diff --git a/alfred-telemetry-solr/alfred-telemetry-solr-common/src/main/java/eu/xenit/alfred/telemetry/solr/util/Util.java b/alfred-telemetry-solr/alfred-telemetry-solr-common/src/main/java/eu/xenit/alfred/telemetry/solr/util/Util.java index af9c32c4..fcc94372 100644 --- a/alfred-telemetry-solr/alfred-telemetry-solr-common/src/main/java/eu/xenit/alfred/telemetry/solr/util/Util.java +++ b/alfred-telemetry-solr/alfred-telemetry-solr-common/src/main/java/eu/xenit/alfred/telemetry/solr/util/Util.java @@ -40,4 +40,13 @@ public static boolean isEnabled(String env) { return (DEFAULT_DISABLED_CONFIGS.contains(env)?false:true); } + + public static boolean isVersionLowerThan2() { + try { + Class cachedDocTransformerFactory = Class.forName("org.alfresco.solr.transformer.CachedDocTransformerFactory"); + } catch (ClassNotFoundException e) { + return false; + } + return true; + } } diff --git a/alfred-telemetry-solr/alfred-telemetry-solr-common/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrFTSMetrics.java b/alfred-telemetry-solr/alfred-telemetry-solr4/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrFTSMetrics.java similarity index 100% rename from alfred-telemetry-solr/alfred-telemetry-solr-common/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrFTSMetrics.java rename to alfred-telemetry-solr/alfred-telemetry-solr4/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrFTSMetrics.java diff --git a/alfred-telemetry-solr/alfred-telemetry-solr4/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrMetrics.java b/alfred-telemetry-solr/alfred-telemetry-solr4/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrMetrics.java new file mode 100644 index 00000000..2fc8b46c --- /dev/null +++ b/alfred-telemetry-solr/alfred-telemetry-solr4/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrMetrics.java @@ -0,0 +1,35 @@ +package eu.xenit.alfred.telemetry.solr.monitoring.binder; + +import eu.xenit.alfred.telemetry.solr.util.Util; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.binder.MeterBinder; +import org.alfresco.solr.AlfrescoCoreAdminHandler; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.management.MBeanServer; + +public class SolrMetrics implements MeterBinder { + + AlfrescoCoreAdminHandler coreAdminHandler; + MBeanServer mBeanServer; + + Logger logger = LoggerFactory.getLogger(SolrMetrics.class); + + public SolrMetrics(AlfrescoCoreAdminHandler coreAdminHandler, MBeanServer mBeanServer) { + this.coreAdminHandler = coreAdminHandler; + this.mBeanServer = mBeanServer; + } + + @Override + public void bindTo(MeterRegistry registry) { + if(Util.isEnabled("METRICS_SOLR_CORESTATS_ENABLED")) + new SolrCoreStatsMetrics(coreAdminHandler).bindTo(registry); + if(Util.isEnabled("METRICS_SOLR_FTS_ENABLED")) + new SolrFTSMetrics(coreAdminHandler).bindTo(registry); + if(Util.isEnabled("METRICS_SOLR_TRACKER_ENABLED")) + new SolrTrackerMetrics(coreAdminHandler).bindTo(registry); + if(Util.isEnabled("METRICS_SOLR_JMX_ENABLED")) + new SolrBeansMetrics(mBeanServer).bindTo(registry); + } +} diff --git a/alfred-telemetry-solr/alfred-telemetry-solr6/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrFTSMetrics.java b/alfred-telemetry-solr/alfred-telemetry-solr6/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrFTSMetrics.java new file mode 100644 index 00000000..c6495f51 --- /dev/null +++ b/alfred-telemetry-solr/alfred-telemetry-solr6/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrFTSMetrics.java @@ -0,0 +1,142 @@ +package eu.xenit.alfred.telemetry.solr.monitoring.binder; + +import eu.xenit.alfred.telemetry.solr.util.Util; +import io.micrometer.core.instrument.Gauge; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tags; +import io.micrometer.core.instrument.binder.MeterBinder; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Map.Entry; +import java.util.Set; +import org.alfresco.solr.AlfrescoCoreAdminHandler; +import org.alfresco.solr.tracker.TrackerRegistry; +import org.apache.solr.common.util.NamedList; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class SolrFTSMetrics implements MeterBinder { + + AlfrescoCoreAdminHandler coreAdminHandler; + MeterRegistry registry; + + Logger logger = LoggerFactory.getLogger(SolrFTSMetrics.class); + + public SolrFTSMetrics(AlfrescoCoreAdminHandler coreAdminHandler) { + this.coreAdminHandler = coreAdminHandler; + } + + private void registerFTSMetrics() { + logger.info("Registering FTS metrics"); + TrackerRegistry trackerRegistry = coreAdminHandler.getTrackerRegistry(); + + while (trackerRegistry.getCoreNames().size() == 0) { + logger.error("Solr did not start tracking yet, waiting 10sec"); + try { + Thread.currentThread().sleep(10_000); + trackerRegistry = coreAdminHandler.getTrackerRegistry(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + Set coreNames = coreAdminHandler.getTrackerRegistry().getCoreNames(); + for (String coreName : coreNames) { + Object server = coreAdminHandler.getInformationServers().get(coreName); + NamedList report = new NamedList(); + Method method = null; + try { + Class solrInformationServerClass = Class.forName("org.alfresco.solr.SolrInformationServer"); + Class[] partypes = new Class[]{NamedList.class}; + if(Util.isVersionLowerThan2()) { + method = solrInformationServerClass.getMethod("addFTSStatusCounts", partypes); + } else { + method = solrInformationServerClass.getMethod("addContentOutdatedAndUpdatedCounts", partypes); + } + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } + Object[] arglist = new Object[1]; + arglist[0] = report; + try { + method.invoke(server, arglist); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + + // Keys in ASS >= 2.0.0 + Tags tags = Tags.of("core", coreName, "state", "InSync"); + Gauge.builder("alfresco.fts", server, x -> getValueFromReport(server, "Node count whose content is in sync")) + .tags(tags) + .register(registry); + + tags = Tags.of("core", coreName, "state", "ToBeUpdated"); + Gauge.builder("alfresco.fts", server, x -> getValueFromReport(server, "Node count whose content needs to be updated")) + .tags(tags) + .register(registry); + + // Keys in ASS < 2.0.0 + tags = Tags.of("core", coreName, "state", "Clean"); + Gauge.builder("alfresco.fts", server, x -> getValueFromReport(server, "Node count with FTSStatus Clean")) + .tags(tags) + .register(registry); + + tags = Tags.of("core", coreName, "state", "Dirty"); + Gauge.builder("alfresco.fts", server, x -> getValueFromReport(server, "Node count with FTSStatus Dirty")) + .tags(tags) + .register(registry); + + tags = Tags.of("core", coreName, "state", "New"); + Gauge.builder("alfresco.fts", server, x -> getValueFromReport(server, "Node count with FTSStatus New")) + .tags(tags) + .register(registry); + + } + } + + private long getValueFromReport(Object server, String key) { + NamedList report = new NamedList(); + Method method = null; + try { + Class solrInformationServerClass = Class.forName("org.alfresco.solr.SolrInformationServer"); + Class[] partypes = new Class[]{NamedList.class}; + if(Util.isVersionLowerThan2()) { + method = solrInformationServerClass.getMethod("addFTSStatusCounts", partypes); + } else { + method = solrInformationServerClass.getMethod("addContentOutdatedAndUpdatedCounts", partypes); + } + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } + Object[] arglist = new Object[1]; + arglist[0] = report; + try { + method.invoke(server, arglist); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + + for (Entry fts : report) { + if (fts.getKey().equals(key)) { + return Long.parseLong(fts.getValue().toString()); + } + } + return -1; + } + + + @Override + public void bindTo(MeterRegistry registry) { + this.registry = registry; + registerFTSMetrics(); + } +} diff --git a/alfred-telemetry-solr/alfred-telemetry-solr-common/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrMetrics.java b/alfred-telemetry-solr/alfred-telemetry-solr6/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrMetrics.java similarity index 100% rename from alfred-telemetry-solr/alfred-telemetry-solr-common/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrMetrics.java rename to alfred-telemetry-solr/alfred-telemetry-solr6/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrMetrics.java From 57e3259816ede1ba588c449c38ffcaf5d04aba82 Mon Sep 17 00:00:00 2001 From: anghelutar Date: Fri, 19 Mar 2021 13:30:00 +0100 Subject: [PATCH 2/7] Corrected logger. --- .../telemetry/solr/monitoring/binder/SolrTrackerMetrics.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/alfred-telemetry-solr/alfred-telemetry-solr-common/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrTrackerMetrics.java b/alfred-telemetry-solr/alfred-telemetry-solr-common/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrTrackerMetrics.java index f1709c81..d963c09b 100644 --- a/alfred-telemetry-solr/alfred-telemetry-solr-common/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrTrackerMetrics.java +++ b/alfred-telemetry-solr/alfred-telemetry-solr-common/src/main/java/eu/xenit/alfred/telemetry/solr/monitoring/binder/SolrTrackerMetrics.java @@ -18,7 +18,7 @@ public class SolrTrackerMetrics implements MeterBinder { AlfrescoCoreAdminHandler coreAdminHandler; MeterRegistry registry; - Logger logger = LoggerFactory.getLogger(SolrMetrics.class); + Logger logger = LoggerFactory.getLogger(SolrTrackerMetrics.class); public SolrTrackerMetrics(AlfrescoCoreAdminHandler coreAdminHandler) { this.coreAdminHandler = coreAdminHandler; From c6bf6943dedc2213c5bccb860d31d52d8084eab4 Mon Sep 17 00:00:00 2001 From: anghelutar Date: Fri, 19 Mar 2021 13:37:55 +0100 Subject: [PATCH 3/7] Use the already imported file solrconfig_insights.xml to add the micrometer-related functionality. Note: I tried to use config overlays (REST calls via the micrometer init script), but it breaks the alfresco-specific solr (although resources are correctly added). Alfresco-solr explicitelly dissalows this by setting -Ddisable.configEdit=true. --- .../alfred-telemetry-solr6/build.gradle | 4 +- .../src/test/resources/solr6/solrconfig.xml | 1945 ----------------- .../resources/solr6/solrconfig_insight.xml | 6 + 3 files changed, 9 insertions(+), 1946 deletions(-) delete mode 100644 integration-tests/src/test/resources/solr6/solrconfig.xml create mode 100644 integration-tests/src/test/resources/solr6/solrconfig_insight.xml diff --git a/alfred-telemetry-solr/alfred-telemetry-solr6/build.gradle b/alfred-telemetry-solr/alfred-telemetry-solr6/build.gradle index b740b3d5..2cb860a3 100644 --- a/alfred-telemetry-solr/alfred-telemetry-solr6/build.gradle +++ b/alfred-telemetry-solr/alfred-telemetry-solr6/build.gradle @@ -16,12 +16,14 @@ dependencies { exclude group: 'org.restlet.jee' // Only available in JCenter, not essential in this project. } alfrescoProvided "org.alfresco:alfresco-search:${assVersion}" + alfrescoProvided "org.alfresco:alfresco-solrclient-lib:${assVersion}" } createDockerFile { from "${solrBaseImage}" + + smartCopy "${rootProject.projectDir}/integration-tests/src/test/resources/${solrFlavor}/solrconfig_insight.xml", "/opt/alfresco-search-services/solrhome/templates/rerank/conf/solrconfig_insight.xml" smartCopy "${rootProject.projectDir}/integration-tests/src/test/resources/${solrFlavor}/95-init-solr-micrometer-metrics.sh", "/docker-entrypoint.d/" - smartCopy "${rootProject.projectDir}/integration-tests/src/test/resources/${solrFlavor}/solrconfig.xml", "/opt/alfresco-search-services/solrhome/templates/rerank/conf/solrconfig.xml" smartCopy "${rootProject.projectDir}/integration-tests/src/test/resources/${solrFlavor}/jetty.xml", "/opt/alfresco-search-services/solr/server/etc/jetty.xml" smartCopy "${rootProject.projectDir}/integration-tests/src/test/resources/${solrFlavor}/solr-jetty-context.xml", "/opt/alfresco-search-services/solr/server/contexts/solr-jetty-context.xml" smartCopy shadowJar.outputs.files, "/opt/alfresco-search-services/solrhome/lib/" diff --git a/integration-tests/src/test/resources/solr6/solrconfig.xml b/integration-tests/src/test/resources/solr6/solrconfig.xml deleted file mode 100644 index 4d7adf5c..00000000 --- a/integration-tests/src/test/resources/solr6/solrconfig.xml +++ /dev/null @@ -1,1945 +0,0 @@ - - - - - - - - - 4.9 - - - - - - - - ${data.dir.root}/${data.dir.store} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${merger.maxMergeCount:6} - ${merger.maxThreadCount:3} - - - - - ${solr.lock.type:native} - - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - - - - - - - - - ${solr.autoCommit.maxTime:-1} - false - - - - - - ${solr.autoSoftCommit.maxTime:-1} - - - - - - - - - - - - - - - - - - ${solr.maxBooleanClauses:10000} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - ${solr.queryResultWindowSize:512} - - - ${solr.queryResultMaxDocsCached:2048} - - - - - - - - - - - - false - - - 2 - - - - - - - - - - - - - - - - - - - - - - - - afts - explicit - 10 - suggest - - - setLocale - rewriteFacetParameters - consistencyComponent - query - facet - facet_module - mlt - highlight - stats - debug - clearLocale - rewriteFacetCounts - - spellcheck - spellcheckbackcompat - setProcessedDenies - - - - - - - - explicit - 10 - suggest - - - - - setLocale - rewriteFacetParameters - consistencyComponent - query - facet - mlt - highlight - stats - debug - clearLocale - rewriteFacetCounts - - setProcessedDenies - - - - - - - - - explicit - json - true - suggest - - - - - - - - - true - json - true - - - - - - - - - explicit - - - velocity - browse - layout - Solritas - - - edismax - - text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4 - title^10.0 description^5.0 keywords^5.0 author^2.0 resourcename^1.0 - - text - 100% - *:* - 10 - *,score - - - text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4 - title^10.0 description^5.0 keywords^5.0 author^2.0 resourcename^1.0 - - text,features,name,sku,id,manu,cat,title,description,keywords,author,resourcename - 3 - - - on - cat - manu_exact - content_type - author_s - ipod - GB - 1 - cat,inStock - after - price - 0 - 600 - 50 - popularity - 0 - 10 - 3 - manufacturedate_dt - NOW/YEAR-10YEARS - NOW - +1YEAR - before - after - - - on - content features title name - html - <b> - </b> - 0 - title - 0 - name - 3 - 200 - content - 750 - - - on - false - 5 - 2 - 5 - true - true - 5 - 3 - - - - - spellcheck - - - - - - - - - - - - - - - - - application/json - - - - - application/csv - - - - - - - true - ignored_ - - - true - links - ignored_ - - - - - - - - - - - - - - - explicit - true - - - - - - - - - - - - - - - - text_shingle - - - - - - default - suggest - solr.DirectSolrSpellChecker - - internal - - 0.5 - - 2 - - 1 - - 5 - - 4 - - 0.01 - - - - - - wordbreak - suggest - solr.WordBreakSolrSpellChecker - true - true - 10 - 5 - - - - - - - - - - - suggest - - default - wordbreak - on - true - 10 - 5 - 5 - true - true - 10 - 5 - - - spellcheck - spellcheckbackcompat - - - - - - - shingleBasedSuggestions - ${solr.suggester.enabled:true} - - org.apache.solr.spelling.suggest.fst.WFSTLookupFactory - suggest - text_shingle - true - - - - - - true - 10 - shingleBasedSuggestions - - - suggest - - - - - - - - - - - - - text - true - - - tvComponent - - - - - - - lingo - - - org.carrot2.clustering.lingo.LingoClusteringAlgorithm - - - clustering/carrot2 - - - - - stc - org.carrot2.clustering.stc.STCClusteringAlgorithm - - - - - kmeans - org.carrot2.clustering.kmeans.BisectingKMeansClusteringAlgorithm - - - - - - - true - true - - mltext@m___t@{http://www.alfresco.org/model/content/1.0}title - - id - - content@s___t@{http://www.alfresco.org/model/content/1.0}content - - true - - - - false - - - edismax - - text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4 - - *:* - 10 - *,score - - - clustering - - - - - - - - - - true - false - - - terms - - - - - - - - text___ - elevate.xml - - - - - - explicit - suggest - - - elevator - - - - - - - - - - - 100 - - - - - - - - 70 - - 0.5 - - [-\w ,/\n\"']{20,200} - - - - - - - ]]> - ]]> - - - - - - - - - - - - - - - - - - - - - - - - ,, - ,, - ,, - ,, - ,]]> - ]]> - - - - - - 10 - .,!? - - - - - - - WORD - - - en - US - - - - - - - - - - - - - - - - - - - - - - text/plain; charset=UTF-8 - - - - - - - - - 5 - - - - - - - - - - - - - - - - - - - - - - - - - - - *:* - - - - - - - alfresco - - - setLocale - rewriteFacetParameters - consistencyComponent - query - facet - mlt - highlight - stats - debug - clearLocale - rewriteFacetCounts - - setProcessedDenies - - - - - - - - fingerprint - - - - - - afts - - false - false - 5 - 2 - 5 - true - true - 5 - 3 - - mltext@m___t@{http://www.alfresco.org/model/content/1.0}title - id - content@s___t@{http://www.alfresco.org/model/content/1.0}content - true - false - - {!alfrescoReRank reRankQuery=$rqq reRankDocs=500 scale=true reRankWeight=3} - {!rrafts}RERANK_QUERY_FROM_CONTEXT - - rrafts - - - setLocale - rewriteFacetParameters - consistencyComponent - query - facet - facet_module - mlt - highlight - stats - debug - clearLocale - rewriteFacetCounts - - spellcheck - spellcheckbackcompat - setProcessedDenies - clustering - - - - - - - cmis - - - setLocale - rewriteFacetParameters - consistencyComponent - query - facet - mlt - highlight - stats - debug - clearLocale - rewriteFacetCounts - - setProcessedDenies - - - - - - - - QUERY_PHASE - - - RERANK_PHASE - - - - - - conf/mime_types.csv - - - - 1 - 10 - - - - - - - - - - - - - - - - - - /afts - * - - - - diff --git a/integration-tests/src/test/resources/solr6/solrconfig_insight.xml b/integration-tests/src/test/resources/solr6/solrconfig_insight.xml new file mode 100644 index 00000000..37f2c05e --- /dev/null +++ b/integration-tests/src/test/resources/solr6/solrconfig_insight.xml @@ -0,0 +1,6 @@ + + + + + + From a923c7c3e13090369db70dd2cd03652aebdc0a3a Mon Sep 17 00:00:00 2001 From: anghelutar Date: Fri, 19 Mar 2021 13:40:48 +0100 Subject: [PATCH 4/7] Compile against ASS 2.0 libraries. --- .../alfred-telemetry-solr-common/build.gradle | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/alfred-telemetry-solr/alfred-telemetry-solr-common/build.gradle b/alfred-telemetry-solr/alfred-telemetry-solr-common/build.gradle index c21e6809..3815695e 100644 --- a/alfred-telemetry-solr/alfred-telemetry-solr-common/build.gradle +++ b/alfred-telemetry-solr/alfred-telemetry-solr-common/build.gradle @@ -17,10 +17,7 @@ dependencies { implementation "io.github.mweirauch:micrometer-jvm-extras:0.1.2" implementation "io.micrometer:micrometer-registry-graphite:1.6.1" - // compile against solr4 libraries - alfrescoProvided "org.alfresco:alfresco-solr4:5.2.g:classes@jar" - alfrescoProvided "org.alfresco:alfresco-solrclient:5.2.g" - alfrescoProvided ("org.apache.solr:solr-core:4.10.3") { - exclude group: 'org.restlet.jee' // Only available in JCenter, not essential in this project. - } + // compile against ASS 2.0.0 libraries + alfrescoProvided "org.alfresco:alfresco-search:2.0.0" + alfrescoProvided ("org.apache.solr:solr-core:6.6.5") } From 35749225060121925a440444b9e63acfd51b8d72 Mon Sep 17 00:00:00 2001 From: anghelutar Date: Fri, 19 Mar 2021 13:41:27 +0100 Subject: [PATCH 5/7] Use ASS 2.0.0 base image to test. --- .../alfred-telemetry-solr6/overload.gradle | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/alfred-telemetry-solr/alfred-telemetry-solr6/overload.gradle b/alfred-telemetry-solr/alfred-telemetry-solr6/overload.gradle index 45615693..1d39e7d9 100644 --- a/alfred-telemetry-solr/alfred-telemetry-solr6/overload.gradle +++ b/alfred-telemetry-solr/alfred-telemetry-solr6/overload.gradle @@ -1,6 +1,8 @@ ext { solrVersion = '6.6.5' - assVersion = '1.4.0' - solrBaseImage = 'docker.io/xenit/alfresco-solr6:1.4.0' + //assVersion = '1.4.0' + //solrBaseImage = 'hub.xenit.eu/alfresco-enterprise/alfresco-solr6:1.4.0' + assVersion = '2.0.0' + solrBaseImage = 'hub.xenit.eu/alfresco-enterprise/alfresco-solr6:2.0.0' solrFlavor = 'solr6' -} \ No newline at end of file +} From 1043aa84ee33314f5fe805363473e4a9ca9ee191 Mon Sep 17 00:00:00 2001 From: anghelutar Date: Fri, 19 Mar 2021 15:10:47 +0100 Subject: [PATCH 6/7] Exclude org.restlet.jee. --- .../alfred-telemetry-solr-common/build.gradle | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/alfred-telemetry-solr/alfred-telemetry-solr-common/build.gradle b/alfred-telemetry-solr/alfred-telemetry-solr-common/build.gradle index 3815695e..57b9ce14 100644 --- a/alfred-telemetry-solr/alfred-telemetry-solr-common/build.gradle +++ b/alfred-telemetry-solr/alfred-telemetry-solr-common/build.gradle @@ -19,5 +19,7 @@ dependencies { // compile against ASS 2.0.0 libraries alfrescoProvided "org.alfresco:alfresco-search:2.0.0" - alfrescoProvided ("org.apache.solr:solr-core:6.6.5") + alfrescoProvided ("org.apache.solr:solr-core:6.6.5") { + exclude group: 'org.restlet.jee' // Only available in JCenter, not essential in this project. + } } From 9c5933f8852c92c5785278cca574cd4e8488d8a9 Mon Sep 17 00:00:00 2001 From: anghelutar Date: Mon, 22 Mar 2021 08:10:43 +0100 Subject: [PATCH 7/7] Changelog. --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 87c6cddf..657a300e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,9 @@ Version template: ### Fixed * Sharded solr monitoring throws exception in Alfresco 6.2 +* Fixed and refactored code for solr, so that it works for ASS>=2.0.0. Improved handling of solrconfig.xml for solr6. + +[#74] https://github.com/xenit-eu/alfred-telemetry/pull/74 ## [0.4.0] - 2020-01-12