Collection Error

Topics related to the standard LSPS process application.
Forum rules
Make sure every topic contains information about your LSPS version and if relevant also your server OS, client OS, database name and version, and application server name and version.
User avatar
randy.adkins
 
Posts: 38
Joined: Tue Mar 06, 2012 4:17 pm

Collection Error

Mon May 06, 2013 3:59 am

We are getting the following error when submitting a form with a collection that has 50 or more items. There seems to be IncompatibleTypeError on the collection reference. Everything works for smaller sets of values if there are one or two items in the collection the form submits correctly. What could be the issue? Is there an upper limit on a collection?


2013-05-05 20:36:46,619 FINE SQL insert into LSPS_ROLLBACK_ITEMS (ID, CREATE_DATE, INPUT_DATA, METHOD, MODEL_INSTANCE_ID, RESEND_DATE, SERVICE, STACK_TRACE, TYPE) values (null, ?, ?, ?, ?, ?, ?, ?, ?)
2013-05-05 20:36:46,633 INFO RetryInterceptor Caught Exception in retry interceptor com.whitestein.lsps.common.ErrorException: The transaction has been marked rollback only because the bean encountered a non-application exception :com.whitestein.lsps.common.ErrorRuntimeException : Object &affectedUnit cannot be assigned to type Common::AffectedUnit, error code: IncompatibleTypeError, error code: javax.ejb.EJBTransactionRolledbackException in TicketInitiation::'Ticket Initiation'::'Issue Initiation'
2013-05-05 20:36:46,637 FINE TodoBeanBase could not submit to-do: The transaction has been marked rollback only because the bean encountered a non-application exception :com.whitestein.lsps.common.ErrorRuntimeException : Object &affectedUnit cannot be assigned to type Common::AffectedUnit, error code: IncompatibleTypeError, error code: javax.ejb.EJBTransactionRolledbackException in TicketInitiation::'Ticket Initiation'::'Issue Initiation'
2013-05-05 20:36:46,637 FINER TodoBeanBase stacktrace
com.whitestein.lsps.common.ErrorException: The transaction has been marked rollback only because the bean encountered a non-application exception :com.whitestein.lsps.common.ErrorRuntimeException : Object &affectedUnit cannot be assigned to type Common::AffectedUnit, error code: IncompatibleTypeError, error code: javax.ejb.EJBTransactionRolledbackException in TicketInitiation::'Ticket Initiation'::'Issue Initiation'
at com.whitestein.lsps.common.ErrorException.wrap(ErrorException.java:118)
at com.whitestein.lsps.engine.ProcessInterpreters.addContextAndWrap(ProcessInterpreters.java:88)
at com.whitestein.lsps.engine.TaskProxy.processInput(TaskProxy.java:76)
at com.whitestein.lsps.engine.BPMNInterpreter$ProcessVisitor.visit(BPMNInterpreter.java:502)
at com.whitestein.lsps.model.Task.accept(Task.java:56)
at com.whitestein.lsps.engine.BPMNInterpreter.proceed(BPMNInterpreter.java:171)
at com.whitestein.lsps.engine.ProcessInterpreters.proceed(ProcessInterpreters.java:106)
at com.whitestein.lsps.engine.ModuleInterpreter.proceed(ModuleInterpreter.java:97)
at com.whitestein.lsps.engine.ProcessAgentImpl.proceed(ProcessAgentImpl.java:546)
at com.whitestein.lsps.engine.ProcessAgentImpl.loop(ProcessAgentImpl.java:534)
at com.whitestein.lsps.engine.ProcessAgentImpl.onMessage(ProcessAgentImpl.java:372)
at com.whitestein.lsps.engine.ProcessAgentImpl.handleCommUnit(ProcessAgentImpl.java:232)
at sun.reflect.GeneratedMethodAccessor149.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:158)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:141)
at com.whitestein.lsps.common.SecureAndLoggingService.logInvocation(SecureAndLoggingService.java:147)
at com.whitestein.lsps.common.SecureAndLoggingService.logErrorsAndInvocation(SecureAndLoggingService.java:112)
at com.whitestein.lsps.common.SecureAndLoggingService.secureAndLog(SecureAndLoggingService.java:77)
at sun.reflect.GeneratedMethodAccessor31.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:158)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:141)
at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:122)
at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:221)
at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:174)
at org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:217)
at org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:77)
at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:281)
at $Proxy103.handleCommUnit(Unknown Source)
at com.whitestein.lsps.engine.CommunicationServiceBean.sendSync(CommunicationServiceBean.java:88)
at sun.reflect.GeneratedMethodAccessor148.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:158)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:141)
at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:122)
at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:221)
at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:174)
at org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:217)
at org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:77)
at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:281)
at $Proxy107.sendSync(Unknown Source)
at com.whitestein.lsps.human.TodoServiceBean.submitTodo(TodoServiceBean.java:331)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:158)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:141)
at com.whitestein.lsps.common.SecureAndLoggingService.logInvocation(SecureAndLoggingService.java:147)
at com.whitestein.lsps.common.SecureAndLoggingService.logErrorsAndInvocation(SecureAndLoggingService.java:112)
at com.whitestein.lsps.common.SecureAndLoggingService.secureAndLog(SecureAndLoggingService.java:77)
at sun.reflect.GeneratedMethodAccessor31.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:158)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:141)
at com.whitestein.lsps.common.RetryInterceptor.retryDeadlock(RetryInterceptor.java:62)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:158)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:141)
at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:122)
at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:221)
at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:174)
at org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:217)
at org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:77)
at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:281)
at $Proxy148.submitTodo(Unknown Source)
at com.whitestein.lsps.human.web.bean.TodoBeanBase.submit(TodoBeanBase.java:363)
at com.whitestein.lsps.human.web.bean.TodoBeanBase.submitAction(TodoBeanBase.java:230)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.sun.el.parser.AstValue.invoke(AstValue.java:187)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
at com.sun.faces.application.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
at com.whitestein.lsps.web.multipart.MultipartFilter.doFilter(MultipartFilter.java:101)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: javax.ejb.EJBTransactionRolledbackException: The transaction has been marked rollback only because the bean encountered a non-application exception :com.whitestein.lsps.common.ErrorRuntimeException : Object &affectedUnit cannot be assigned to type Common::AffectedUnit, error code: IncompatibleTypeError
at org.apache.openejb.core.ivm.BaseEjbProxyHandler.convertException(BaseEjbProxyHandler.java:340)
at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:286)
at $Proxy120.processInput(Unknown Source)
at com.whitestein.lsps.engine.TaskProxy.processInput(TaskProxy.java:72)
... 107 more
Caused by: com.whitestein.lsps.common.ErrorRuntimeException: Object &affectedUnit cannot be assigned to type Common::AffectedUnit, error code: IncompatibleTypeError
at com.whitestein.lsps.engine.lang.RuntimeToPersistentConverter.validate(RuntimeToPersistentConverter.java:541)
at com.whitestein.lsps.engine.lang.RuntimeToPersistentConverter.convertToPersistent(RuntimeToPersistentConverter.java:175)
at com.whitestein.lsps.engine.lang.ExecutionContextImpl$NamespaceImpl.createChildNamespace(ExecutionContextImpl.java:467)
at com.whitestein.lsps.engine.lang.ExecutionContextImpl$EvaluationNamespaceImpl.createChildNamespace(ExecutionContextImpl.java:952)
at com.whitestein.lsps.lang.ClosureExpressionHolder.execute(ClosureExpressionHolder.java:75)
at com.whitestein.lsps.lang.ClosureExpressionHolder.execute(ClosureExpressionHolder.java:81)
at com.whitestein.lsps.engine.lang.ClosureHolderImpl.execute(ClosureHolderImpl.java:73)
at com.whitestein.lsps.human.task.form.CollectionItemPlugin.processValue(CollectionItemPlugin.java:569)
at com.whitestein.lsps.human.task.form.CollectionItemPlugin.getProcessedValue(CollectionItemPlugin.java:562)
at com.whitestein.lsps.human.task.form.CollectionItemPlugin.getCollectionHolderValue(CollectionItemPlugin.java:523)
at com.whitestein.lsps.human.task.form.CollectionItemPlugin.processWidgetValue(CollectionItemPlugin.java:483)
at com.whitestein.lsps.human.task.form.BaseEditItemPlugin.processDataInternal(BaseEditItemPlugin.java:333)
at com.whitestein.lsps.human.task.form.CollectionItemPlugin.processData(CollectionItemPlugin.java:395)
at com.whitestein.lsps.human.task.form.AbstractFormItemPlugin.processChildData(AbstractFormItemPlugin.java:282)
at com.whitestein.lsps.human.task.form.GroupItemPlugin.processData(GroupItemPlugin.java:139)
at com.whitestein.lsps.human.task.form.AbstractFormItemPlugin.processChildData(AbstractFormItemPlugin.java:282)
at com.whitestein.lsps.human.task.form.GridItemPlugin.processData(GridItemPlugin.java:167)
at com.whitestein.lsps.human.task.GenericFormTask.processFormItem(GenericFormTask.java:155)
at com.whitestein.lsps.human.task.GenericFormTask.processReply(GenericFormTask.java:127)
at com.whitestein.lsps.human.task.BaseTodoTask.processInput(BaseTodoTask.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:158)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:141)
at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:122)
at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:221)
at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:174)
at org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:217)
at org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:77)
at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:281)
... 109 more

Maros Bajtos
 
Posts: 145
Joined: Mon Feb 27, 2012 2:52 pm

Re: Collection Error

Mon May 06, 2013 1:48 pm

Randy, there is no upper limit nor any other similar restriction. There must be something specific in your model causing this behaviour (it still might be a bug in the engine which is present only under these specific circumstances). Can you please provide us with some minimal model which we could use to reproduce the problem?

Maros Bajtos
 
Posts: 145
Joined: Mon Feb 27, 2012 2:52 pm

Re: Collection Error

Tue May 07, 2013 11:49 am

In LSPS 2.6 (not the case with 2.7+), there is restriction in todo rendering mechanism - new records can not be created in expression / function, because it might lead to inconsistencies. The workaround in your case would be to split the given todo into two different todos. In one todo you would choose order number. After the submission you would load affected units within the process and use the result in the next todo to display actual list.

Return to Process application

Who is online

Users browsing this forum: No registered users and 1 guest