DXP 7.4 Update 34+ (U34+) へのアップグレード時にブループリントまたはエレメント ページに移動すると NullPointerException が発生する。

環境

  • Liferay DXP 7.4 Update 34+ (U34+)

症状

以下の2つのケースで、(Search Experiences) Blueprints または Elements ページに移動する際に、以下のエラーが発生することがあります。

A.) アップグレード処理が実行されなかった場合や

B.) システムにカスタム JSON 要素のインスタンスを持つブループリントが存在し、アップグレード処理が失敗した場合。

2022-07-13 09:01:15.942 ERROR [http-nio-8080-exec-5][IncludeTag:128] Current URL /group/guest/~/control_panel/manage?p_p_id=com_liferay_search_experiences_web_internal_blueprint_admin_portlet_SXPBlueprintAdminPortlet&p_p_lifecycle=0&p_p_state=maximized&p_v_l_s_g_id=20121 generates exception: java.lang.NullPointerException
java.lang.NullPointerException: null
at org.apache.jsp.sxp_005fblueprint_005fadmin.view_005fsxp_005fblueprints_jsp._jspService(view_005fsxp_005fblueprints_jsp:210) ~[?:?]
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111) ~[jasper.jar:9.0.56]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[servlet-api.jar:4.0.FR]
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411) ~[jasper.jar:9.0.56]
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473) ~[jasper.jar:9.0.56]
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377) ~[jasper.jar:9.0.56]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[servlet-api.jar:4.0.FR]
at com.liferay.portal.osgi.web.servlet.jsp.compiler.internal.JspServlet.service(JspServlet.java:364) ~[bundleFile:?]
at com.liferay.portal.osgi.web.servlet.jsp.compiler.internal.JspServlet.service(JspServlet.java:376) ~[bundleFile:?]
at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153) ~[?:?]
at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:62) ~[?:?]
at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:120) ~[?:?]
at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:48) ~[?:?]
at com.liferay.portal.servlet.DirectServletPathRegisterDispatcher.include(DirectServletPathRegisterDispatcher.java:67) ~[portal-impl.jar:?]
at com.liferay.portal.servlet.DirectRequestDispatcherFactoryImpl$IndirectRequestDispatcher.include(DirectRequestDispatcherFactoryImpl.java:190) ~[portal-impl.jar:?]
at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.doDispatch(ClassLoaderRequestDispatcherWrapper.java:79) ~[portal-impl.jar:?]
at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.include(ClassLoaderRequestDispatcherWrapper.java:53) ~[portal-impl.jar:?]
at com.liferay.taglib.util.IncludeTag.includePage(IncludeTag.java:409) ~[bundleFile:?]
at com.liferay.taglib.util.IncludeTag.include(IncludeTag.java:384) ~[bundleFile:?]
at com.liferay.taglib.util.IncludeTag.doInclude(IncludeTag.java:217) ~[bundleFile:?]
2022-07-13 09:01:24.850 WARN [http-nio-8080-exec-8][MVCPortlet:299] No render mappings found for MVC render command name "/sxp_blueprint_admin/view_sxp_elements" for portlet com_liferay_search_experiences_web_internal_blueprint_admin_portlet_SXPBlueprintAdminPortlet
2022-07-13 09:01:24.991 ERROR [http-nio-8080-exec-8][IncludeTag:128] Current URL /group/guest/~/control_panel/manage?p_p_id=com_liferay_search_experiences_web_internal_blueprint_admin_portlet_SXPBlueprintAdminPortlet&p_p_lifecycle=0&p_p_state=maximized&p_p_mode=view&_com_liferay_search_experiences_web_internal_blueprint_admin_portlet_SXPBlueprintAdminPortlet_tabs1=sxpElements&_com_liferay_search_experiences_web_internal_blueprint_admin_portlet_SXPBlueprintAdminPortlet_mvcRenderCommandName=%2Fsxp_blueprint_admin%2Fview_sxp_elements&_com_liferay_search_experiences_web_internal_blueprint_admin_portlet_SXPBlueprintAdminPortlet_hidden=false generates exception: java.lang.NullPointerException
java.lang.NullPointerException: null
at org.apache.jsp.sxp_005fblueprint_005fadmin.view_005fsxp_005felements_jsp._jspService(view_005fsxp_005felements_jsp:210) ~[?:?]
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111) ~[jasper.jar:9.0.56]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[servlet-api.jar:4.0.FR]
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411) ~[jasper.jar:9.0.56]
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473) ~[jasper.jar:9.0.56]
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377) ~[jasper.jar:9.0.56]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[servlet-api.jar:4.0.FR]
at com.liferay.portal.osgi.web.servlet.jsp.compiler.internal.JspServlet.service(JspServlet.java:364) ~[bundleFile:?]
at com.liferay.portal.osgi.web.servlet.jsp.compiler.internal.JspServlet.service(JspServlet.java:376) ~[bundleFile:?]
at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153) ~[?:?]
at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:62) ~[?:?]
at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:120) ~[?:?]
at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:48) ~[?:?]
at com.liferay.portal.servlet.DirectServletPathRegisterDispatcher.include(DirectServletPathRegisterDispatcher.java:67) ~[portal-impl.jar:?]
at com.liferay.portal.servlet.DirectRequestDispatcherFactoryImpl$IndirectRequestDispatcher.include(DirectRequestDispatcherFactoryImpl.java:190) ~[portal-impl.jar:?]
at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.doDispatch(ClassLoaderRequestDispatcherWrapper.java:79) ~[portal-impl.jar:?]
at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.include(ClassLoaderRequestDispatcherWrapper.java:53) ~[portal-impl.jar:?]
at com.liferay.taglib.util.IncludeTag.includePage(IncludeTag.java:409) ~[bundleFile:?]
at com.liferay.taglib.util.IncludeTag.include(IncludeTag.java:384) ~[bundleFile:?]
at com.liferay.taglib.util.IncludeTag.doInclude(IncludeTag.java:217) ~[bundleFile:?]

解像度

LPS-150879に記載されているように、DXP 7.4 Update 34+(U34+) にアップグレードする場合は、 Upgrade Process for Search Experiences を実行して、 SXPBlueprint および SXPElement エントリーに必要なデータベース変更を反映させる必要 があります。 アップグレード後、Search Adminから各エンティティのインデックスを再作成してください。

保留中のモジュールアップグレードがある場合、サーバーコンソールに以下のメッセージが表示されます。

2022-07-13 08:19:38.856 WARN [main][MainServlet:407] Required upgrades in modules are pending. Run the upgrade process or type upgrade:checkAll in the Gogo shell to get more information.

変更点の詳細およびモジュールアップグレードの実行方法については、 LPS-150879 および https://learn.liferay.com/dxp/latest/en/installation-and-upgrades/upgrading-liferay/reference/database-upgrade-options.html を参照してください。

既知の問題

(Updated, August 2, 2022) アップグレード処理が正常に実行されない、またはブループリントのデータが壊れる可能性のある問題が発見されています(LPS-158873, LPS-158782)。 これらの問題は、将来のアップデートで修正される予定ですので、アップグレードを待つことをお勧めします。

(2022年9月19日更新)。両方の問題は DXP 7.4 U37 で解決されており、 Liferay Enterprise Search Experiences v1.1.0には影響しません。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています