upgrade da 3.4.x a 4.0.x

cancel
Showing results for 
Search instead for 
Did you mean: 
atthefresh
Member II

upgrade da 3.4.x a 4.0.x

Ciao.
Qualcuno sa se è possibile fare l'upgrade di alfresco community 3.4.e a 4.0.d utilizzando solr invece di lucene come motore di indicizzazione?
Tutti i forum e le guide dicono di eseguire il restore alla solita maniera modificando però

index.subsystem.name=solr
in
index.subsystem.name=lucene


e in effetti così funziona ma io vorrei migrare il repository usando solr.
Qualcuno c'è riuscito?
4 Replies
openpj
Moderator
Moderator

Re: upgrade da 3.4.x a 4.0.x

Qualcuno sa se è possibile fare l'upgrade di alfresco community 3.4.e a 4.0.d utilizzando solr invece di lucene come motore di indicizzazione?
Allora sono due attività distinte, una riguarda la migrazione dei contenuti e l'altra riguarda la rigenerazione degli indici.

Per quanto riguarda la migrazione, con la versione Community non è mai garantito che l'upgrade sia possibile sempre e comunque. Solitamente per la versione community "dovrebbe" valere l'approccio di migrazione andando ad eseguire l'upgrade per ogni revisione del prodotto in versione community. Quindi in questo caso suppongo che sia possibile migrare dalla 3.4.e installando in modo sequenziale prima la 4.0.a, poi la 4.0.b, 4.0.c ed infine la 4.0.d.

Ogni singolo step di migrazione deve essere eseguito in modo prudente ed effettuando i dovuti test di revisione in revisione, proprio perché non è garantito che funzioni sempre sulla versione Community.

Per quanto riguarda invece gli indici, non è possibile utilizzare gli indici di Lucene generati da Alfresco, direttamente dentro Solr, questo perché Solr utilizza in modo più completo l'indice sfruttando la versatilità del modello Alfresco e considerando anche le informazioni dei permessi degli utenti, cosa che precedentemente Alfresco non processava direttamente sull'indice.

Quindi non essendo possibile utilizzare dentro Solr il vecchio indice, suggerirei, una volta che si attiva Solr, di rigenerare tutti gli indici, questo per fare in modo che anche il pregresso sia disponibile all'interno di Solr.

Spero ti possa aiutare  Smiley Happy
atthefresh
Member II

Re: upgrade da 3.4.x a 4.0.x

Ciao.
Grazie mille per la risposta.
Ho fatto progressi in questi giorni: sono riuscito a fare l'upgrade direttamente dalla 3.4.e alla 4.0.d prima impostando
index.subsystem.name=lucene
e lasciandogli applicare le sue patch dopodichè
ho
1) stoppato alfresco
2) impostato index.subsystem.name=solr
3) eliminato le cartelle \alf_data\solr\workspace e \alf_data\solr\archive
4) riavviato alfresco

Così facendo solr ha cominciato a rigenerare gli indici.
Questo processo però è davvero lunghissimo così mi sono documentato su come loggare lo stato della indicizzazione.
Mentre ravanavo per abilitare il logging mi sono beccato una strana eccezione, per farla sparire ho dovuto riniziare la procedura dall'inizio.
Comunque solr logga nel catalina.out ma l'unico modo che ho trovato per vedere il log è stato quello di avviare alfresco tramite .bat e non tramite servizio.
Ora sta ancora indicizzando, nel log vedo il range di alf_transactions che mano a mano elabora ma non riesco a farmi un'idea dello stato in cui si trova neanche guardando il max(id) from alf_transaction in quanto il range di transazioni che prende in considerazione non è sequenziale.

Qualche idea?
Inoltre che differnza c'è tra  \alf_data\solr\workspace e \alf_data\solr\archive ?

Grazie.
atthefresh
Member II

Re: upgrade da 3.4.x a 4.0.x

E' ricomparso quel benedetto errore anche se stavolta non si ripete di continuo.
Qualcuno ha idea rispetto a cosa sia dovuto?


17:41:12,228 ERROR [org.springframework.extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 01090002 Wrapped Exception (with status template): 01090589 Problem converting to Freemarker
org.springframework.extensions.webscripts.WebScriptException: 01090002 Wrapped Exception (with status template): 01090589 Problem converting to Freemarker
at org.springframework.extensions.webscripts.AbstractWebScript.createStatusException(AbstractWebScript.java:970)
at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:171)
at org.alfresco.repo.web.scripts.RepositoryContainer$2.execute(RepositoryContainer.java:393)
at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:388)
at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:462)
at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:500)
at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:275)
at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:372)
at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:209)
at org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:118)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.alfresco.error.AlfrescoRuntimeException: 01090589 Problem converting to Freemarker
at org.alfresco.repo.web.scripts.solr.NodesMetaDataGet$1.handleNodeMetaData(NodesMetaDataGet.java:198)
at org.alfresco.repo.solr.SOLRTrackingComponentImpl$NodeMetaDataQueryRowHandler.processResult(SOLRTrackingComponentImpl.java:879)
at org.alfresco.repo.solr.SOLRTrackingComponentImpl.getNodesMetadata(SOLRTrackingComponentImpl.java:735)
at sun.reflect.GeneratedMethodAccessor419.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.alfresco.repo.management.subsystems.SubsystemProxyFactory$1.invoke(SubsystemProxyFactory.java:65)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy142.getNodesMetadata(Unknown Source)
at org.alfresco.repo.web.scripts.solr.NodesMetaDataGet.executeImpl(NodesMetaDataGet.java:181)
at org.springframework.extensions.webscripts.DeclarativeWebScript.executeImpl(DeclarativeWebScript.java:235)
at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:64)
… 25 more
Caused by: org.alfresco.service.namespace.NamespaceException: A namespace prefix is not registered for uri http://www.alfresco.org/model/website/1.0
at org.alfresco.service.namespace.QName.toPrefixString(QName.java:414)
at org.alfresco.repo.web.scripts.solr.SOLRSerializer$SOLRTypeConverter$2.convert(SOLRSerializer.java:231)
at org.alfresco.repo.web.scripts.solr.SOLRSerializer$SOLRTypeConverter$2.convert(SOLRSerializer.java:228)
at org.alfresco.service.cmr.repository.datatype.TypeConverter.convert(TypeConverter.java:112)
at org.alfresco.repo.web.scripts.solr.SOLRSerializer.serializeToJSONString(SOLRSerializer.java:108)
at org.alfresco.repo.web.scripts.solr.SOLRSerializer.serialize(SOLRSerializer.java:170)
at org.alfresco.repo.web.scripts.solr.NodesMetaDataGet$FreemarkerNodeMetaData.<init>(NodesMetaDataGet.java:294)
at org.alfresco.repo.web.scripts.solr.NodesMetaDataGet$1.handleNodeMetaData(NodesMetaDataGet.java:193)
… 37 more
openpj
Moderator
Moderator

Re: upgrade da 3.4.x a 4.0.x

Inoltre che differnza c'è tra \alf_data\solr\workspace e \alf_data\solr\archive ?
Si, il primo si riferisce alla porzione dell'indice dello store workspace di Alfresco che è relativo alle ultime versioni dei contenuti; invece il secondo afferisce ai contenuti eliminati dagli utenti (il cestino).