Buenas, estoy teniendo este error que no consigo solucionar en la versión de alfresco-search-services:1.4.0, debajo de la traza detallo la casuística y las configuraciones.
2020-03-13 09:53:18.857 ERROR (qtp1297978429-20) [ x:alfresco] o.a.s.s.HttpSolrCall null:java.lang.NullPointerException
at org.alfresco.solr.query.Solr4QueryParser.getContentStore(Solr4QueryParser.java:195)
at org.alfresco.solr.query.Solr4QueryParser.<init>(Solr4QueryParser.java:168)
at org.alfresco.solr.query.Lucene4QueryBuilderContextSolrImpl.<init>(Lucene4QueryBuilderContextSolrImpl.java:64)
at org.alfresco.solr.AlfrescoSolrDataModel.getLuceneQueryBuilderContext(AlfrescoSolrDataModel.java:1401)
at org.alfresco.solr.AlfrescoSolrDataModel.getFTSQuery(AlfrescoSolrDataModel.java:1456)
at org.alfresco.solr.query.AlfrescoFTSQParserPlugin$AlfrescoFTSQParser.parse(AlfrescoFTSQParserPlugin.java:105)
at org.apache.solr.search.QParser.getQuery(QParser.java:168)
at org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:161)
at org.apache.solr.handler.component.AlfrescoSearchHandler.handleRequestBody(AlfrescoSearchHandler.java:323)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:173)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:2477)
at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:723)
at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:529)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:361)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:305)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1691)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at org.eclipse.jetty.server.Server.handle(Server.java:534)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
at java.base/java.lang.Thread.run(Thread.java:834)
2020-03-13 09:53:47.262 ERROR (qtp1297978429-12) [ x:alfresco] o.a.s.h.RequestHandlerBase java.lang.IllegalArgumentException: value already present: _dummy_
at com.google.common.collect.HashBiMap.put(HashBiMap.java:241)
at com.google.common.collect.HashBiMap.put(HashBiMap.java:218)
at org.alfresco.solr.component.RewriteFacetParametersComponent.rewriteFacetFieldList(RewriteFacetParametersComponent.java:509)
at org.alfresco.solr.component.RewriteFacetParametersComponent.fixFacetParams(RewriteFacetParametersComponent.java:198)
at org.alfresco.solr.component.RewriteFacetParametersComponent.prepare(RewriteFacetParametersComponent.java:64)
at org.apache.solr.handler.component.AlfrescoSearchHandler.handleRequestBody(AlfrescoSearchHandler.java:323)
FIN TRAZA ERROR
Estamos actualizando la versión de alfresco-search-services de la versión 1.2.0 hacia la versión 1.4.0, el motivo es un error que se soluciona en esta versión sobre el buscador de personas al realizar el filtro por nombre o apellidos de usuarios sincronizados por ldap.
El error que reporto se muestra cuando se realiza la búsqueda de cualquier contenido, tanto la simple como la avanzada.
Este error sólo se produce en el entorno de PRE, funciona correctamente en las pruebas realizadas sobre local.
Analizando las diferencias en las configuraciones e implantación, no encontramos el motivo del error.
Configuración local:
Se realiza mediante docker-compose, configuración:
solr6:
build:
context: ./search
args:
SEARCH_TAG: 1.4.0
SOLR_HOSTNAME: solr6
ALFRESCO_HOSTNAME: alfresco
ALFRESCO_COMMS: none
CROSS_LOCALE: "true"
container_name: solr
restart: "always"
environment:
#Solr needs to know how to register itself with Alfresco
SOLR_ALFRESCO_HOST: "alfresco6"
SOLR_ALFRESCO_PORT: "8080"
#Alfresco needs to know how to call solr
SOLR_SOLR_HOST: "solr6"
SOLR_SOLR_PORT: "8983"
#Create the default alfresco and archive cores
SOLR_CREATE_ALFRESCO_DEFAULTS: "alfresco,archive"
SOLR_JAVA_MEM: "-Xms1440m -Xmx1440m"
SOLR_OPTS: "
-XX:NewSize=592m
-XX:MaxNewSize=592m
"
volumes:
- ./volumes/config/solrconfig.xml:/opt/alfresco-search-services/solrhome/templates/rerank/conf/solrconfig.xml
- ./volumes/data/solr-data:/opt/alfresco-search-services/data
- ./volumes/data/solr-backup/alfresco:/usr/local/tomcat/alf_data/solr6Backup/alfresco
- ./volumes/data/solr-backup/archive:/usr/local/tomcat/alf_data/solr6Backup/archive
ports:
- 8083:8983
Dockerfile:
ARG SEARCH_TAG
FROM alfresco/alfresco-search-services:${SEARCH_TAG}
# COMMON
ARG ALFRESCO_HOSTNAME
ARG SOLR_HOSTNAME
ENV ALFRESCO_HOSTNAME $ALFRESCO_HOSTNAME
ENV SOLR_HOSTNAME $SOLR_HOSTNAME
# Configure Alfresco Service Name
RUN sed -i '/^bash.*/i sed -i "'"s/alfresco.host=localhost/alfresco.host=${ALFRESCO_HOSTNAME}/g"'" ${DIST_DIR}/solrhome/templates/rerank/conf/solrcore.properties\n' \
${DIST_DIR}/solr/bin/search_config_setup.sh && \
sed -i '/^bash.*/i sed -i "'"s/solr.host=localhost/solr.host=${SOLR_HOSTNAME}/g"'" ${DIST_DIR}/solrhome/conf/shared.properties\n' \
${DIST_DIR}/solr/bin/search_config_setup.sh
# Cross Locale
ARG CROSS_LOCALE
ENV CROSS_LOCALE $CROSS_LOCALE
# Enable Cross Locale SOLR Configuration
RUN if [ "$CROSS_LOCALE" == "true" ] ; then \
sed -i '/^bash.*/i sed -i "'"/alfresco.cross.locale.datatype/s/^#//g"'" $DIST_DIR/solrhome/conf/shared.properties\n' \
${DIST_DIR}/solr/bin/search_config_setup.sh; \
fi
# COMMS
ARG ALFRESCO_COMMS
ENV ALFRESCO_COMMS $ALFRESCO_COMMS
# Configure SOLR cores to run in HTTPs mode from template
RUN if [ "$ALFRESCO_COMMS" == "https" ] ; then \
sed -i '/^bash.*/i sed -i "'"s/alfresco.secureComms=none/alfresco.secureComms=https/g"'" ${DIST_DIR}/solrhome/templates/rerank/conf/solrcore.properties\n' \
${DIST_DIR}/solr/bin/search_config_setup.sh; \
else \
sed -i '/^bash.*/i sed -i "'"s/alfresco.secureComms=https/alfresco.secureComms=none/g"'" ${DIST_DIR}/solrhome/templates/rerank/conf/solrcore.properties\n' \
${DIST_DIR}/solr/bin/search_config_setup.sh; \
fi
Configuración de PRE:
Se realiza directamente en docker:
solr6:
image: 100.000.000.000:5000/solr6:200311
container_name: solr
restart: "always"
depends_on:
- alfresco6
networks:
- aaaa-net
environment:
#Solr needs to know how to register itself with Alfresco
SOLR_ALFRESCO_HOST: "alfresco6"
SOLR_ALFRESCO_PORT: "8080"
#Alfresco needs to know how to call solr
SOLR_SOLR_HOST: "solr6"
SOLR_SOLR_PORT: "8983"
#Create the default alfresco and archive cores
SOLR_CREATE_ALFRESCO_DEFAULTS: "alfresco,archive"
SOLR_JAVA_MEM: "-Xms1440m -Xmx1440m"
SOLR_OPTS: "
-XX:NewSize=592m
-XX:MaxNewSize=592m
volumes:
- /opt/docker/nfs/alfresco/volumes/data/solr-data:/opt/alfresco-search-services/data
- /opt/docker/nfs/alfresco/volumes/data/solr-backup/alfresco:/usr/local/tomcat/alf_data/solr6Backup/alfresco
- /opt/docker/nfs/alfresco/volumes/data/solr-backup/archive:/usr/local/tomcat/alf_data/solr6Backup/archive
- /opt/docker/nfs/alfresco/volumes/config/solrconfig.xml:/opt/alfresco-search-services/solrhome/templates/rerank/conf/solrconfig.xml
ports:
- 8983:8983 #Browser port
El dockerfile es el mismo.
Los pasos al realizar la implantación:
- Parar todos los servicios.
- Borrar la carpeta del volumen solr-data para la reindexación.
- Arrancar todos los servicios.
¿Es un error conocido? Gracias