FSC v3.15 Version Update
Scheduled Maintenance Report for Picksmart Status
Postmortem

There was a small issue regarding the Platform RobotAssistantTask.java implimentation.

There was a small change we made on the environment property and the log has not been thrown again:

2021-04-29 22:34:30.015 I: U: [__ejb-thread-pool15] ERROR za.co.picksmart.ejb.platform.RobotAssistantTaskFacade - Could not get RobotAssistantTask IDs to update state
java.lang.IllegalArgumentException: Exception [EclipseLink-6168] (Eclipse Persistence Services - 2.7.9.v20210131-c9c11296f0): org.eclipse.persistence.exceptions.QueryException
Exception Description: Query failed to prepare, unexpected error occurred: [java.lang.ClassCastException].
Internal Exception: java.lang.ClassCastException
Query: ReportQuery(name="RobotAssistantTask.findToUpdateState" referenceClass=RobotAssistantTask jpql="SELECT en.id FROM RobotAssistantTask en WHERE (en.taskState IS NULL OR en.taskState = 'za.co.picksmart.enums.platform.RobotAssistantTaskState.SUBMITTED' OR en.taskState = 'za.co.picksmart.enums.platform.RobotAssistantTaskState.ABORTING' OR en.taskState = 'za.co.picksmart.enums.platform.RobotAssistantTaskState.EXECUTING' OR en.taskState = 'za.co.picksmart.enums.platform.RobotAssistantTaskState.REPORTING' OR en.taskState = 'za.co.picksmart.enums.platform.RobotAssistantTaskState.READY') AND en.createdDate >= :timeLimit")
at org.eclipse.persistence.internal.jpa.QueryImpl.getDatabaseQueryInternal(QueryImpl.java:348)
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createNamedQuery(EntityManagerImpl.java:1244)
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createNamedQuery(EntityManagerImpl.java:1265)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.createNamedQuery(EntityManagerWrapper.java:539)
at za.co.picksmart.ejb.platform.RobotAssistantTaskFacade.getTaskIdsToUpdateState(RobotAssistantTaskFacade.java:297)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:588)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:408)
at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4817)
at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:665)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:834)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:615)
at za.co.picksmart.ejb.LazyLoadableInterceptor.performCheck(LazyLoadableInterceptor.java:23)
at sun.reflect.GeneratedMethodAccessor413.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:888)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:833)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:615)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
at sun.reflect.GeneratedMethodAccessor369.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:888)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:833)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:615)
at org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:72)
at org.jboss.weld.module.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
at sun.reflect.GeneratedMethodAccessor361.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:888)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:833)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:375)
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4789)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4777)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:90)
at com.sun.proxy.$Proxy379.getTaskIdsToUpdateState(Unknown Source)
at za.co.picksmart.ejb.platform.EJB31_Generated__RobotAssistantTaskFacade__Intf____Bean.getTaskIdsToUpdateState(Unknown Source)
at za.co.picksmart.ejb.platform.RobotAssistantTaskHelperFacade.updateStates(RobotAssistantTaskHelperFacade.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:588)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:408)
at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4817)
at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:665)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:834)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:615)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundTimeout(SystemInterceptorProxy.java:145)
at sun.reflect.GeneratedMethodAccessor407.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:888)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:833)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:615)
at org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:81)
at org.jboss.weld.module.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
at sun.reflect.GeneratedMethodAccessor361.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:888)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:833)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:375)
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4789)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4777)
at com.sun.ejb.containers.BaseContainer.callEJBTimeout(BaseContainer.java:4027)
at com.sun.ejb.containers.EJBTimerService.deliverTimeout(EJBTimerService.java:1208)
at com.sun.ejb.containers.EJBTimerService.access$000(EJBTimerService.java:96)
at com.sun.ejb.containers.EJBTimerService$TaskExpiredWork.run(EJBTimerService.java:1940)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:747)
Caused by: org.eclipse.persistence.exceptions.QueryException:
Exception Description: Query failed to prepare, unexpected error occurred: [java.lang.ClassCastException].
Internal Exception: java.lang.ClassCastException
Query: ReportQuery(name="RobotAssistantTask.findToUpdateState" referenceClass=RobotAssistantTask jpql="SELECT en.id FROM RobotAssistantTask en WHERE (en.taskState IS NULL OR en.taskState = 'za.co.picksmart.enums.platform.RobotAssistantTaskState.SUBMITTED' OR en.taskState = 'za.co.picksmart.enums.platform.RobotAssistantTaskState.ABORTING' OR en.taskState = 'za.co.picksmart.enums.platform.RobotAssistantTaskState.EXECUTING' OR en.taskState = 'za.co.picksmart.enums.platform.RobotAssistantTaskState.REPORTING' OR en.taskState = 'za.co.picksmart.enums.platform.RobotAssistantTaskState.READY') AND en.createdDate >= :timeLimit")
at org.eclipse.persistence.exceptions.QueryException.prepareFailed(QueryException.java:1598)
at org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQuery.java:692)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.checkPrepare(ObjectLevelReadQuery.java:968)
at org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQuery.java:622)
at org.eclipse.persistence.internal.jpa.QueryImpl.getDatabaseQueryInternal(QueryImpl.java:346)
... 81 common frames omitted

Posted Apr 29, 2021 - 22:39 SAST

Completed
The scheduled maintenance has been completed.
Posted Apr 29, 2021 - 22:37 SAST
Verifying
Verification is currently underway for the maintenance items.
Posted Apr 29, 2021 - 22:24 SAST
In progress
Scheduled maintenance is currently in progress. We will provide updates as necessary.
Posted Apr 29, 2021 - 22:01 SAST
Scheduled
Please note that we will be undergoing scheduled maintenance in order to release the newest version of Field Service Cloud (v3.15) to production.

To view the latest changes, feel free to click on the "What's New" button on the FSC dashboard page or follow this link: https://help.fscloud.co.za/support/solutions/folders/11000017361
Posted Apr 29, 2021 - 14:47 SAST
This scheduled maintenance affected: Field Service Cloud (OMNI Service, Field Service Cloud).