[JBoss JIRA] (DROOLS-731) In a catch22 using a NOT constraint in rules shared by multiple facts
by Mario Fusco (JIRA)
[ https://issues.jboss.org/browse/DROOLS-731?page=com.atlassian.jira.plugin... ]
Mario Fusco resolved DROOLS-731.
--------------------------------
Fix Version/s: 6.3.0.Beta2
Resolution: Done
> In a catch22 using a NOT constraint in rules shared by multiple facts
> ---------------------------------------------------------------------
>
> Key: DROOLS-731
> URL: https://issues.jboss.org/browse/DROOLS-731
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 6.0.1.Final, 6.1.0.Final
> Environment: Custom application that completely wraps Drools Fusion written as an OSGI application hosted on Websphere Liberty profile.
> Reporter: Bill Tuminaro
> Assignee: Mario Fusco
> Fix For: 6.3.0.Beta2
>
> Attachments: DROOLS-731_DroolsTestCases.zip
>
>
> I have a reproducer for these related issues.
> We have encountered a couple of issues (Exceptions) when using a NOT constraint in rules that have facts associated with them when we call upgradeToVersion() or kSession.delete(). The catch22 is that one version of the NOT constraint avoids one Exception while causing another. Reproducing the issue requires 2 rules sharing the same NOT constraint. I have narrowed the issue(s) down to 2 very simple rules that use the org.drools.compiler.FactA class.
> Here are the 2 rules used:
> static final String ruleDrl = "package org.some.test\n" +
> "import org.drools.compiler.FactA\n" +
> "declare FactA\n" +
> "@role(event)" +
> "end\n" +
> "rule \"R200_0\" when\n" +
> " $FactA : FactA ($FactA_field2 : field2 == 111002)\n" +
> " not FactA($FactA_field2 == 111002, this after $FactA)\n" + // version A: using this version causes a NPE when calling ksession.delete()
> // " not FactA(field2 == 111002, this after $FactA)\n" + // Version B: using this version causes the IllegalArgumentException: Cannot remove a sink,
> // when the list of sinks is null on the updateToVersion() call
> "then\n" +
> "end\n";
> static final String ruleDrl2 = "package org.some.test\n" +
> "import org.drools.compiler.FactA\n" +
> "declare FactA\n" +
> "@role(event)" +
> "end\n" +
> "rule \"R1437_0\" when\n" +
> " $FactA : FactA ($FactA_field2 : field2 == 105742)\n" +
> " not FactA($FactA_field2 == 105742, this after $FactA)\n" + // version A:
> // " not FactA(field2 == 105742, this after $FactA)\n" + // Version B:
> "then\n" +
> "end\n";
> We are hitting the following NPE using the reproducer code attached when we use the NOT Constraint labeled as 'Version A' in the rule:
> java.lang.NullPointerExceptionNullPointerException caught: 2
> at org.drools.core.reteoo.NotNode.doDeleteRightTuple(NotNode.java:186)
> at org.drools.core.reteoo.NotNode.retractRightTuple(NotNode.java:174)
> at org.drools.core.reteoo.ObjectTypeNode.doRetractObject(ObjectTypeNode.java:345)
> at org.drools.core.reteoo.ObjectTypeNode.retractObject(ObjectTypeNode.java:337)
> at org.drools.core.reteoo.EntryPointNode.retractObject(EntryPointNode.java:379)
> at org.drools.core.common.NamedEntryPoint.delete(NamedEntryPoint.java:612)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.delete(StatefulKnowledgeSessionImpl.java:1467)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.delete(StatefulKnowledgeSessionImpl.java:1458)
> at org.drools.compiler.integrationTests.RemovingARuleCausesNPE.test(RemovingARuleCausesNPE.java:187)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:611)
> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
> at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
> at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
> at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
> at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> We are hitting the following IllegalArgumentException using the reproducer code attached when we use the NOT Constraint labeled as 'Version B' in the rule:
> java.lang.IllegalArgumentException: Cannot remove a sink, when the list of sinks is null
> at org.drools.core.reteoo.ObjectSource.removeObjectSink(ObjectSource.java:203)
> at org.drools.core.reteoo.ObjectSource.doRemove(ObjectSource.java:242)
> at org.drools.core.common.BaseNode.remove(BaseNode.java:122)
> at org.drools.core.reteoo.ReteooBuilder.removeNode(ReteooBuilder.java:236)
> at org.drools.core.reteoo.ReteooBuilder.removeTerminalNode(ReteooBuilder.java:179)
> at org.drools.core.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java:153)
> at org.drools.core.impl.KnowledgeBaseImpl.removeRule(KnowledgeBaseImpl.java:1535)
> at org.drools.core.impl.KnowledgeBaseImpl.removeObjectsGeneratedFromResource(KnowledgeBaseImpl.java:1768)
> at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.removeObjectsGeneratedFromResource(KnowledgeBuilderImpl.java:2029)
> at org.drools.compiler.kie.builder.impl.KieContainerImpl.update(KieContainerImpl.java:171)
> at org.drools.compiler.kie.builder.impl.KieContainerImpl.updateToVersion(KieContainerImpl.java:104)
> at org.drools.compiler.integrationTests.RemovingARuleCausesNPE.test(RemovingARuleCausesNPE.java:172)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:611)
> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
> at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
> at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
> at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
> at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
8 years, 10 months
[JBoss JIRA] (WFCORE-787) OSHs that remove capabilities cannot access the removed capability to restore runtime services during rollback
by Brian Stansberry (JIRA)
Brian Stansberry created WFCORE-787:
---------------------------------------
Summary: OSHs that remove capabilities cannot access the removed capability to restore runtime services during rollback
Key: WFCORE-787
URL: https://issues.jboss.org/browse/WFCORE-787
Project: WildFly Core
Issue Type: Bug
Components: Domain Management
Affects Versions: 2.0.0.Alpha5
Reporter: Brian Stansberry
Assignee: Brian Stansberry
If an OSH removes a capability in Stage.MODEL, then removes services associated with the capability, and then the operation rolls back, the OSH can't use the capability to figure out how to restore services.
This is a somewhat more difficult problem than what I addressed for actually removing the runtime services in [1]. That solution relied on making it easy for the remove step handler to use the capability it itself removed. But restoring services typically involves the remove handler calling out to utility code, often part of an add handler. Modifying that utility code to let the remove handler provide service names would be painful.
Instead I propose simply discarding the modified management model at the beginning of rollback, with the result that rollback handlers will see the capabilities as they existed before the op began.
See http://lists.jboss.org/pipermail/wildfly-dev/2015-July/004170.html for details.
[1]
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
8 years, 10 months
[JBoss JIRA] (WFLY-4757) ConfigurationPersistenceException when persisting mod_cluster subsystem's "proxies" attribute
by Michal Karm Babacek (JIRA)
[ https://issues.jboss.org/browse/WFLY-4757?page=com.atlassian.jira.plugin.... ]
Michal Karm Babacek closed WFLY-4757.
-------------------------------------
EAP 7 DR5 / WF 10 Alpha5
> ConfigurationPersistenceException when persisting mod_cluster subsystem's "proxies" attribute
> ---------------------------------------------------------------------------------------------
>
> Key: WFLY-4757
> URL: https://issues.jboss.org/browse/WFLY-4757
> Project: WildFly
> Issue Type: Bug
> Components: Clustering
> Affects Versions: 9.0.0.CR1, 10.0.0.Alpha2
> Reporter: Michal Karm Babacek
> Assignee: Radoslav Husar
> Priority: Blocker
> Labels: mod_cluster
> Fix For: 9.0.0.Final, 10.0.0.Alpha4
>
>
> If one takes a vanilla EAP 7 DR build and starts it with {{./standalone.sh -c standalone.ha}}, i.e. with mod_cluster subsystem loaded, but without any static proxies configuration directives, the server registers with mod_cluster load balancers and accepts hot deployments without any error.
> If one sets a static proxy configuration, e.g.:
> {code:xml}
> +++
> <mod-cluster-config advertise-socket="modcluster" connector="ajp" proxies="my-proxy-one">
> +++
> <outbound-socket-binding name="my-proxy-one">
> <remote-destination host="10.40.4.50" port="6666"/>
> </outbound-socket-binding>
> +++
> {code}
> then the server processes hot deployments only as long as it's not registered with any mod_cluster load balancer. As soon as it registers with a load balancer, any hot deployment causes the following exception:
> {noformat}
> 14:39:13,475 INFO [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) WFLYDS0004: Found simplecontext.war in deployment directory. To trigger deployment create a file called simplecontext.war.dodeploy
> 14:39:13,520 INFO [org.jboss.as.server.deployment] (MSC service thread 1-3) WFLYSRV0027: Starting deployment of "simplecontext.war" (runtime-name: "simplecontext.war")
> 14:39:14,028 INFO [org.wildfly.extension.undertow] (MSC service thread 1-2) WFLYUT0021: Registered web context: /simplecontext
> 14:39:14,080 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2) WFLYCTL0008: Failed to persist configuration change: org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0084: Failed to marshal configuration
> at org.jboss.as.controller.persistence.AbstractFilePersistenceResource.<init>(AbstractFilePersistenceResource.java:49)
> at org.jboss.as.controller.persistence.ConfigurationFilePersistenceResource.<init>(ConfigurationFilePersistenceResource.java:45)
> at org.jboss.as.controller.persistence.BackupXmlConfigurationPersister.store(BackupXmlConfigurationPersister.java:109)
> at org.jboss.as.controller.ModelControllerImpl.writeModel(ModelControllerImpl.java:738)
> at org.jboss.as.controller.OperationContextImpl.createPersistenceResource(OperationContextImpl.java:403)
> at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:643)
> at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:354)
> at org.jboss.as.controller.AbstractOperationContext.finishStep(AbstractOperationContext.java:918)
> at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:885)
> at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:601)
> at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:354)
> at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:330)
> at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1170)
> at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:363)
> at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:219)
> at org.jboss.as.controller.ModelControllerImpl$3$1$1.run(ModelControllerImpl.java:716)
> at org.jboss.as.controller.ModelControllerImpl$3$1$1.run(ModelControllerImpl.java:710)
> at java.security.AccessController.doPrivileged(Native Method)
> at org.jboss.as.controller.ModelControllerImpl$3$1.run(ModelControllerImpl.java:710)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> at org.jboss.threads.JBossThread.run(JBossThread.java:320)
> Caused by: org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0089: Failed to write configuration
> at org.jboss.as.controller.persistence.AbstractConfigurationPersister.marshallAsXml(AbstractConfigurationPersister.java:100)
> at org.jboss.as.controller.persistence.AbstractFilePersistenceResource.<init>(AbstractFilePersistenceResource.java:42)
> ... 26 more
> Caused by: java.lang.reflect.UndeclaredThrowableException
> at org.jboss.staxmapper.FormattingXMLStreamWriter$4.run(FormattingXMLStreamWriter.java:249)
> at org.jboss.staxmapper.FormattingXMLStreamWriter.runAttrQueue(FormattingXMLStreamWriter.java:221)
> at org.jboss.staxmapper.FormattingXMLStreamWriter.writeStartElement(FormattingXMLStreamWriter.java:96)
> at org.wildfly.extension.mod_cluster.ModClusterSubsystemXMLWriter.writeDynamicLoadProvider(ModClusterSubsystemXMLWriter.java:104)
> at org.wildfly.extension.mod_cluster.ModClusterSubsystemXMLWriter.writeModClusterConfig(ModClusterSubsystemXMLWriter.java:69)
> at org.wildfly.extension.mod_cluster.ModClusterSubsystemXMLWriter.writeContent(ModClusterSubsystemXMLWriter.java:51)
> at org.wildfly.extension.mod_cluster.ModClusterSubsystemXMLWriter.writeContent(ModClusterSubsystemXMLWriter.java:42)
> at org.jboss.as.server.parsing.StandaloneXml_4.writeServerProfile(StandaloneXml_4.java:695)
> at org.jboss.as.server.parsing.StandaloneXml_4.writeContent(StandaloneXml_4.java:613)
> at org.jboss.as.server.parsing.StandaloneXml.writeContent(StandaloneXml.java:77)
> at org.jboss.as.server.parsing.StandaloneXml.writeContent(StandaloneXml.java:47)
> at org.jboss.staxmapper.XMLMapperImpl.doDeparse(XMLMapperImpl.java:88)
> at org.jboss.staxmapper.XMLMapperImpl.deparseDocument(XMLMapperImpl.java:83)
> at org.jboss.as.controller.persistence.AbstractConfigurationPersister.marshallAsXml(AbstractConfigurationPersister.java:94)
> ... 27 more
> Caused by: javax.xml.stream.XMLStreamException: Trying to write an attribute when there is no open start element.
> at com.ctc.wstx.sw.BaseStreamWriter.throwOutputError(BaseStreamWriter.java:1537)
> at com.ctc.wstx.sw.BaseStreamWriter.reportNwfStructure(BaseStreamWriter.java:1566)
> at com.ctc.wstx.sw.BaseNsStreamWriter.writeAttribute(BaseNsStreamWriter.java:226)
> at org.jboss.staxmapper.FormattingXMLStreamWriter$4.run(FormattingXMLStreamWriter.java:247)
> ... 40 more
> 14:39:14,085 ERROR [org.jboss.as.server] (DeploymentScanner-threads - 2) WFLYSRV0021: Deploy of deployment "simplecontext.war" was rolled back with the following failure message: "WFLYCTL0086: Failed to persist configuration change: WFLYCTL0084: Failed to marshal configuration"
> 14:39:14,095 INFO [org.jboss.modcluster] (MSC service thread 1-3) MODCLUSTER000021: All pending requests drained from default-host:/simplecontext in 0.0 seconds
> 14:39:14,098 INFO [org.wildfly.extension.undertow] (MSC service thread 1-3) WFLYUT0022: Unregistered web context: /simplecontext
> 14:39:14,142 INFO [org.hibernate.validator.internal.util.Version] (MSC service thread 1-8) HV000001: Hibernate Validator 5.1.3.Final
> 14:39:14,177 INFO [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0028: Stopped deployment simplecontext.war (runtime-name: simplecontext.war) in 92ms
> {noformat}
> The problem is IMHO related to the new configuration attribute WFLY-457.
>
> Note that this issue affects *hot deployments only*. If the server starts with deployments already present, no exception is thrown and everything works as expected. I find this issue being of {color:red}critical{color} severity, because it breaks core functionality of the application server -- hot deployments.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
8 years, 10 months
[JBoss JIRA] (WFLY-4757) ConfigurationPersistenceException when persisting mod_cluster subsystem's "proxies" attribute
by Michal Karm Babacek (JIRA)
[ https://issues.jboss.org/browse/WFLY-4757?page=com.atlassian.jira.plugin.... ]
Michal Karm Babacek commented on WFLY-4757:
-------------------------------------------
THX
> ConfigurationPersistenceException when persisting mod_cluster subsystem's "proxies" attribute
> ---------------------------------------------------------------------------------------------
>
> Key: WFLY-4757
> URL: https://issues.jboss.org/browse/WFLY-4757
> Project: WildFly
> Issue Type: Bug
> Components: Clustering
> Affects Versions: 9.0.0.CR1, 10.0.0.Alpha2
> Reporter: Michal Karm Babacek
> Assignee: Radoslav Husar
> Priority: Blocker
> Labels: mod_cluster
> Fix For: 9.0.0.Final, 10.0.0.Alpha4
>
>
> If one takes a vanilla EAP 7 DR build and starts it with {{./standalone.sh -c standalone.ha}}, i.e. with mod_cluster subsystem loaded, but without any static proxies configuration directives, the server registers with mod_cluster load balancers and accepts hot deployments without any error.
> If one sets a static proxy configuration, e.g.:
> {code:xml}
> +++
> <mod-cluster-config advertise-socket="modcluster" connector="ajp" proxies="my-proxy-one">
> +++
> <outbound-socket-binding name="my-proxy-one">
> <remote-destination host="10.40.4.50" port="6666"/>
> </outbound-socket-binding>
> +++
> {code}
> then the server processes hot deployments only as long as it's not registered with any mod_cluster load balancer. As soon as it registers with a load balancer, any hot deployment causes the following exception:
> {noformat}
> 14:39:13,475 INFO [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) WFLYDS0004: Found simplecontext.war in deployment directory. To trigger deployment create a file called simplecontext.war.dodeploy
> 14:39:13,520 INFO [org.jboss.as.server.deployment] (MSC service thread 1-3) WFLYSRV0027: Starting deployment of "simplecontext.war" (runtime-name: "simplecontext.war")
> 14:39:14,028 INFO [org.wildfly.extension.undertow] (MSC service thread 1-2) WFLYUT0021: Registered web context: /simplecontext
> 14:39:14,080 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2) WFLYCTL0008: Failed to persist configuration change: org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0084: Failed to marshal configuration
> at org.jboss.as.controller.persistence.AbstractFilePersistenceResource.<init>(AbstractFilePersistenceResource.java:49)
> at org.jboss.as.controller.persistence.ConfigurationFilePersistenceResource.<init>(ConfigurationFilePersistenceResource.java:45)
> at org.jboss.as.controller.persistence.BackupXmlConfigurationPersister.store(BackupXmlConfigurationPersister.java:109)
> at org.jboss.as.controller.ModelControllerImpl.writeModel(ModelControllerImpl.java:738)
> at org.jboss.as.controller.OperationContextImpl.createPersistenceResource(OperationContextImpl.java:403)
> at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:643)
> at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:354)
> at org.jboss.as.controller.AbstractOperationContext.finishStep(AbstractOperationContext.java:918)
> at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:885)
> at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:601)
> at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:354)
> at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:330)
> at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1170)
> at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:363)
> at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:219)
> at org.jboss.as.controller.ModelControllerImpl$3$1$1.run(ModelControllerImpl.java:716)
> at org.jboss.as.controller.ModelControllerImpl$3$1$1.run(ModelControllerImpl.java:710)
> at java.security.AccessController.doPrivileged(Native Method)
> at org.jboss.as.controller.ModelControllerImpl$3$1.run(ModelControllerImpl.java:710)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> at org.jboss.threads.JBossThread.run(JBossThread.java:320)
> Caused by: org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0089: Failed to write configuration
> at org.jboss.as.controller.persistence.AbstractConfigurationPersister.marshallAsXml(AbstractConfigurationPersister.java:100)
> at org.jboss.as.controller.persistence.AbstractFilePersistenceResource.<init>(AbstractFilePersistenceResource.java:42)
> ... 26 more
> Caused by: java.lang.reflect.UndeclaredThrowableException
> at org.jboss.staxmapper.FormattingXMLStreamWriter$4.run(FormattingXMLStreamWriter.java:249)
> at org.jboss.staxmapper.FormattingXMLStreamWriter.runAttrQueue(FormattingXMLStreamWriter.java:221)
> at org.jboss.staxmapper.FormattingXMLStreamWriter.writeStartElement(FormattingXMLStreamWriter.java:96)
> at org.wildfly.extension.mod_cluster.ModClusterSubsystemXMLWriter.writeDynamicLoadProvider(ModClusterSubsystemXMLWriter.java:104)
> at org.wildfly.extension.mod_cluster.ModClusterSubsystemXMLWriter.writeModClusterConfig(ModClusterSubsystemXMLWriter.java:69)
> at org.wildfly.extension.mod_cluster.ModClusterSubsystemXMLWriter.writeContent(ModClusterSubsystemXMLWriter.java:51)
> at org.wildfly.extension.mod_cluster.ModClusterSubsystemXMLWriter.writeContent(ModClusterSubsystemXMLWriter.java:42)
> at org.jboss.as.server.parsing.StandaloneXml_4.writeServerProfile(StandaloneXml_4.java:695)
> at org.jboss.as.server.parsing.StandaloneXml_4.writeContent(StandaloneXml_4.java:613)
> at org.jboss.as.server.parsing.StandaloneXml.writeContent(StandaloneXml.java:77)
> at org.jboss.as.server.parsing.StandaloneXml.writeContent(StandaloneXml.java:47)
> at org.jboss.staxmapper.XMLMapperImpl.doDeparse(XMLMapperImpl.java:88)
> at org.jboss.staxmapper.XMLMapperImpl.deparseDocument(XMLMapperImpl.java:83)
> at org.jboss.as.controller.persistence.AbstractConfigurationPersister.marshallAsXml(AbstractConfigurationPersister.java:94)
> ... 27 more
> Caused by: javax.xml.stream.XMLStreamException: Trying to write an attribute when there is no open start element.
> at com.ctc.wstx.sw.BaseStreamWriter.throwOutputError(BaseStreamWriter.java:1537)
> at com.ctc.wstx.sw.BaseStreamWriter.reportNwfStructure(BaseStreamWriter.java:1566)
> at com.ctc.wstx.sw.BaseNsStreamWriter.writeAttribute(BaseNsStreamWriter.java:226)
> at org.jboss.staxmapper.FormattingXMLStreamWriter$4.run(FormattingXMLStreamWriter.java:247)
> ... 40 more
> 14:39:14,085 ERROR [org.jboss.as.server] (DeploymentScanner-threads - 2) WFLYSRV0021: Deploy of deployment "simplecontext.war" was rolled back with the following failure message: "WFLYCTL0086: Failed to persist configuration change: WFLYCTL0084: Failed to marshal configuration"
> 14:39:14,095 INFO [org.jboss.modcluster] (MSC service thread 1-3) MODCLUSTER000021: All pending requests drained from default-host:/simplecontext in 0.0 seconds
> 14:39:14,098 INFO [org.wildfly.extension.undertow] (MSC service thread 1-3) WFLYUT0022: Unregistered web context: /simplecontext
> 14:39:14,142 INFO [org.hibernate.validator.internal.util.Version] (MSC service thread 1-8) HV000001: Hibernate Validator 5.1.3.Final
> 14:39:14,177 INFO [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0028: Stopped deployment simplecontext.war (runtime-name: simplecontext.war) in 92ms
> {noformat}
> The problem is IMHO related to the new configuration attribute WFLY-457.
>
> Note that this issue affects *hot deployments only*. If the server starts with deployments already present, no exception is thrown and everything works as expected. I find this issue being of {color:red}critical{color} severity, because it breaks core functionality of the application server -- hot deployments.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
8 years, 10 months
[JBoss JIRA] (DROOLS-383) switch over String in function
by Petr Široký (JIRA)
[ https://issues.jboss.org/browse/DROOLS-383?page=com.atlassian.jira.plugin... ]
Petr Široký resolved DROOLS-383.
--------------------------------
Assignee: Petr Široký (was: Mark Proctor)
Fix Version/s: 6.3.0.Beta2
Resolution: Done
> switch over String in function
> ------------------------------
>
> Key: DROOLS-383
> URL: https://issues.jboss.org/browse/DROOLS-383
> Project: Drools
> Issue Type: Bug
> Affects Versions: 6.0.0.Final
> Reporter: Matteo Mortari
> Assignee: Petr Široký
> Fix For: 6.3.0.Beta2
>
> Attachments: 20131219.drools6scratch-switchoverstring.zip
>
>
> *Executive Summary*: if I try to implement switch over String as per Java 1.7, inside of DRL function, compilation of DRL fails, but the error message would suggest that actually switch over String should work.
> *Steps to reproduce*
> Have a DRL file with function with String parameter and inside the function a switch over the parameter, for example
> {code:title=acme.drl|borderStyle=solid}
> rule "Stupid rule over String"
> when
> String()
> then
> System.out.println("Hello world");
> end
> function void theTest(String input) {
> switch(input) {
> case "Hello World" :
> System.out.println("yep");
> break;
> default :
> System.out.println("uh");
> break;
> }
> }
> {code}
> Have simple code to compile DRL for default KieBase, for example snippet:
> {code:title=App.java|borderStyle=solid}
> String input = "Hello World";
> // Java 1.7
> switch(input) {
> case "Hello World" :
> System.out.println("yep");
> break;
> default :
> System.out.println("uh");
> break;
> }
> System.out.println( "Hello World!" );
> KieServices ks = KieServices.Factory.get();
> KieContainer kContainer = ks.getKieClasspathContainer();
> KieBase kieBase = kContainer.getKieBase();
> for ( KiePackage kp : kieBase.getKiePackages() ) {
> for (Rule rule : kp.getRules()) {
> System.out.println("kp" + kp + " rule " + rule.getName());
> }
> }
> {code}
> Console would log DRL compile fails with error:
> {noformat}
> Exception in thread "main" java.lang.RuntimeException: Error while creating KieBase[Message [id=1, level=ERROR, path=acme.drl, line=-1, column=0
> text=Error importing : 'defaultpkg.TheTest.theTest'], Message [id=2, level=ERROR, path=acme.drl, line=8, column=0
> text=[ function theTesttheTest (line:8): Cannot switch on a value of type String. Only convertible int values, strings or enum constants are permitted
> ]], Message [id=3, level=ERROR, path=acme.drl, line=1, column=0
> text=Rule Compilation error The import defaultpkg.TheTest cannot be resolved]]
> {noformat}
> Please notice the 'strings' bit in the error message : {{Cannot switch on a value of type String. Only convertible int values, *strings* or enum constants are permitted}}
> Therefore would suggest it would compile a switch over String, but for some reason it is failing to recognize that input parameter is indeed a String?
> Thank you
> Ciao
> MM
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
8 years, 10 months
[JBoss JIRA] (WFLY-4854) Exclude org.jboss.logmanager:jboss-logmanager from wildfly-client-all (jboss-client.jar)
by Stuart Douglas (JIRA)
[ https://issues.jboss.org/browse/WFLY-4854?page=com.atlassian.jira.plugin.... ]
Stuart Douglas reassigned WFLY-4854:
------------------------------------
Assignee: Jeff Mesnil (was: Stuart Douglas)
> Exclude org.jboss.logmanager:jboss-logmanager from wildfly-client-all (jboss-client.jar)
> ----------------------------------------------------------------------------------------
>
> Key: WFLY-4854
> URL: https://issues.jboss.org/browse/WFLY-4854
> Project: WildFly
> Issue Type: Bug
> Components: Application Client
> Reporter: Martin Simka
> Assignee: Jeff Mesnil
>
> Exclude org.jboss.logmanager:jboss-logmanager from wildfly-client-all (jboss-client.jar)
> its presence causes TCK failures with error:
> {noformat}
> IllegalStateException: The LogManager was not properly installed (you must set the "java.util.logging.manager" system property to "org.jboss.logmanager.LogManager")
> {noformat}
> as LogManager is loaded twice, from jboss-client.jar and from module. It was brought in together with ActiveMQ Artemis messaging.
> {noformat}
> [INFO] --- maven-dependency-plugin:2.9:tree (default-cli) @ wildfly-client-all ---
> [INFO] org.wildfly:wildfly-client-all:jar:10.0.0.Alpha5-SNAPSHOT
> [INFO] +- org.wildfly:wildfly-ejb-client-bom:pom:10.0.0.Alpha5-SNAPSHOT:compile
> [INFO] | +- org.jboss:jboss-ejb-client:jar:2.1.1.Final:compile
> [INFO] | +- org.jboss:jboss-remote-naming:jar:2.0.4.Final:compile
> [INFO] | +- org.jboss.logging:jboss-logging:jar:3.2.1.Final:compile
> [INFO] | +- org.jboss.marshalling:jboss-marshalling:jar:1.4.10.Final:compile
> [INFO] | +- org.jboss.marshalling:jboss-marshalling-river:jar:1.4.10.Final:compile
> [INFO] | +- org.jboss.remoting:jboss-remoting:jar:4.0.9.Final:compile
> [INFO] | +- org.jboss.sasl:jboss-sasl:jar:1.0.5.Final:compile
> [INFO] | +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.0.0.Final:compile
> [INFO] | +- org.jboss.spec.javax.ejb:jboss-ejb-api_3.2_spec:jar:1.0.0.Final:compile
> [INFO] | +- org.jboss.xnio:xnio-api:jar:3.3.1.Final:compile
> [INFO] | \- org.jboss.xnio:xnio-nio:jar:3.3.1.Final:compile
> [INFO] +- org.wildfly:wildfly-jms-client-bom:pom:10.0.0.Alpha5-SNAPSHOT:compile
> [INFO] | +- org.apache.activemq:artemis-commons:jar:1.0.0:compile
> [INFO] | | +- org.jboss.logmanager:jboss-logmanager:jar:2.0.0.Final:compile
> [INFO] | | \- commons-beanutils:commons-beanutils:jar:1.9.2:compile
> [INFO] | | \- commons-collections:commons-collections:jar:3.2.1:compile
> [INFO] | +- org.apache.activemq:artemis-core-client:jar:1.0.0:compile
> [INFO] | | +- org.jgroups:jgroups:jar:3.6.4.Final:compile
> [INFO] | | +- org.apache.activemq:artemis-selector:jar:1.0.0:compile
> [INFO] | | \- org.apache.activemq:artemis-journal:jar:1.0.0:compile
> [INFO] | | \- org.apache.activemq:artemis-native:jar:1.0.0:compile
> [INFO] | +- org.apache.activemq:artemis-jms-client:jar:1.0.0:compile
> [INFO] | | +- org.apache.geronimo.specs:geronimo-jms_2.0_spec:jar:1.0-alpha-1:compile
> [INFO] | | \- javax.inject:javax.inject:jar:1:compile
> [INFO] | +- org.hornetq:hornetq-commons:jar:2.4.7.Final:compile
> [INFO] | +- org.hornetq:hornetq-core-client:jar:2.4.7.Final:compile
> [INFO] | | \- org.hornetq:hornetq-journal:jar:2.4.7.Final:compile
> [INFO] | | \- org.hornetq:hornetq-native:jar:2.4.7.Final:compile
> [INFO] | +- org.hornetq:hornetq-jms-client:jar:2.4.7.Final:compile
> [INFO] | +- io.netty:netty-all:jar:4.0.26.Final:compile
> [INFO] | +- org.jboss.spec.javax.jms:jboss-jms-api_2.0_spec:jar:1.0.0.Final:compile
> [INFO] | \- org.slf4j:jcl-over-slf4j:jar:1.7.7.jbossorg-1:compile
> [INFO] | \- org.slf4j:slf4j-api:jar:1.7.7.jbossorg-1:compile
> [INFO] +- org.jboss.remotingjmx:remoting-jmx:jar:2.0.1.Final:compile
> [INFO] \- org.wildfly.checkstyle:wildfly-checkstyle-config:jar:1.0.3.Final:compile
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
8 years, 10 months
[JBoss JIRA] (DROOLS-831) KIE Execution Server is not able to find the Maven repository
by Roger Martínez (JIRA)
[ https://issues.jboss.org/browse/DROOLS-831?page=com.atlassian.jira.plugin... ]
Roger Martínez updated DROOLS-831:
----------------------------------
Steps to Reproduce:
1.- Run drools-workbench-showcase & kie-server-showcase containers with default configuration
2.- Build&Deploy mortgages project on the Drools WB
3.- Register the kie-server on the Drools WB
3.1- MenuDeploy -> run deployments -> Register
- endpoint: http://<container_ip>:8080/kie-server/services/rest/server
- user/pass: kie-server/kie-server
3.2.- Create a container on kie-server
Click on "+" on the right side of the server registered
Add a mortgages container (any name and search for mortgages artifact)
4.- Select the container just created and run it.
The exception is thrown on the kie-server side
> KIE Execution Server is not able to find the Maven repository
> -------------------------------------------------------------
>
> Key: DROOLS-831
> URL: https://issues.jboss.org/browse/DROOLS-831
> Project: Drools
> Issue Type: Bug
> Components: docker images
> Affects Versions: 6.2.0.Final
> Environment: ALL
> Reporter: Roger Martínez
> Assignee: Roger Martínez
>
> In a non-Docker installation of the KIE execution server, the user must configure the Maven settings file to specify where the Maven repository for the artifacts is located.
> As Docker images are immutable, this configuration must be specified at runtime using environment variables when the container starts.
> This feature is not implemented on latest image tag and it's mandatory for being able to use the external Maven repository.
> This bug is reported from community feedback:
> "I'm trying out the docker images for the workbench-showcase and the execution-showcase. Fresh install. I'm using -p 8080:8080 for the wb and 8081:8080 for the exec. WB runs fine and I can build and deploy the mortgage project. Exec runs fine and I can access using REST. I can register the exec server fine. Mortgage container creates fine. Starting the container produces this error on the exec docker:
> 987 ERROR [org.kie.server.services.rest.KieServerRestImpl] (default task-5) Error creating container 'Test1' for module 'mortgages:mortgages:0.0.1': java.lang.RuntimeException: Cannot find KieModule: mortgages:mortgages:0.0.1
> Should this work out of the box?"
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
8 years, 10 months