[JBoss JIRA] (WFWIP-13) Regression in messaging cluster tests with network failures
by Miroslav Novak (JIRA)
[ https://issues.jboss.org/browse/WFWIP-13?page=com.atlassian.jira.plugin.s... ]
Miroslav Novak resolved WFWIP-13.
---------------------------------
Resolution: Done
Changing status to resolved state as ENTMQBR-1078 is resolved as well.
> Regression in messaging cluster tests with network failures
> -----------------------------------------------------------
>
> Key: WFWIP-13
> URL: https://issues.jboss.org/browse/WFWIP-13
> Project: WildFly WIP
> Issue Type: Bug
> Components: Artemis
> Reporter: Erich Duda
> Assignee: Yong Hao Gao
> Priority: Blocker
> Labels: feature-branch-blocker
>
> *Scenario*
> * There are two Artemis brokers configured to form cluster
> * There is a producer sending messages to broker 1 and receiver receiving messages from broker 2
> * Between the brokers there is a proxy which simulates network failure
> * The proxy is several times stopped and restarted to simulate the network failure
> * The test expects that all messages sent to broker 1 will be received by receiver from broker 2 (despite the network failures)
> *Reality:* After the proxy is stopped and restarted, the cluster is not able to form again. Both brokers try to reconnect to their opposites but with no luck.
> *Customer scenario:* Messaging cluster is not able to recover after network failures.
> *Investigation of issue*
> I investigated why brokers are not able to reconnect and I found out that always when they try to reconnect, they give it up because there is no topology record for {{nodeId}} where they try to connect. So the re-connection attempt ends here \[1\].
> I compared the behavior with Artemis 1.x and I found out that Artemis 2.x removes the topology member when connection failure is detected, but Artemis 1.x doesn't. When I commented the line \[2\] it fixed the issue. This line is not present in 1.x.
> \[1\] https://github.com/apache/activemq-artemis/blob/b66d0f7ac40001cce14ca7146...
> \[2\] https://github.com/apache/activemq-artemis/blob/b66d0f7ac40001cce14ca7146...
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (JBRULES-3634) A null pointer in DRL non-null safe navigation should clearly mention the DRL line for which it occurs
by Tibor Zimányi (JIRA)
[ https://issues.jboss.org/browse/JBRULES-3634?page=com.atlassian.jira.plug... ]
Tibor Zimányi closed JBRULES-3634.
----------------------------------
Resolution: Out of Date
This project is not active anymore. The current active project is "DROOLS". Closing this.
> A null pointer in DRL non-null safe navigation should clearly mention the DRL line for which it occurs
> ------------------------------------------------------------------------------------------------------
>
> Key: JBRULES-3634
> URL: https://issues.jboss.org/browse/JBRULES-3634
> Project: JBRULES
> Issue Type: Enhancement
> Components: drools-compiler (expert)
> Affects Versions: 5.4.0.Final
> Reporter: Geoffrey De Smet
> Assignee: Mario Fusco
>
> In a very big DRL file, there are many references like this:
> {code}
> when
> ...
> Course($c : timeslot.calendarDate)
> ...
> {code}
> Now, one of them did something wrong, which one?
> {code}
> Exception in thread "main" java.lang.RuntimeException: cannot invoke getter: getTimeSlot [declr.class: org.Course; act.class: org.Course] (see trace)
> at org.mvel2.optimizers.impl.refl.nodes.GetterAccessor.getValue(GetterAccessor.java:74)
> at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:108)
> at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
> at org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
> at org.mvel2.MVEL.executeExpression(MVEL.java:954)
> at org.drools.base.extractors.MVELClassFieldReader.getValue(MVELClassFieldReader.java:100)
> at org.drools.base.extractors.BaseObjectClassFieldReader.getHashCode(BaseObjectClassFieldReader.java:204)
> at org.drools.rule.Declaration.getHashCode(Declaration.java:287)
> at org.drools.core.util.AbstractHashTable$DoubleCompositeIndex.hashCodeOf(AbstractHashTable.java:627)
> at org.drools.core.util.index.LeftTupleIndexHashTable.removeAdd(LeftTupleIndexHashTable.java:332)
> at org.drools.reteoo.JoinNode.modifyLeftTuple(JoinNode.java:310)
> at org.drools.reteoo.LeftTupleSource.doModifyLeftTuple(LeftTupleSource.java:304)
> at org.drools.reteoo.LeftTupleSource.modifyLeftTuple(LeftTupleSource.java:278)
> at org.drools.reteoo.JoinNode.modifyLeftTuple(JoinNode.java:437)
> at org.drools.reteoo.CompositeLeftTupleSinkAdapter.doPropagateModifyObject(CompositeLeftTupleSinkAdapter.java:260)
> at org.drools.reteoo.CompositeLeftTupleSinkAdapter.propagateModifyObject(CompositeLeftTupleSinkAdapter.java:275)
> at org.drools.reteoo.LeftInputAdapterNode.modifyObject(LeftInputAdapterNode.java:170)
> at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateModifyObject(CompositeObjectSinkAdapter.java:507)
> at org.drools.reteoo.CompositeObjectSinkAdapter.propagateModifyObject(CompositeObjectSinkAdapter.java:432)
> at org.drools.reteoo.ObjectTypeNode.modifyObject(ObjectTypeNode.java:314)
> at org.drools.reteoo.EntryPointNode.modifyObject(EntryPointNode.java:265)
> at org.drools.common.NamedEntryPoint.update(NamedEntryPoint.java:483)
> at org.drools.common.AbstractWorkingMemory.update(AbstractWorkingMemory.java:976)
> at org.drools.common.AbstractWorkingMemory.update(AbstractWorkingMemory.java:949)
> at org.drools.planner.core.score.director.drools.DroolsScoreDirector.afterVariableChanged(DroolsScoreDirector.java:127)
> at org.UninitializerHack.changeWorkingSolution(UninitializerHack.java:16)
> at org.drools.planner.core.phase.custom.DefaultCustomSolverPhase.solve(DefaultCustomSolverPhase.java:50)
> at org.drools.planner.core.solver.DefaultSolver.runSolverPhases(DefaultSolver.java:190)
> at org.drools.planner.core.solver.DefaultSolver.solve(DefaultSolver.java:155)
> at org.drools.planner.benchmark.core.ProblemBenchmark.warmUp(ProblemBenchmark.java:161)
> at org.drools.planner.benchmark.core.DefaultPlannerBenchmark.warmUp(DefaultPlannerBenchmark.java:225)
> at org.drools.planner.benchmark.core.DefaultPlannerBenchmark.benchmark(DefaultPlannerBenchmark.java:172)
> at org.BenchmarkerMain.main(BenchmarkerMain.java:45)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
> Caused by: java.lang.RuntimeException: unable to invoke method: org.TimeSlot.getCalendarDate: target of method is null
> at org.mvel2.optimizers.impl.refl.nodes.GetterAccessor.getValue(GetterAccessor.java:66)
> at org.mvel2.optimizers.impl.refl.nodes.GetterAccessor.getValue(GetterAccessor.java:40)
> ... 38 more
> Caused by: java.lang.NullPointerException
> at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.mvel2.optimizers.impl.refl.nodes.GetterAccessor.getValue(GetterAccessor.java:43)
> ... 39 more
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (JBRULES-3681) NullPointerException in ConditionAnalyzer
by Tibor Zimányi (JIRA)
[ https://issues.jboss.org/browse/JBRULES-3681?page=com.atlassian.jira.plug... ]
Tibor Zimányi closed JBRULES-3681.
----------------------------------
Resolution: Out of Date
This project is not active anymore. The current active project is "DROOLS". Closing this.
> NullPointerException in ConditionAnalyzer
> -----------------------------------------
>
> Key: JBRULES-3681
> URL: https://issues.jboss.org/browse/JBRULES-3681
> Project: JBRULES
> Issue Type: Bug
> Components: drools-core (expert)
> Affects Versions: 5.4.0.Final, 5.5.0.CR1
> Environment: Windows XP
> Java 1.6.0_24 (build 1.6.0_24-b07), Hotspot Client VM (build 19.1-b02, mixed mode, sharing)
> Reporter: Paul Evans
> Assignee: Mario Fusco
> Fix For: 6.0.0.Alpha1
>
>
> I'm using Drools in a relatively vanilla fashion -- not doing anything fancy; no custom DSLs or whatnot. I have a JUnit test case that invokes a set of rules. When the test case is run individually, it passes just fine. However, when the test case is run within a larger test suite (i.e., with other test cases), the test fails. When running the test suite, I do see an exception being thrown by Drools:
> Exception in thread "Thread-1" java.lang.NullPointerException
> at org.drools.rule.constraint.ConditionAnalyzer.analyzeSingleCondition(ConditionAnalyzer.java:116)
> at org.drools.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:102)
> at org.drools.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:73)
> at org.drools.rule.constraint.MvelConditionEvaluator.getAnalyzedCondition(MvelConditionEvaluator.java:83)
> at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:214)
> at org.drools.rule.constraint.MvelConstraint.access$000(MvelConstraint.java:41)
> at org.drools.rule.constraint.MvelConstraint$1.run(MvelConstraint.java:201)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:662)
> I have experienced this behavior sporadically with other test cases as well. FYI, there is no *shared* data being consumed between test cases. Also, we are using stateless knowledge sessions. Each individual test case will get its own fresh stateless knowledge session instance.
> Is there a way to disable JIT'ing within Drools? (as this seems to be a JIT-related issue). FYI, I experience this issue in the following Drools releases: 5.3.3.Final, 5.4.0.Final and 5.5.0.CR1.
> -Paul
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (JBRULES-3575) Missing dependency from org.drools.api OSGi bundle to org.drools.core
by Tibor Zimányi (JIRA)
[ https://issues.jboss.org/browse/JBRULES-3575?page=com.atlassian.jira.plug... ]
Tibor Zimányi closed JBRULES-3575.
----------------------------------
Resolution: Out of Date
This project is not active anymore. The current active project is "DROOLS". Closing this.
> Missing dependency from org.drools.api OSGi bundle to org.drools.core
> ---------------------------------------------------------------------
>
> Key: JBRULES-3575
> URL: https://issues.jboss.org/browse/JBRULES-3575
> Project: JBRULES
> Issue Type: Bug
> Components: drools-api, drools-core
> Affects Versions: 5.4.0.Final
> Reporter: Tillmann Seidel
> Assignee: Mario Fusco
> Fix For: 6.0.0.Alpha1
>
>
> Class {{org.drools.util.ServiceRegistryImpl}} in bundle {{org.drools.api}} tries to instantiate an instance of class {{org.drools.builder.impl.KnowledgeBuilderFactoryServiceImpl}} (in bundle {{org.drools.core}}).
> In an OSGi environment, the classloading fails since the {{org.drools.api}} bundle does not have a dependency to {{org.drools.core}}.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (JBRULES-3458) Java 7 support in Drools Eclipse plugin
by Tibor Zimányi (JIRA)
[ https://issues.jboss.org/browse/JBRULES-3458?page=com.atlassian.jira.plug... ]
Tibor Zimányi closed JBRULES-3458.
----------------------------------
Resolution: Out of Date
This project is not active anymore. The current active project is "DROOLS". Closing this.
> Java 7 support in Drools Eclipse plugin
> ---------------------------------------
>
> Key: JBRULES-3458
> URL: https://issues.jboss.org/browse/JBRULES-3458
> Project: JBRULES
> Issue Type: Enhancement
> Components: drools-eclipse
> Affects Versions: 5.3.0.Final
> Reporter: Jan Gaspar
> Assignee: Mario Fusco
> Labels: eclipse, jdk7
>
> I created a Drools project in Eclipse (Indigo) configured to use JRE 1.7. But I get an error pointing to my .drl file:
> com/sample/DroolsTest$Message : Unsupported major.minor version 51.0
> The com.sample.DroolsTest.Message class is imported by the .drl file. The Drools runtime was 5.2.1 (also tried with 5.3.0.Final).
> Apparently Drools eclipse plugin expects the fact classes to be compiled with JDK6. Is there any way to make the plugin working with JDK7 compiled classes?
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (JBRULES-3240) Unable to build expression for 'inline-eval' when using Lists of objects
by Tibor Zimányi (JIRA)
[ https://issues.jboss.org/browse/JBRULES-3240?page=com.atlassian.jira.plug... ]
Tibor Zimányi closed JBRULES-3240.
----------------------------------
Resolution: Out of Date
This project is not active anymore. The current active project is "DROOLS". Closing this.
> Unable to build expression for 'inline-eval' when using Lists of objects
> ------------------------------------------------------------------------
>
> Key: JBRULES-3240
> URL: https://issues.jboss.org/browse/JBRULES-3240
> Project: JBRULES
> Issue Type: Bug
> Components: drools-compiler
> Affects Versions: 5.3.0.CR1
> Environment: Ubuntu, JDK 1.6.0.26
> Reporter: Richard Ambridge
> Assignee: Mario Fusco
> Fix For: 6.0.0.Alpha1
>
>
> If a Rule has a .size== in when and the variable is an Object, then we get the following:-
> Unable to build expression for 'inline-eval' : [Error: incompatible types in statement: class java.lang.Integer (compared from: class droolstesting.SubType)]
> Full example:
> Rule:
> package droolstesting
> rule "rule2"
> dialect "mvel"
> when
> $m : MyItem(items!=null || items.size == 0)
> then
> System.out.println("Got 0");
> retract($m)
> end
> MyItems.java:
> package droolstesting;
> import java.util.ArrayList;
> import java.util.List;
> public class MyItem {
> int number=0;
> String string="empty";
> List<SubType> items=new ArrayList<SubType>();
> public List<SubType> getItems() {
> return items;
> }
> public void setItems(List<SubType> items) {
> this.items = items;
> }
> public int getNumber() {
> return number;
> }
> public void setNumber(int number) {
> this.number = number;
> }
> public String getString() {
> return string;
> }
> public void setString(String string) {
> this.string = string;
> }
> }
> SubType.java:
> package droolstesting;
> public class SubType {
> String name="";
>
> }
> Main.java:
> package droolstesting;
> import java.io.File;
> import java.io.IOException;
> import org.drools.compiler.DroolsParserException;
> import org.drools.compiler.PackageBuilder;
> import org.drools.io.ResourceFactory;
> /**
> *
> * @author richarda
> */
> public class Main {
> /**
> * @param args the command line arguments
> */
> public static void main(String[] args) throws IOException, DroolsParserException {
> PackageBuilder pkgBuilder = new PackageBuilder();
> pkgBuilder.addPackageFromDrl(ResourceFactory.newClassPathResource("rule1.drl"));
> if (pkgBuilder.hasErrors()) {
> System.err.println(pkgBuilder.getErrors().toString());
> throw new RuntimeException("Unable to compile rules");
> }
> pkgBuilder.addPackageFromDrl(ResourceFactory.newClassPathResource("rule2.drl"));
> if (pkgBuilder.hasErrors()) {
> System.err.println(pkgBuilder.getErrors().toString());
> throw new RuntimeException("Unable to compile rules");
> }
> }
> }
> Result:
> run:
> Unable to build expression for 'inline-eval' : [Error: incompatible types in statement: class java.lang.Integer (compared from: class droolstesting.SubType)]
> [Near : {... items != null || items.size == 0 ....}]
> ^
> [Line: 6, Column: 14]'items != null || items.size == 0'
> [Error: incompatible types in statement: class java.lang.Integer (compared from: class droolstesting.SubType)]
> [Near : {... items != null || items.size == 0 ....}]
> ^
> [Line: 6, Column: 14] : [Rule name='rule2']
> [Error: incompatible types in statement: class java.lang.Integer (compared from: class droolstesting.SubType)]
> [Near : {... items != null || items.size == 0 ....}]
> ^
> [Line: 1, Column: 18]
> Exception in thread "main" java.lang.RuntimeException: Unable to compile rules
> at droolstesting.Main.main(Main.java:32)
> Java Result: 1
> BUILD SUCCESSFUL (total time: 1 second)
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (JBRULES-3095) MVEL equality is not working as in 5.1.1
by Tibor Zimányi (JIRA)
[ https://issues.jboss.org/browse/JBRULES-3095?page=com.atlassian.jira.plug... ]
Tibor Zimányi closed JBRULES-3095.
----------------------------------
Resolution: Out of Date
This project is not active anymore. The current active project is "DROOLS". Closing this.
> MVEL equality is not working as in 5.1.1
> ----------------------------------------
>
> Key: JBRULES-3095
> URL: https://issues.jboss.org/browse/JBRULES-3095
> Project: JBRULES
> Issue Type: Feature Request
> Affects Versions: 5.2.0.CR1, 5.3.0.Beta1
> Reporter: Mauricio Salatino
> Assignee: Mario Fusco
> Fix For: 6.0.0.Alpha1
>
> Attachments: MvelEquality.zip
>
>
> There is a different behavior caused by what I think is an MVEL regretion in the version that it's being used in 5.3.0.SNAPSHOT.
> Patient( groupName == "ceftazidime susc islt" || groupName == "ceftfsdfsazidime susc islt") // this doesn't work
> and
> Patient( groupName == "ceftazidime susc islt") // This works!!
> The field groupName is an Object that overrides the method equals following the java convention for comparing objects.
> I'm attaching an isolated unit test showing this problem.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (JBRULES-2518) equal sign (=) in string literal in MVEL modify statement causes error
by Tibor Zimányi (JIRA)
[ https://issues.jboss.org/browse/JBRULES-2518?page=com.atlassian.jira.plug... ]
Tibor Zimányi closed JBRULES-2518.
----------------------------------
Resolution: Out of Date
This project is not active anymore. The current active project is "DROOLS". Closing this.
> equal sign (=) in string literal in MVEL modify statement causes error
> ----------------------------------------------------------------------
>
> Key: JBRULES-2518
> URL: https://issues.jboss.org/browse/JBRULES-2518
> Project: JBRULES
> Issue Type: Bug
> Components: drools-core (expert)
> Affects Versions: 5.0.1.FINAL
> Environment: Mac OS X 10.6.3, Java 1.6
> Reporter: Steve Miner
> Assignee: Mario Fusco
> Fix For: 6.0.0.Alpha1
>
>
> rule "mvel equal sign bug"
> dialect "mvel"
> when
> $d: Dog(name == "Bertie")
> then
> modify ($d) {name = "Bertie = Boy"};
> end
> Note the string literal for the new value for name contains an equal sign (=). That causes an error. Apparently, the modify macro or the MVEL parser is choking on the equal sign.
> java.lang.Error: org.drools.rule.InvalidRulePackage: Unable to build expression for 'consequence': [Error: unterminated literal]
> [Near : {... h ($d) {name = "Bertie = Boy"} ....}]
> ^
> [Line: 1, Column: 43] ' modify ($d) {name = "Bertie = Boy"};
> ' : [Rule name='mvel equal sign bug']
> If I remove the "=" from inside the string literal (substituting "is a"), it works as expected.
> rule "mvel equal sign bug"
> dialect "mvel"
> when
> $d: Dog(name == "Bertie")
> then
> modify ($d) {name = "Bertie is a Boy"};
> end
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years