Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
Rafael Lluis
Actualizando LR 5.1 a 6.1
December 26, 2012 12:08 AM
Answer

Rafael Lluis

Rank: Junior Member

Posts: 29

Join Date: October 15, 2012

Recent Posts

Hola,

Estamos en el proceso de actualización y estamos encontrando diferentes problemas para los que desconozco si existen soluciones. Hemos optado por hacer una migración manual (ejecución de todos los scripts de BBDD y actualización en consecuencia de la tabla release_), también intentando ejecutar cada paso de cada versión según la Wiki (http://www.liferay.com/es/community/wiki/-/wiki/Main/Upgrade+Instructions)

Resumo a continuación los principales problemas:

1. Documentos: tenemos una base de datos Oracle en español. Parece ser que se la columna que gestiona la versión de un documento ahora incluye decimales para poder almacenar versiones tipo "1.0" en lugar de "1". El caso es que al ser español, el separador de decimales es la "," (coma) y auqnue Liferay en principio parece soportarlo, luego no funciona verdaderamente ningún documento: LR 6.1 no es capaz de mostrar ningún documento.

2. Páginas Journal: todas las páginas tipo journal (contenido web) que tenemos dejan de funcionar. Tras ver la base de datos resulta que si creamos una página nueva, en las preferencias (portetpreferences) se almacena la llamada a un contenido con propiedades como "articleId" y "groupId" y todo funciona. Ahora bien, si revisamos una de nuestras páginas, veremos que tienen "article-Id" y "group-Id". Salvo que LR tenga en cuenta ambas ocpiones o que el proceso de actualización no manual incluyera un UPDATE masivo en BBDD, no veo cómo va a poder funcionar esta migración: ¿alquién lo puede confirmar? ¿hay que hacer un replace en BBDD de todo "article-id" por "articleId" o similar?

3. Proceso de verificacion: existe un proceso de verificacion de la BBDD que ejecuta LR 6 y que hemos optado por desactivar ya que en el caso de Oracle intenta actualizar todas las columnas VARCHAR cuyo tamaño esté expresado en bytes a columnas VARCHAR con tamaño expresado en CHARS. Este proceso lo hace contra TODAS las tablas (aunque no sean de LR) y además lo hace erróneamente puesto que intenta meter tamaños que luego la BBDD dice que no son válidos puesto que son menores a los datos almacenados; e incluso en algún caso intenta meter tamaño 0 lo cual hace que el proceso acabe finalizando con errores.

4. Permisos: si bien hemos ejecutado el asistente que migra permisos del algoritmo LR5 a permisos de LR6 aún algunas páginas fallan y no se cargan en absoluto. Tenemos que verificar aún la tabla de permisos, pero no parece que el migrador haya funcionado.

Iremos contando avances, pero ¿alguien más con estos problemas?

Saludos

Estamos mirando
Juan Gonzalez
RE: Actualizando LR 5.1 a 6.1
December 26, 2012 1:52 AM
Answer

Juan Gonzalez

LIFERAY STAFF

Rank: Liferay Legend

Posts: 2341

Join Date: October 28, 2008

Recent Posts

Hola Rafael,

Rafael Lluis:

Estamos en el proceso de actualización y estamos encontrando diferentes problemas para los que desconozco si existen soluciones. Hemos optado por hacer una migración manual (ejecución de todos los scripts de BBDD y actualización en consecuencia de la tabla release_), también intentando ejecutar cada paso de cada versión según la Wiki (http://www.liferay.com/es/community/wiki/-/wiki/Main/Upgrade+Instructions)


Estáis intentando migrar directamente en un solo paso de la 5.1 a la 6.1? En tal caso, eso está mal. Deberia ser 5.1->6.0->6.1.
Otra cosa, es muy peligroso migrar sin usar la propia aplicación, ya que es posible que muchos procesos requieran de las clases Java para migrarse correctamente.

Rafael Lluis:

1. Documentos: tenemos una base de datos Oracle en español. Parece ser que se la columna que gestiona la versión de un documento ahora incluye decimales para poder almacenar versiones tipo "1.0" en lugar de "1". El caso es que al ser español, el separador de decimales es la "," (coma) y auqnue Liferay en principio parece soportarlo, luego no funciona verdaderamente ningún documento: LR 6.1 no es capaz de mostrar ningún documento.

Algun error en los logs? Es posible que sea por no migrar usando la aplicación, y solo los scripts SQL.

Rafael Lluis:

2. Páginas Journal: todas las páginas tipo journal (contenido web) que tenemos dejan de funcionar. Tras ver la base de datos resulta que si creamos una página nueva, en las preferencias (portetpreferences) se almacena la llamada a un contenido con propiedades como "articleId" y "groupId" y todo funciona. Ahora bien, si revisamos una de nuestras páginas, veremos que tienen "article-Id" y "group-Id". Salvo que LR tenga en cuenta ambas ocpiones o que el proceso de actualización no manual incluyera un UPDATE masivo en BBDD, no veo cómo va a poder funcionar esta migración: ¿alquién lo puede confirmar? ¿hay que hacer un replace en BBDD de todo "article-id" por "articleId" o similar?

Idem, preferible usar la aplicacion y no los scripts.

Rafael Lluis:

3. Proceso de verificacion: existe un proceso de verificacion de la BBDD que ejecuta LR 6 y que hemos optado por desactivar ya que en el caso de Oracle intenta actualizar todas las columnas VARCHAR cuyo tamaño esté expresado en bytes a columnas VARCHAR con tamaño expresado en CHARS. Este proceso lo hace contra TODAS las tablas (aunque no sean de LR) y además lo hace erróneamente puesto que intenta meter tamaños que luego la BBDD dice que no son válidos puesto que son menores a los datos almacenados; e incluso en algún caso intenta meter tamaño 0 lo cual hace que el proceso acabe finalizando con errores.


Resuelto en la version parcheada, aqui:

https://www.lcepatchers.org/downloads
Rafael Lluis
RE: Actualizando LR 5.1 a 6.1
February 21, 2013 1:31 AM
Answer

Rafael Lluis

Rank: Junior Member

Posts: 29

Join Date: October 15, 2012

Recent Posts

Rafael Lluis:

Estamos en el proceso de actualización y estamos encontrando diferentes problemas para los que desconozco si existen soluciones. Hemos optado por hacer una migración manual (ejecución de todos los scripts de BBDD y actualización en consecuencia de la tabla release_), también intentando ejecutar cada paso de cada versión según la Wiki (http://www.liferay.com/es/community/wiki/-/wiki/Main/Upgrade+Instructions)


Juan Gonzalez P:

Estáis intentando migrar directamente en un solo paso de la 5.1 a la 6.1? En tal caso, eso está mal. Deberia ser 5.1->6.0->6.1.
Otra cosa, es muy peligroso migrar sin usar la propia aplicación, ya que es posible que muchos procesos requieran de las clases Java para migrarse correctamente.


No, lo estamos haciendo por pasos. Lo que sí es cierto es que lo estamos haciendo sin la aplicación, es decir, de forma manual. Si es un método 100% incorrecto rogaría se pudiera confirmar puesto que es el único que nos parece válido para un entorno de producción. No se, por ejemplo, ¿de verdad existe un proceso dentro de la actualización que sin script masivo de bbdd cambie todos los aricle-id por articleID? Si es así efectivamente el proceso manual quedaría 100% prohibido.

Rafael Lluis:

1. Documentos: tenemos una base de datos Oracle en español. Parece ser que se la columna que gestiona la versión de un documento ahora incluye decimales para poder almacenar versiones tipo "1.0" en lugar de "1". El caso es que al ser español, el separador de decimales es la "," (coma) y auqnue Liferay en principio parece soportarlo, luego no funciona verdaderamente ningún documento: LR 6.1 no es capaz de mostrar ningún documento.

Juan Gonzalez P:

Algun error en los logs? Es posible que sea por no migrar usando la aplicación, y solo los scripts SQL.

Al acceder por el panel de control no me encuentra ningun documento y el error que da es este:

  1com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: Se ha creado una excepción no detectada en uno de los métodos de servicio del servlet /html/portlet/document_library/add_button.jsp en la aplicación liferay-portal-6_1_1-ce-ga2-20120731132656558_war. Excepción creada: java.lang.NullPointerException
  2    at com.ibm._jsp._add_5F_button._jspService(_add_5F_button.java:1509)
  3    at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:98)
  4    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
  5    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1449)
  6    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1384)
  7    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
  8    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
  9    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
 10    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
 11    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
 12    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
 13    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
 14    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:852)
 15    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:785)
 16    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:443)
 17    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
 18    at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
 19    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:234)
 20    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProcessor.java:335)
 21    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:644)
 22    at com.liferay.portal.servlet.DirectServletPathRegisterDispatcher.include(DirectServletPathRegisterDispatcher.java:53)
 23    at com.liferay.portal.servlet.PACLRequestDispatcherWrapper.doDispatch(PACLRequestDispatcherWrapper.java:90)
 24    at com.liferay.portal.servlet.PACLRequestDispatcherWrapper.include(PACLRequestDispatcherWrapper.java:54)
 25    at com.liferay.taglib.util.IncludeTag.include(IncludeTag.java:345)
 26    at com.liferay.taglib.util.IncludeTag.doInclude(IncludeTag.java:245)
 27    at com.liferay.taglib.util.IncludeTag.doEndTag(IncludeTag.java:86)
 28    at com.ibm._jsp._toolbar._jspx_meth_liferay$1util_include_0(_toolbar.java:1161)
 29    at com.ibm._jsp._toolbar._jspService(_toolbar.java:900)
 30    at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:98)
 31    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
 32    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1449)
 33    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1384)
 34    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
 35    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
 36    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
 37    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
 38    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
 39    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
 40    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
 41    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:852)
 42    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:785)
 43    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:443)
 44    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
 45    at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
 46    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:234)
 47    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProcessor.java:335)
 48    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:644)
 49    at com.liferay.portal.servlet.DirectServletPathRegisterDispatcher.include(DirectServletPathRegisterDispatcher.java:53)
 50    at com.liferay.portal.servlet.PACLRequestDispatcherWrapper.doDispatch(PACLRequestDispatcherWrapper.java:90)
 51    at com.liferay.portal.servlet.PACLRequestDispatcherWrapper.include(PACLRequestDispatcherWrapper.java:54)
 52    at com.liferay.taglib.util.IncludeTag.include(IncludeTag.java:345)
 53    at com.liferay.taglib.util.IncludeTag.doInclude(IncludeTag.java:245)
 54    at com.liferay.taglib.util.IncludeTag.doEndTag(IncludeTag.java:86)
 55    at com.ibm._jsp._view._jspx_meth_liferay$1util_include_2(_view.java:1275)
 56    at com.ibm._jsp._view._jspService(_view.java:824)
 57    at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:98)
 58    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
 59    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1449)
 60    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1384)
 61    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
 62    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
 63    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
 64    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
 65    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
 66    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
 67    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
 68    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:852)
 69    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:785)
 70    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:443)
 71    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
 72    at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
 73    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:234)
 74    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProcessor.java:335)
 75    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:644)
 76    at com.liferay.portal.servlet.DirectServletPathRegisterDispatcher.include(DirectServletPathRegisterDispatcher.java:53)
 77    at com.liferay.portal.servlet.PACLRequestDispatcherWrapper.doDispatch(PACLRequestDispatcherWrapper.java:90)
 78    at com.liferay.portal.servlet.PACLRequestDispatcherWrapper.include(PACLRequestDispatcherWrapper.java:54)
 79    at com.liferay.taglib.util.IncludeTag.include(IncludeTag.java:345)
 80    at com.liferay.taglib.util.IncludeTag.doInclude(IncludeTag.java:245)
 81    at com.liferay.taglib.util.IncludeTag.doEndTag(IncludeTag.java:86)
 82    at com.ibm._jsp._portlet._jspService(_portlet.java:4379)
 83    at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:98)
 84    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
 85    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1449)
 86    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1384)
 87    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
 88    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
 89    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
 90    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
 91    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
 92    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
 93    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
 94    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:852)
 95    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:785)
 96    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:443)
 97    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
 98    at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
 99    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:234)
100    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:644)
101    at com.liferay.portlet.PortletRequestDispatcherImpl.dispatch(PortletRequestDispatcherImpl.java:323)
102    at com.liferay.portlet.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:120)
103    at com.liferay.portal.struts.PortletRequestProcessor.doInclude(PortletRequestProcessor.java:357)
104    at com.liferay.portal.struts.PortletRequestProcessor.doForward(PortletRequestProcessor.java:327)
105    at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:239)
106    at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:302)
107    at com.liferay.portal.struts.PortletRequestProcessor.processForwardConfig(PortletRequestProcessor.java:465)
108    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
109    at com.liferay.portal.struts.PortletRequestProcessor.process(PortletRequestProcessor.java:224)
110    at com.liferay.portlet.StrutsPortlet.include(StrutsPortlet.java:274)
111    at com.liferay.portlet.StrutsPortlet.doView(StrutsPortlet.java:153)
112    at com.liferay.portal.kernel.portlet.LiferayPortlet.doDispatch(LiferayPortlet.java:218)
113    at javax.portlet.GenericPortlet.render(GenericPortlet.java:233)
114    at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100)
115    at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64)
116    at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:548)
117    at com.liferay.portlet.InvokerPortletImpl.invokeRender(InvokerPortletImpl.java:607)
118    at com.liferay.portlet.InvokerPortletImpl.render(InvokerPortletImpl.java:359)
119    at com.ibm._jsp._render_5F_portlet._jspService(_render_5F_portlet.java:1204)
120    at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:98)
121    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
122    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1449)
123    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1384)
124    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
125    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
126    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
127    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
128    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
129    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
130    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
131    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:852)
132    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:785)
133    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:443)
134    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
135    at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
136    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:234)
137    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:644)
138    at com.liferay.portal.servlet.DirectServletPathRegisterDispatcher.include(DirectServletPathRegisterDispatcher.java:53)
139    at com.liferay.portal.servlet.PACLRequestDispatcherWrapper.doDispatch(PACLRequestDispatcherWrapper.java:90)
140    at com.liferay.portal.servlet.PACLRequestDispatcherWrapper.include(PACLRequestDispatcherWrapper.java:54)
141    at com.liferay.portal.util.PortalImpl.renderPortlet(PortalImpl.java:5158)
142    at com.liferay.portal.util.PortalUtil.renderPortlet(PortalUtil.java:1569)
143    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletImpl.processPortlet(RuntimePortletImpl.java:165)
144    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletImpl.processPortlet(RuntimePortletImpl.java:203)
145    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletImpl.processPortlet(RuntimePortletImpl.java:190)
146    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:87)
147    at com.liferay.portlet.layoutconfiguration.util.velocity.TemplateProcessor.processMax(TemplateProcessor.java:165)
148    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
149    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)
150    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
151    at java.lang.reflect.Method.invoke(Method.java:599)
152    at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
153    at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
154    at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
155    at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:262)
156    at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:342)
157    at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
158    at org.apache.velocity.Template.merge(Template.java:328)
159    at org.apache.velocity.Template.merge(Template.java:235)
160    at org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:381)
161    at com.liferay.portal.velocity.VelocityEngineImpl.mergeTemplate(VelocityEngineImpl.java:264)
162    at com.liferay.portal.kernel.velocity.VelocityEngineUtil.mergeTemplate(VelocityEngineUtil.java:73)
163    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletImpl.doProcessTemplate(RuntimePortletImpl.java:499)
164    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletImpl.doDispatch(RuntimePortletImpl.java:394)
165    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletImpl.processTemplate(RuntimePortletImpl.java:228)
166    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:125)
167    at com.ibm._jsp._control_5F_panel._jspService(_control_5F_panel.java:661)
168    at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:98)
169    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
170    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1449)
171    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1384)
172    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
173    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
174    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
175    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
176    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
177    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
178    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
179    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:852)
180    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:785)
181    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:443)
182    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
183    at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
184    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:234)
185    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:644)
186    at com.liferay.portal.action.LayoutAction.includeLayoutContent(LayoutAction.java:468)
187    at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:735)
188    at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:249)
189    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
190    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
191    at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:176)
192    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
193    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
194    at javax.servlet.http.HttpServlet.service(HttpServlet.java:718)
195    at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:560)
196    at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:537)
197    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
198    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1449)
199    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1384)
200    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
201    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
202    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
203    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
204    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
205    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
206    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
207    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
208    at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:294)
209    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
210    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
211    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
212    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
213    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
214    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
215    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
216    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:852)
217    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:785)
218    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:443)
219    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
220    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:325)
221    at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:138)
222    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
223    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1449)
224    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1384)
225    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
226    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
227    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
228    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
229    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
230    at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:335)
231    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
232    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
233    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
234    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
235    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
236    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
237    at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:294)
238    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
239    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
240    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
241    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
242    at com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:241)
243    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
244    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
245    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
246    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
247    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
248    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
249    at com.liferay.portal.servlet.filters.etag.ETagFilter.processFilter(ETagFilter.java:56)
250    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
251    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
252    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
253    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
254    at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:246)
255    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
256    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
257    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
258    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
259    at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:83)
260    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
261    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
262    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
263    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
264    at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:80)
265    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
266    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
267    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
268    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
269    at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:216)
270    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
271    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
272    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
273    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187)
274    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
275    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
276    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
277    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
278    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
279    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
280    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
281    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
282    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167)
283    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
284    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
285    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167)
286    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
287    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
288    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187)
289    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
290    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
291    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
292    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
293    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
294    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:852)
295    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:785)
296    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:443)
297    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
298    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
299    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:859)
300    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1557)
301    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:173)
302    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:455)
303    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:384)
304    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
305    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
306    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
307    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
308    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
309    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:202)
310    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:766)
311    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:896)
312    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1527)



Rafael Lluis:

2. Páginas Journal: todas las páginas tipo journal (contenido web) que tenemos dejan de funcionar. Tras ver la base de datos resulta que si creamos una página nueva, en las preferencias (portetpreferences) se almacena la llamada a un contenido con propiedades como "articleId" y "groupId" y todo funciona. Ahora bien, si revisamos una de nuestras páginas, veremos que tienen "article-Id" y "group-Id". Salvo que LR tenga en cuenta ambas ocpiones o que el proceso de actualización no manual incluyera un UPDATE masivo en BBDD, no veo cómo va a poder funcionar esta migración: ¿alquién lo puede confirmar? ¿hay que hacer un replace en BBDD de todo "article-id" por "articleId" o similar?

Juan Gonzalez P:

Idem, preferible usar la aplicacion y no los scripts.

Como decía lo que veo es que es muy diferente la forma en la que en LR6.1 se almacena un contenido web respecto a LR5.1. Es más me atrevería a asegurar (estamos en ello) que hasta la version 6.0.6 todo iba igual y es en la última version (6.1) donde se produce el verdadero cambio. Lo que no tengo muy claro (paralelamente estamos ahora haciendo un proceso de migracion en un entorno replicado pero con la aplicacion) es cómo se va a solucionar la cuestión aún usando la aplicación.

Rafael Lluis:

3. Proceso de verificacion: existe un proceso de verificacion de la BBDD que ejecuta LR 6 y que hemos optado por desactivar ya que en el caso de Oracle intenta actualizar todas las columnas VARCHAR cuyo tamaño esté expresado en bytes a columnas VARCHAR con tamaño expresado en CHARS. Este proceso lo hace contra TODAS las tablas (aunque no sean de LR) y además lo hace erróneamente puesto que intenta meter tamaños que luego la BBDD dice que no son válidos puesto que son menores a los datos almacenados; e incluso en algún caso intenta meter tamaño 0 lo cual hace que el proceso acabe finalizando con errores.


Juan Gonzalez P:

Resuelto en la version parcheada, aqui:
https://www.lcepatchers.org/downloads


Muchas gracias
Juan Gonzalez
RE: Actualizando LR 5.1 a 6.1
December 26, 2012 2:27 AM
Answer

Juan Gonzalez

LIFERAY STAFF

Rank: Liferay Legend

Posts: 2341

Join Date: October 28, 2008

Recent Posts

Hola Rafael,

No, lo estamos haciendo por pasos. Lo que sí es cierto es que lo estamos haciendo sin la aplicación, es decir, de forma manual. Si es un método 100% incorrecto rogaría se pudiera confirmar puesto que es el único que nos parece válido para un entorno de producción. No se, por ejemplo, ¿de verdad existe un proceso dentro de la actualización que sin script masivo de bbdd cambie todos los aricle-id por articleID? Si es así efectivamente el proceso manual quedaría 100% prohibido.

Tampoco te aseguro que sea 100% incorrecto, aunque sí que es cierto que hay varios procesos que actualizan valores , entre ellos las preferencias de portlets, parecido (sino igual) al caso que has dicho. Es por esto que mejor intentes la forma recomendada por Liferay (en la Wiki), que es desplegando y arrancando la aplicación.
Juan Gonzalez
RE: Actualizando LR 5.1 a 6.1
December 26, 2012 2:30 AM
Answer

Juan Gonzalez

LIFERAY STAFF

Rank: Liferay Legend

Posts: 2341

Join Date: October 28, 2008

Recent Posts

Intenta hacerlo con el despliegue de la aplicación (previo backup de los datos y BDD, claro).

Si tienes cualquier problema ponlo aqui e intentaremos solucionarlo.
Rafael Lluis
RE: Actualizando LR 5.1 a 6.1
December 26, 2012 2:34 AM
Answer

Rafael Lluis

Rank: Junior Member

Posts: 29

Join Date: October 15, 2012

Recent Posts

De acuerdo. Os informo al respecto en cuanto tengamos avances en el proceso vía aplicativo (descartamos de momento el manual)
Rafael Lluis
RE: Actualizando LR 5.1 a 6.1
December 26, 2012 6:36 AM
Answer

Rafael Lluis

Rank: Junior Member

Posts: 29

Join Date: October 15, 2012

Recent Posts

He estado revisando el codigo fuente de Liferay, concretamente las clases de upgrade situadas en

liferay-portal-src-6.1.1-ce-ga2\portal-impl\src\com\liferay\portal\upgrade

Y efectivamente existen muchísimos procesos de actualización de la base de datos que sólo se van a ejecutar si se realiza una actualización mediante la aplicación. Por lo que parece los scripts de actualizacion entre las diferentes versiones (descargables aparte) sólo se refieren a estructura, no a los datos en sí mismos puesto que la reorganización, limplieza, adaptación, etc. de los datos se produce en estas clases JAVA que se ejecutan en el momento de actualización.

Siendo así, es 100% NO recomendable una actualización manual puesto que se dejaría millones de cosas en el tintero. Si bien en algún sitio lo he leido (el hecho de que no se recomienda una actualización manual) sí que creo que tal y como es el proceso, debería dejarse totalmente claro, por ejemplo en la Wiki relativa a actualización: NO debería realizarse un proceso de actualización manual de la base de datos.
Rafael Lluis
RE: Actualizando LR 5.1 a 6.1
January 29, 2013 10:51 AM
Answer

Rafael Lluis

Rank: Junior Member

Posts: 29

Join Date: October 15, 2012

Recent Posts

Hemos continuado con la actualización (ya tal y como LR recomienda) y aún así hemos tenido algunos problemas que hemos tenido que ir solventando tras revisar cada uno de ellos (llegando al nivel de código fuente en la mayoría de los casos). Por si a alguien le ayuda incluyo los principales a continuación:

de 5.1.1 a 5.2.3 --> en nuestra instalación nos falta el role owner y el proceso de actualización lo exige (a posteriori, una vez el proceso de actualizacion falla, pero se consigue iniciar LR, éste se crea automáticamente, pero ya es tarde (ya el update se ha interrumpido). También tuvimos problemas porque las columnas classnameid y classpk de la tabla groups no estaban rellenas convenientemente para el grupo Guest (se menciona en el bug http://issues.liferay.com/browse/LPS-5498).
Para corregirlo, antes de ejecutar la actualización preparamos la base de datos precreando el owner y corrigiendo el grupo guest

de 5.2.3 a 6.0.6 --> hay que asegurarse inicialmente de poner el algoritmo de permisos a 5 para luego cambiarlo una vez migrado. Hay que tener paciencia: con un portal de 2500 ficheros tarda en torno a 30 minutos ya que se recorre fichero a fichero durante la migración. Una vez migrado se debe ejecutar (tal y como se explica en la wiki) el proceso de migración de permisos a algoritmo 6 y reiniciar de nuevo el servidor cambiando la propiedad en el portal-ext a 6.
OJO: como teníamos un Oracle en español, el proceso de actualización genera las versiones de los documentos como "1,0" y no "1.0" lo cuál implica que no funciona correctamente ningún documento. Para solucionarlo, a posteriori, una vez migrado procedemos a hacer un replace en BBDD en las tablas implicadas para poner la versión con separador ".".
También hay que asegurarse de desactivar el proceso de verificación (valor 0) en el portal-ext para que no ejecute la verificación Oracle que es errónea puesto que intenta corregir todas las tablas de la base de datos (no solo las de LR) y falla. Al principio de este hilo se explica cómo solucionarlo en 6.1.1. y ya reactivarlo

de 6.0.6 a 6.1.1 --> La columna changelog de la tabla dlfileitem parece ser demasiado pequeña puesto que alguna de las actualizaciones falla debido a falta de espacio. La aumentamos previamente a varchar 4000. En este caso aun con el proceso verify desactivado, LR 6.1.1 intenta a su vez hacer una verificacion (Definida en portal.properties) y que podemos o bien desactivar en portal-ext (no recomendable puesto que parece que hace bastantes cosas) o utilizar la versión de www.icepatchers.org que ya incluye el proceso de verificación de oracle corregido (Así procedimos en nuestro caso)

Ya tenemos un 6.1.1 migrado y funcionando. Si alguien necesita más detalles (nombres exactos de tablas, etc.) no dude en pedirlo.

OJO: antes de cada paso se debe hacer backup de bbdd y ficheros (jackrabbit/lucene) puesto que si se da algún fallo y el proceso se interrumpe (podemos ver al final que la tabla release_ no se ha actualizado convenientemente) luego no podemos volver a arrancar el servidor: va a reintentar el proceso de actualización y le va a fallar porque falten columnas ya borradas, etc. Siempre hay que partir de un backup.
Rafael Lluis
RE: Actualizando LR 5.1 a 6.1
February 21, 2013 1:30 AM
Answer

Rafael Lluis

Rank: Junior Member

Posts: 29

Join Date: October 15, 2012

Recent Posts

Hay que añadir además que los metadatos de las páginas no se actualizan convenientemente: en nuestro LR 5.1 estaban en la abla layout, columna typesettings. En el nuevo LR 6.1 tienen que estar en las columnas description y keywords creadas en la misma tabla layout.

Pero el proceso de actualización no ha hecho nada al respecto así que hemos tenido que generar un script de BBDD para extraer convenientemente los datos de la columna typesettings para volcarlo en las nuevas columnas. Pero, ¿no debería hacerlo Liferay?
Alberto Chaparro
RE: Actualizando LR 5.1 a 6.1
March 14, 2013 4:37 AM
Answer

Alberto Chaparro

LIFERAY STAFF

Rank: Regular Member

Posts: 132

Join Date: April 25, 2011

Recent Posts

Hola Rafael,

En principio el portal debería haber realizado ese cambio sobre la tabla layout durante el proceso de migración. Esa lógica está contenida en la clase upgradeLayout.java, lo que desconozco es que si por algún motivo no se ha ejecutado esa clase o no ha encontrado datos para actualizar en la ejecución de vuestro proceso de migración.

Un saludo.
Rafael Lluis
RE: Actualizando LR 5.1 a 6.1
March 18, 2013 12:27 PM
Answer

Rafael Lluis

Rank: Junior Member

Posts: 29

Join Date: October 15, 2012

Recent Posts

Pues también lo desconozco. Echaré un vistazo a la clase que comentas para ver porqué no ha funcionado en nuestro entorno y os lo cuento aquí por si ayudo a alguién en el futuro...
Rafael Lluis
RE: Actualizando LR 5.1 a 6.1
September 10, 2013 1:32 AM
Answer

Rafael Lluis

Rank: Junior Member

Posts: 29

Join Date: October 15, 2012

Recent Posts

Además he mos podido comprobar que una vez actualizado LR desde la 5.1 a la 6.1 y con un entorno más o menos estable, se ha producido un problema con los usuarios. Hemos dado de alta un nuevo usuario y al ir a acceder con su usuario y contraseña, el portal se quedaba en blanco. Viendo los logs, hemos visto que existe un problema con la longitud de la columna username en la tabla mbmessage.

Hemos podido comprobar que en un LR limpio, las columnas varchar de las tablas MB* (tracking de LR para comentarios, etc.) son de tamaño 75, mientras que en nuestro LR actualizado desde la 5.1 a la 6.1 éstas columnas han permanecido con tamaño 15. Y no hemos visto ninguna parte del proceso de actualización donde se intente cambiar el tamaño de estos varchar.

Por lo tanto hemos tenido que cambiarlo nosotros manualmente, desapareciendo así el error del log:

 1
 2alter table mbmessage modify 
 3(userName VARCHAR2(75 CHAR),
 4subject VARCHAR2(75 CHAR));
 5
 6alter table mbban modify 
 7(userName VARCHAR2(75 CHAR));
 8
 9alter table mbcategory modify 
10(userName VARCHAR2(75 CHAR),
11name VARCHAR2(75 CHAR));
12
13alter table MBMailingList modify 
14("UUID_" VARCHAR2(75 CHAR),
15"USERNAME" VARCHAR2(75 CHAR),
16"EMAILADDRESS" VARCHAR2(75 CHAR),
17"INPROTOCOL" VARCHAR2(75 CHAR),
18"INSERVERNAME" VARCHAR2(75 CHAR),
19"INUSERNAME" VARCHAR2(75 CHAR),
20"INPASSWORD" VARCHAR2(75 CHAR),
21"OUTEMAILADDRESS" VARCHAR2(75 CHAR),
22"OUTSERVERNAME" VARCHAR2(75 CHAR),
23"OUTUSERNAME" VARCHAR2(75 CHAR),
24"OUTPASSWORD" VARCHAR2(75 CHAR));