[JBoss JIRA] (DROOLS-4169) Can't compile large .drl files with security manager turned on in tomcat
by Mario Fusco (Jira)
[ https://issues.redhat.com/browse/DROOLS-4169?page=com.atlassian.jira.plug... ]
Mario Fusco updated DROOLS-4169:
--------------------------------
Sprint: 2019 Week 50-52 (from Dec 9)
> Can't compile large .drl files with security manager turned on in tomcat
> ------------------------------------------------------------------------
>
> Key: DROOLS-4169
> URL: https://issues.redhat.com/browse/DROOLS-4169
> Project: Drools
> Issue Type: Bug
> Affects Versions: 7.22.0.Final
> Environment: Java 11
> Tomcat 9
> Ubuntu 18.10/Amazon Linux AMI
> Reporter: Anthony Bruno
> Assignee: Mario Fusco
> Priority: Major
>
> Reproduction repository: https://github.com/AussieGuy0/drools-bug
> *Summary*
> When large rule (.drl) files are complied **with** the security manager turned
> on in a servlet container (e.g. Tomcat), it causes `AccessControlExceptions`, which causes `NoClassDefFoundErrors`.
> *Steps*
> Prereqs: Program is run in servlet context (e.g .war file in tomcat)
> 1. Turn on security manager
> 2. Provide policy files through the properties `java.security.policy` and `kie.security.policy`
> 3. Compile a `.drl` file that has more than `parallelRulesBuildThreshold` (default: 10) rules
> *Expected Result*
> Rules are compiled successfully
> *Actual Result*
> No class def error
> *Cause*
> In `KnowledgeBuilderImpl`, a `ForkJoinPool` is created and used for parallel building.
> A `ForkJoinPool` with no `ForkJoinWorkerThreadFactory` specified, it will use a default factory
> that provides it's own permissions. These permissions are not sufficient for compiling
> drl files in a servlet context.
> *Potential Fix*
> A potential fix is to allow the user to provide their own `ForkJoinWorkerThreadFactory` as a
> configuration option for drools.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 5 months
[JBoss JIRA] (DROOLS-4300) Karaf KIE features contains special maven keywords RELEASE
by Mario Fusco (Jira)
[ https://issues.redhat.com/browse/DROOLS-4300?page=com.atlassian.jira.plug... ]
Mario Fusco resolved DROOLS-4300.
---------------------------------
Resolution: Out of Date
> Karaf KIE features contains special maven keywords RELEASE
> ----------------------------------------------------------
>
> Key: DROOLS-4300
> URL: https://issues.redhat.com/browse/DROOLS-4300
> Project: Drools
> Issue Type: Bug
> Components: integration
> Affects Versions: 7.11.0.Final
> Environment: JBoss Fuse 7.3 on Centos 7 (inside Docker 18.09.7), openjdk version "1.8.0_212"
> Reporter: Daniel Brownell
> Assignee: Mario Fusco
> Priority: Major
>
> In order to install KIE in Fuse,
> one needs to run:
> features:install kie
> This requires adding a URL first:
> features:addurl mvn:org.kie/kie-karaf-features/7.11.0.Final/xml/features
> This however adds:
> mvn:org.apache.camel.karaf/apache-camel/RELEASE/xml/features
> and
> mvn:org.apache.cxf.karaf/apache-cxf/3.2.7.fuse-sb2-740011/xml/features
> to my feature:repo-list
> These are Red Hat Fuse 7.4 features, because the maven special word, RELEASE, grabs the latest versions available. I'm using Fuse 7.3 though, and it crashes a bunch of our applications, and spews errors.
> For example, it automatically tries to update all of the installed features to use the latest, and then gets into a loop of
> "Error resolving artifact org.apache.cxf.xjc-utils:cxf-xjc-runtime:jar:3.2.4.fuse-740013" for whatever reason.
> How does one work around this? What is a safe way to use KIE in Fuse?
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 5 months
[JBoss JIRA] (DROOLS-4444) First time firing rules causes NullPointerExecption
by Mario Fusco (Jira)
[ https://issues.redhat.com/browse/DROOLS-4444?page=com.atlassian.jira.plug... ]
Mario Fusco resolved DROOLS-4444.
---------------------------------
Resolution: Cannot Reproduce
I cannot reproduce this issue. Please provide a complete reproducer and when you'll do so feel free to reopen this issue.
> First time firing rules causes NullPointerExecption
> ---------------------------------------------------
>
> Key: DROOLS-4444
> URL: https://issues.redhat.com/browse/DROOLS-4444
> Project: Drools
> Issue Type: Bug
> Affects Versions: 7.6.0.Final
> Reporter: Jason Smith
> Assignee: Mario Fusco
> Priority: Blocker
>
> I am seeing an issue where the first time the rules are fired, causing a NullPointerException. This exception also only appears to be triggered the first time the rules are fired. Subsequent requests do not appear to cause the same exception.
> Any help as to what might be causing this issue would be much appreciated!
> Below is the stack trace:
> java.lang.NullPointerException
> at org.drools.core.rule.constraint.MvelConstraint$ExecutorHolder.<clinit>(MvelConstraint.java:327)
> [wrapped] java.lang.ExceptionInInitializerError
> at org.drools.core.rule.constraint.MvelConstraint.jitEvaluator(MvelConstraint.java:301)
> at org.drools.core.rule.constraint.MvelConstraint.evaluate(MvelConstraint.java:268)
> at org.drools.core.rule.constraint.MvelConstraint.isAllowed(MvelConstraint.java:222)
> at org.drools.core.reteoo.AlphaNode.assertObject(AlphaNode.java:139)
> at org.drools.core.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:70)
> at org.drools.core.reteoo.ObjectTypeNode.propagateAssert(ObjectTypeNode.java:320)
> at org.drools.core.phreak.PropagationEntry$Insert.propagate(PropagationEntry.java:161)
> at org.drools.core.phreak.PropagationEntry$Insert.execute(PropagationEntry.java:166)
> at org.drools.core.phreak.SynchronizedPropagationList.flush(SynchronizedPropagationList.java:96)
> at org.drools.core.phreak.SynchronizedPropagationList.flush(SynchronizedPropagationList.java:91)
> at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1051)
> at org.drools.core.common.DefaultAgenda.internalFireAllRules(DefaultAgenda.java:1014)
> at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1006)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1318)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1309)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1293)
> at com.elasticpath.service.rules.impl.AbstractRuleEngineImpl.firePromotionRulesForGroup(AbstractRuleEngineImpl.java:158)
> at com.elasticpath.service.rules.impl.AbstractRuleEngineImpl.fireOrderPromotionSubtotalRules(AbstractRuleEngineImpl.java:122)
> at com.elasticpath.service.shoppingcart.impl.PricingSnapshotServiceImpl.fireRules(PricingSnapshotServiceImpl.java:107)
> at com.elasticpath.service.shoppingcart.impl.PricingSnapshotServiceImpl.getPricingSnapshotForCart(PricingSnapshotServiceImpl.java:67)
> 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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
> at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
> at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
> at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
> at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
> at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
> at com.sun.proxy.$Proxy435.getPricingSnapshotForCart(Unknown Source)
> at com.elasticpath.rest.resource.integration.epcommerce.repository.cartorder.impl.PricingSnapshotRepositoryImpl.lambda$getShoppingCartPricingSnapshotSingle$0(PricingSnapshotRepositoryImpl.java:70)
> at io.reactivex.internal.operators.observable.ObservableFromCallable.subscribeActual(ObservableFromCallable.java:42)
> at io.reactivex.Observable.subscribe(Observable.java:10842)
> at io.reactivex.internal.operators.observable.ObservableOnErrorNext.subscribeActual(ObservableOnErrorNext.java:38)
> at io.reactivex.Observable.subscribe(Observable.java:10842)
> at io.reactivex.internal.operators.observable.ObservableOnErrorNext.subscribeActual(ObservableOnErrorNext.java:38)
> at io.reactivex.Observable.subscribe(Observable.java:10842)
> at io.reactivex.internal.operators.observable.ObservableSingleMaybe.subscribeActual(ObservableSingleMaybe.java:30)
> at io.reactivex.Maybe.subscribe(Maybe.java:3725)
> at io.reactivex.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
> at io.reactivex.Single.subscribe(Single.java:2703)
> at io.reactivex.internal.operators.single.SingleCache.subscribeActual(SingleCache.java:65)
> at io.reactivex.Single.subscribe(Single.java:2703)
> at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:33)
> at io.reactivex.Single.subscribe(Single.java:2703)
> at io.reactivex.internal.operators.single.SingleFlatMap$SingleFlatMapCallback.onSuccess(SingleFlatMap.java:84)
> at io.reactivex.internal.operators.single.SingleCache.onSuccess(SingleCache.java:134)
> at io.reactivex.internal.operators.single.SingleFlatMap$SingleFlatMapCallback$FlatMapSingleObserver.onSuccess(SingleFlatMap.java:111)
> at io.reactivex.internal.operators.single.SingleCache.onSuccess(SingleCache.java:134)
> at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:63)
> at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:63)
> at io.reactivex.internal.operators.single.SingleCache.subscribeActual(SingleCache.java:59)
> at io.reactivex.Single.subscribe(Single.java:2703)
> at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:33)
> at io.reactivex.Single.subscribe(Single.java:2703)
> at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:33)
> at io.reactivex.Single.subscribe(Single.java:2703)
> at io.reactivex.internal.operators.single.SingleCache.subscribeActual(SingleCache.java:65)
> at io.reactivex.Single.subscribe(Single.java:2703)
> at io.reactivex.internal.operators.single.SingleFlatMap$SingleFlatMapCallback.onSuccess(SingleFlatMap.java:84)
> at io.reactivex.internal.operators.single.SingleJust.subscribeActual(SingleJust.java:30)
> at io.reactivex.Single.subscribe(Single.java:2703)
> at io.reactivex.internal.operators.single.SingleDefer.subscribeActual(SingleDefer.java:43)
> at io.reactivex.Single.subscribe(Single.java:2703)
> at io.reactivex.internal.operators.single.SingleFlatMap.subscribeActual(SingleFlatMap.java:36)
> at io.reactivex.Single.subscribe(Single.java:2703)
> at io.reactivex.internal.operators.single.SingleCache.subscribeActual(SingleCache.java:65)
> at io.reactivex.Single.subscribe(Single.java:2703)
> at io.reactivex.internal.operators.single.SingleFlatMap.subscribeActual(SingleFlatMap.java:36)
> at io.reactivex.Single.subscribe(Single.java:2703)
> at io.reactivex.internal.operators.single.SingleToObservable.subscribeActual(SingleToObservable.java:34)
> at io.reactivex.Observable.subscribe(Observable.java:10842)
> at io.reactivex.internal.operators.observable.ObservableFlatMap.subscribeActual(ObservableFlatMap.java:55)
> at io.reactivex.Observable.subscribe(Observable.java:10842)
> at io.reactivex.internal.operators.observable.ObservableMap.subscribeActual(ObservableMap.java:33)
> at io.reactivex.Observable.subscribe(Observable.java:10842)
> at io.reactivex.internal.operators.observable.BlockingObservableIterable.iterator(BlockingObservableIterable.java:39)
> at com.google.common.collect.Iterables.addAll(Iterables.java:320)
> at com.google.common.collect.Sets.newLinkedHashSet(Sets.java:366)
> at com.elasticpath.rest.schema.ResourceState$Builder.withLinks(ResourceState.java:192)
> at com.elasticpath.rest.helix.client.transformer.prototype.list.ReadOperationTransformer.transform(ReadOperationTransformer.java:72)
> at com.elasticpath.rest.helix.client.transformer.prototype.list.ReadOperationTransformer.transform(ReadOperationTransformer.java:31)
> at com.elasticpath.rest.helix.client.registry.impl.HandlerProxyImpl.invoke(HandlerProxyImpl.java:76)
> at com.elasticpath.rest.helix.client.server.BootstrapResourceServerImpl.invokeProxy(BootstrapResourceServerImpl.java:99)
> at java.util.Optional.map(Optional.java:215)
> at com.elasticpath.rest.helix.client.server.BootstrapResourceServerImpl.processOperation(BootstrapResourceServerImpl.java:93)
> at com.elasticpath.rest.helix.runtime.registry.PrototypeContext.execute(PrototypeContext.java:72)
> at com.elasticpath.rest.helix.runtime.server.execution.SingleExecutionStrategy.execute(SingleExecutionStrategy.java:29)
> at com.elasticpath.rest.helix.runtime.server.execution.ExecutionStrategyExecutor.executeStrategy(ExecutionStrategyExecutor.java:84)
> at com.elasticpath.rest.helix.runtime.server.execution.ExecutionStrategyExecutor.lambda$executePrototype$0(ExecutionStrategyExecutor.java:59)
> at java.util.Optional.map(Optional.java:215)
> at com.elasticpath.rest.helix.runtime.server.execution.ExecutionStrategyExecutor.executePrototype(ExecutionStrategyExecutor.java:58)
> at com.elasticpath.rest.helix.runtime.server.PrototypeDispatcherResourceServer.processOperation(PrototypeDispatcherResourceServer.java:89)
> at com.elasticpath.rest.relos.kernel.processor.impl.TerminusOperationProcessor.processOperation(TerminusOperationProcessor.java:38)
> at com.elasticpath.rest.relos.kernel.processor.impl.AuthorizingOperationProcessor.processOperation(AuthorizingOperationProcessor.java:40)
> at com.elasticpath.rest.relos.kernel.processor.impl.CachingOperationProcessor.lambda$processOperation$0(CachingOperationProcessor.java:30)
> at com.elasticpath.rest.relos.kernel.cache.impl.OperationResultCacheImpl.get(OperationResultCacheImpl.java:107)
> at com.elasticpath.rest.relos.kernel.processor.impl.CachingOperationProcessor.processOperation(CachingOperationProcessor.java:30)
> at com.elasticpath.rest.relos.kernel.impl.ResourceKernelImpl.submitOperation(ResourceKernelImpl.java:72)
> at com.elasticpath.rest.relos.kernel.impl.ResourceKernelImpl.submitOperation(ResourceKernelImpl.java:60)
> at com.elasticpath.rest.relos.kernel.impl.ReadOperationExecutor.submitOperation(ReadOperationExecutor.java:74)
> at com.elasticpath.rest.relos.kernel.impl.ResourceServerKernelDelegate.submitOperation(ResourceServerKernelDelegate.java:68)
> at com.elasticpath.rest.relos.kernel.impl.ExternalResourceKernelDelegateImpl.submitOperation(ExternalResourceKernelDelegateImpl.java:76)
> at com.elasticpath.rest.relos.kernel.impl.ExternalResourceKernelDelegateImpl.submitExternalOperation(ExternalResourceKernelDelegateImpl.java:63)
> at com.elasticpath.rest.relos.kernel.delegate.KernelBridgeImpl.continueOperation(KernelBridgeImpl.java:78)
> at com.elasticpath.rest.relos.rs.SubjectSupplyingKernelBridge.continueOperation(SubjectSupplyingKernelBridge.java:59)
> at com.elasticpath.rest.relos.rs.handler.parameter.zoom.impl.FetchZoomTask.fetchOperationResultFromKernel(FetchZoomTask.java:213)
> at com.elasticpath.rest.relos.rs.handler.parameter.zoom.impl.FetchZoomTask.fetchResourceFromKernel(FetchZoomTask.java:180)
> at com.elasticpath.rest.relos.rs.handler.parameter.zoom.impl.FetchZoomTask.fetchResourceState(FetchZoomTask.java:116)
> at com.elasticpath.rest.relos.rs.handler.parameter.zoom.impl.FetchZoomTask.call(FetchZoomTask.java:82)
> at com.elasticpath.rest.relos.rs.handler.parameter.zoom.impl.FetchZoomTask.call(FetchZoomTask.java:31)
> at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
> at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:57)
> at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
> at java.util.concurrent.FutureTask.run(FutureTask.java)
> at com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:258)
> at java.util.concurrent.ExecutorCompletionService.submit(ExecutorCompletionService.java:181)
> at com.elasticpath.rest.relos.rs.handler.parameter.zoom.impl.FetchZoomTaskContext.submitTask(FetchZoomTaskContext.java:112)
> at com.elasticpath.rest.relos.rs.handler.parameter.zoom.impl.FetchZoomTask.lambda$handleZoomChildren$0(FetchZoomTask.java:156)
> at java.util.HashMap.forEach(HashMap.java:1289)
> at java.util.Collections$UnmodifiableMap.forEach(Collections.java:1505)
> at com.elasticpath.rest.relos.rs.handler.parameter.zoom.impl.FetchZoomTask.handleZoomChildren(FetchZoomTask.java:145)
> at com.elasticpath.rest.relos.rs.handler.parameter.zoom.impl.FetchZoomTask.processResourceState(FetchZoomTask.java:136)
> at com.elasticpath.rest.relos.rs.handler.parameter.zoom.impl.FetchTopTask.call(FetchTopTask.java:49)
> at com.elasticpath.rest.relos.rs.handler.parameter.zoom.impl.FetchTopTask.call(FetchTopTask.java:13)
> at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
> at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:57)
> at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
> at java.util.concurrent.FutureTask.run(FutureTask.java)
> at com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:258)
> at java.util.concurrent.ExecutorCompletionService.submit(ExecutorCompletionService.java:181)
> at com.elasticpath.rest.relos.rs.handler.parameter.zoom.impl.FetchZoomTaskContext.submitTask(FetchZoomTaskContext.java:112)
> at com.elasticpath.rest.relos.rs.handler.parameter.zoom.impl.ZoomHandlerImpl.fetchAllZoomedResources(ZoomHandlerImpl.java:172)
> at com.elasticpath.rest.relos.rs.handler.parameter.zoom.impl.ZoomHandlerImpl.processZoom(ZoomHandlerImpl.java:142)
> at com.elasticpath.rest.relos.rs.handler.parameter.zoom.impl.ZoomHandlerImpl.handleZoom(ZoomHandlerImpl.java:106)
> at com.elasticpath.rest.relos.rs.impl.RestResourceImpl.processGetRequest(RestResourceImpl.java:135)
> at sun.reflect.GeneratedMethodAccessor250.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:76)
> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:148)
> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:191)
> at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:200)
> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:103)
> at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:493)
> at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:415)
> at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:104)
> at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:277)
> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:272)
> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:268)
> at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
> at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
> at org.glassfish.jersey.internal.Errors.process(Errors.java:268)
> at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:289)
> at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:256)
> at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:703)
> at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:416)
> at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:370)
> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:389)
> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:342)
> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:229)
> at org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:339)
> at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:300)
> at org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:93)
> at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:50)
> at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
> at com.elasticpath.extensions.uuid.filter.UuidFilter.doFilter(UuidFilter.java:50)
> at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108)
> at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80)
> at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46)
> at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
> at com.elasticpath.rest.relos.rs.subject.header.filter.HeaderToSubjectLifecycleFilter.doFilter(HeaderToSubjectLifecycleFilter.java:62)
> at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108)
> at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80)
> at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46)
> at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
> at com.elasticpath.rest.relos.rs.authentication.springoauth2.filter.OAuth2TokenAuthenticationFilter.doFilter(OAuth2TokenAuthenticationFilter.java:81)
> at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108)
> at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80)
> at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46)
> at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
> at com.elasticpath.extensions.rest.resource.integration.epcommerce.repository.oauthac.verification.filter.OAuth2TokenVerificationFilter.doFilter(OAuth2TokenVerificationFilter.java:91)
> at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108)
> at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80)
> at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46)
> at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
> at com.elasticpath.rest.relos.rs.authentication.web.filter.HeadersRemoverFilter.doFilter(HeadersRemoverFilter.java:107)
> at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108)
> at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80)
> at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46)
> at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
> at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:84)
> at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46)
> at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
> at com.elasticpath.rest.relos.rs.filter.CharsetEncodingFilter.doFilter(CharsetEncodingFilter.java:43)
> at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108)
> at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80)
> at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46)
> at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
> at com.elasticpath.rest.relos.rs.filter.SystemReadyFilter.doFilter(SystemReadyFilter.java:42)
> at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108)
> at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80)
> at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46)
> at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
> at com.elasticpath.rest.relos.rs.filter.ExceptionTranslatingFilter.doFilter(ExceptionTranslatingFilter.java:45)
> at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108)
> at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80)
> at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46)
> at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
> at org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:76)
> at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:49)
> at org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> at org.apache.felix.http.proxy.ProxyServlet.service(ProxyServlet.java:60)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
> at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
> at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> at java.lang.Thread.run(Thread.java:748)
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 5 months
[JBoss JIRA] (DROOLS-4431) DMN REST endpoint requires stateful kie session
by Mario Fusco (Jira)
[ https://issues.redhat.com/browse/DROOLS-4431?page=com.atlassian.jira.plug... ]
Mario Fusco reassigned DROOLS-4431:
-----------------------------------
Assignee: Matteo Mortari (was: Mario Fusco)
> DMN REST endpoint requires stateful kie session
> -----------------------------------------------
>
> Key: DROOLS-4431
> URL: https://issues.redhat.com/browse/DROOLS-4431
> Project: Drools
> Issue Type: Bug
> Environment: Noticed this is RHDM 7.3. Still exists in 7.4. Don't know which versions of Drools that coincides with.
> Reporter: Justin Jarae
> Assignee: Matteo Mortari
> Priority: Major
> Labels: field
> Attachments: DMN-Test.zip
>
>
> When trying to run DMN via the rest endpoint, if the default KIE session is stateless, an error is returned stating that "Cannot find a default KieSession". If the stateful session is specified as default, the DMN execution works as expected. This forces you to specify stateless for all other requests.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 5 months
[JBoss JIRA] (DROOLS-4555) Importing DMN model causes NullPointerException
by Mario Fusco (Jira)
[ https://issues.redhat.com/browse/DROOLS-4555?page=com.atlassian.jira.plug... ]
Mario Fusco reassigned DROOLS-4555:
-----------------------------------
Assignee: Matteo Mortari (was: Mario Fusco)
> Importing DMN model causes NullPointerException
> -----------------------------------------------
>
> Key: DROOLS-4555
> URL: https://issues.redhat.com/browse/DROOLS-4555
> Project: Drools
> Issue Type: Bug
> Reporter: Jonas Tamimi
> Assignee: Matteo Mortari
> Priority: Major
>
> Hi,
> this is my first issue, so I hope I did everything right. We have been using version 7.21.0.Final of Drools for the last few months. A few weeks ago we switched to the latest version and could not import a few of our decision models (.dmn) anymore. According to our own research the bug seems to be present since 7.22.0.t042 and is still present in the latest snapshot.
> This is the relevant logging output: [https://gist.github.com/oas/ec0f70585411d8c3f0266b7d2fd02ebc|https://gist...]
> I tried to narrow down the exception and it seems to be in the method {{checkVariableName}} of {{org.kie.dmn.feel.parser.feel11.FEELParser}}. {{errorChecker.hasErrors()}} is false, but it is not catched by the if statement in line 111. Because of this, {{errorChecker.getErrors()}} returns null instead of a {{List<FEELEvent>}}.
> The method {{checkVariableName}} in {{org.kie.dmn.core.compiler.DMNCompilerHelper}}, assumes that a list will be returned and calls {{isEmpty()}}. This throws the {{NullPointerException}}.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 5 months
[JBoss JIRA] (DROOLS-4624) Accumulate doesn't get modified and parsed to double String correctly
by Mario Fusco (Jira)
[ https://issues.redhat.com/browse/DROOLS-4624?page=com.atlassian.jira.plug... ]
Mario Fusco resolved DROOLS-4624.
---------------------------------
Resolution: Explained
My understanding is that in your case the 'amount' field is of type String, so yes, it is necessary to convert it to a proper numeric value before being able to sum it up. Is this not what you expected? If I'm not understanding correctly please feel free to reopen this jira and attach a complete reproducer.
> Accumulate doesn't get modified and parsed to double String correctly
> ---------------------------------------------------------------------
>
> Key: DROOLS-4624
> URL: https://issues.redhat.com/browse/DROOLS-4624
> Project: Drools
> Issue Type: Bug
> Environment: 7.27.0.Final
> Reporter: Almas Toimbekov
> Assignee: Mario Fusco
> Priority: Optional
> Labels: accumulate, modify
>
> I have to sum one field on all objects of "Resource" class. And I found out that accumulate's behavior is odd when before accumulating I am modifying that field.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 5 months
[JBoss JIRA] (DROOLS-4662) Resources added through KieHelper get interpreted using the default character set
by Mario Fusco (Jira)
[ https://issues.redhat.com/browse/DROOLS-4662?page=com.atlassian.jira.plug... ]
Mario Fusco updated DROOLS-4662:
--------------------------------
Sprint: 2019 Week 50-52 (from Dec 9)
> Resources added through KieHelper get interpreted using the default character set
> ---------------------------------------------------------------------------------
>
> Key: DROOLS-4662
> URL: https://issues.redhat.com/browse/DROOLS-4662
> Project: Drools
> Issue Type: Bug
> Affects Versions: 7.10.0.Final, 7.20.0.Final, 7.28.0.Final
> Environment: Windows. Can be reproduced on other OSes using "-Dfile.encoding=latin1".
> Reporter: Max Zerzouri
> Assignee: Mario Fusco
> Priority: Major
> Attachments: Test.java
>
>
> When a resource is added using {{KieHelper.addResource}}, any specified encoding is ignored when it is added to the {{MemoryFileSystem}} by {{KieFileSystemImpl.write(Resource)}} (effectively assuming the {{InputStream}} is already encoded in UTF-8).
> Additionally, when the resource is read again by {{AbstractKieModule.getResource}}, it constructs a {{Resource}} object with no encoding specified, whereas it should probably specify an encoding of UTF-8, since it seems that sources are considered to be UTF-8 already at least in the case of the {{MemoryKieModule}}.
> I've attached a fairly minimal test case where the rules bytes are passed in UTF-8 with the encoding explicitly specified. This currently produces an error when the default file encoding is not UTF-8 (eg, by passing {{-Dfile.encoding=latin1}} as a JVM argument, or by using the default arguments on Windows).
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 5 months