[jboss-jira] [JBoss JIRA] (DROOLS-2731) ArrayIndexOutOfBoundsException when updating the rules at the runtime

ramnik bhatia (JIRA) issues at jboss.org
Fri Aug 10 14:13:00 EDT 2018


    [ https://issues.jboss.org/browse/DROOLS-2731?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13617821#comment-13617821 ] 

ramnik bhatia edited comment on DROOLS-2731 at 8/10/18 2:12 PM:
----------------------------------------------------------------

Hi [~mfusco]

We are trying to get a reproducer but this issue comes up intermittently in our systems.We are on drools 7.6.0 version. We see this crash when our service tries to update rules at runtime under heavy load. After that all requests start to fail 

We have seen very similar logs mentioned in https://issues.jboss.org/browse/DROOLS-1383 in the thread dump on that instances . Could the current issue be a sideeffect of the 1383 Deadlock issue.

This is a very critical requirement for our system. Please let us know how we can help to make further progress on this one.


was (Author: ramnik.bhatia):
Hi [~mfusco]

We are trying to get a reproducer but this issue comes up intermittently in our systems.We are on drools 7.6.0 version. We see this crash when our service tries to update rules at runtime under heavy load. After that all requests start to fail 

We have seen very similar logs mentioned in https://issues.jboss.org/browse/DROOLS-1383 in the thread dump on that instances but this issue is resolved.

This is a very critical requirement for our system. Please let us know how we can help to make further progress on this one.

> ArrayIndexOutOfBoundsException when updating the rules at the runtime
> ---------------------------------------------------------------------
>
>                 Key: DROOLS-2731
>                 URL: https://issues.jboss.org/browse/DROOLS-2731
>             Project: Drools
>          Issue Type: Bug
>          Components: core engine
>    Affects Versions: 7.6.0.Final
>            Reporter: Bhavneet Singh
>            Assignee: Mario Fusco
>            Priority: Blocker
>
> We update rules at runtime. Sometimes the system reaches a state when it starts throwing error -
> java.lang.ArrayIndexOutOfBoundsException: 1
> 	at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:349) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
> 	at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:169) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
> 	at org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:127) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
> 	at org.drools.core.phreak.RuleExecutor.evaluateNetwork(RuleExecutor.java:71) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
> 	at org.drools.core.common.DefaultAgenda.evaluateEagerList(DefaultAgenda.java:887) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
> 	at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1061) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
> 	at org.drools.core.common.DefaultAgenda.internalFireAllRules(DefaultAgenda.java:1014) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
> 	at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1006) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
> 	at org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1318) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
> 	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1309) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
> 	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1293) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
> 	at com.adobe.sophia.executionlayer.RuleEngine.client.RuleEngineSession.fireAllRules(RuleEngineSession.java:111) ~[Rule-Engine-0.5.4.jar:?]
> 	at com.adobe.sophia.executionlayer.RuleEngine.client.Evaluator.evaluate(Evaluator.java:416) ~[Rule-Engine-0.5.4.jar:?]
> 	at com.adobe.sophia.executionlayer.RuleEngine.client.Evaluator$$FastClassBySpringCGLIB$$cfed13fd.invoke(<generated>) ~[Rule-Engine-0.5.4.jar:?]
> 	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.3.4.RELEASE.jar:4.3.4.RELEASE]
> 	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720) ~[spring-aop-4.3.4.RELEASE.jar:4.3.4.RELEASE]
> 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.3.4.RELEASE.jar:4.3.4.RELEASE]
> 	at org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor.invoke(AnnotationAwareRetryOperationsInterceptor.java:156) ~[spring-retry-1.2.2.RELEASE.jar:?]
> 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.4.RELEASE.jar:4.3.4.RELEASE]
> 	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) ~[spring-aop-4.3.4.RELEASE.jar:4.3.4.RELEASE]
> 	at com.adobe.sophia.executionlayer.RuleEngine.client.Evaluator$$EnhancerBySpringCGLIB$$fb776e74.evaluate(<generated>) ~[Rule-Engine-0.5.4.jar:?]
> 	at com.adobe.sophia.executionlayer.psdk.RuleEngineEvaluator.RuleEvaluator.evaluate(RuleEvaluator.java:393) ~[RuleEvaluator.class:?]
> 	at com.adobe.sophia.executionlayer.psdk.RuleEngineEvaluator.CardRuleEvaluator.evaluate(CardRuleEvaluator.java:117) ~[CardRuleEvaluator.class:?]
> 	at com.adobe.sophia.executionlayer.psdk.content.service.ContentServiceImpl.fetchAllCardsUtilSophia(ContentServiceImpl.java:460) [ContentServiceImpl.class:?]
> 	at com.adobe.sophia.executionlayer.psdk.content.service.ContentServiceImpl.fetchContentGeneric(ContentServiceImpl.java:268) [ContentServiceImpl.class:?]
> 	at com.adobe.sophia.executionlayer.psdk.content.service.ContentServiceImpl.fetchContent(ContentServiceImpl.java:219) [ContentServiceImpl.class:?]
> 	at sun.reflect.GeneratedMethodAccessor269.invoke(Unknown Source) ~[?:?]
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51]
> 	at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51]
> 	at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180) [cxf-core-3.1.3.jar:3.1.3]
> 	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96) [cxf-core-3.1.3.jar:3.1.3]
> 	at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:200) [cxf-rt-frontend-jaxrs-3.1.3.jar:3.1.3]
> 	at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:99) [cxf-rt-frontend-jaxrs-3.1.3.jar:3.1.3]
> 	at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59) [cxf-core-3.1.3.jar:3.1.3]
> 	at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96) [cxf-core-3.1.3.jar:3.1.3]
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) [cxf-core-3.1.3.jar:3.1.3]
> 	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) [cxf-core-3.1.3.jar:3.1.3]
> 	at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:251) [cxf-rt-transports-http-3.1.3.jar:3.1.3]
> 	at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234) [cxf-rt-transports-http-3.1.3.jar:3.1.3]
> 	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208) [cxf-rt-transports-http-3.1.3.jar:3.1.3]
> 	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) [cxf-rt-transports-http-3.1.3.jar:3.1.3]
> 	at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171) [cxf-rt-transports-http-3.1.3.jar:3.1.3]
> 	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:293) [cxf-rt-transports-http-3.1.3.jar:3.1.3]
> 	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:212) [cxf-rt-transports-http-3.1.3.jar:3.1.3]
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) [tomcat7-servlet-3.0-api.jar:?]
> 	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:268) [cxf-rt-transports-http-3.1.3.jar:3.1.3]
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) [catalina.jar:7.0.85]
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.85]
> 	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat7-websocket.jar:7.0.85]
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.85]
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.85]
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) [catalina.jar:7.0.85]
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) [catalina.jar:7.0.85]
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498) [catalina.jar:7.0.85]
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) [catalina.jar:7.0.85]
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) [catalina.jar:7.0.85]
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [catalina.jar:7.0.85]
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445) [catalina.jar:7.0.85]
> 	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115) [tomcat-coyote.jar:7.0.85]
> 	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) [tomcat-coyote.jar:7.0.85]
> 	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) [tomcat-coyote.jar:7.0.85]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_51]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_51]
> 	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-coyote.jar:7.0.85]
> 	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51]



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list