[JBoss JIRA] Created: (JBRULES-3074) Null pointer at org.drools.time.impl.JDKTimerService.removeJob(JDKTimerService.java:103)
by Richard Ambridge (JIRA)
Null pointer at org.drools.time.impl.JDKTimerService.removeJob(JDKTimerService.java:103)
-----------------------------------------------------------------------------------------
Key: JBRULES-3074
URL: https://issues.jboss.org/browse/JBRULES-3074
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-core
Affects Versions: 5.1.1.FINAL
Environment: Ubuntu
Reporter: Richard Ambridge
Assignee: Mark Proctor
Priority: Blocker
Attachments: DroolsRuleTest.java, Item.java, rule1.drl
Using drools with time based rules and saliance, the saliance is not used when firing the rules
This only happens when multiple objects update at the same time.
e.g. Rule 1 is
salience 1000
dialect "mvel"
when
$i : Item(val==10)
Item(val==11, this after [0s, 1m] $i)
Rule 2 is
salience 1000
dialect "mvel"
when
$i : Item(val==10)
not( Item(val==11, this after [0s,1m] $i))
Rule3 is
salience 100
when
$i : Item(val==11)
Then we insert 3 items with val==10
Rule2 is activated 3 times...
Then we insert an item with val==11
Note, with a val==10 and val==11 in the memory, Rule 1 will activate, and Rule 3 will activate
However, Rule1 should fire first.. as its saliance is high
For the first item it does, but then the Rule 3 fires before 2nd item does.
Audit log is attached, but summary is
Object inserted (1), Item: val==10
Activation created: Rule 2 (1)
Object inserted (2), Item: val==10
Activation created: Rule 2 (2)
Object inserted (3), Item: val==10
Activation created: Rule 2 (3)
Object inserted (4), Item: val==11
Activation created: Rule 1 (1)
Activation created: Rule 1 (2)
Activation created: Rule 1 (3)
Activation created: Rule 3 (4)
Activation cancelled: Rule 2 (1)
Activation cancelled: Rule 2 (2)
Activation cancelled: Rule 2 (3)
.. here we have 4 activations, 3 for Rule1 (saliance 1000), 1 for Rule3(saliance 100)
Activation executed Rule 1 (1)
Activation executed Rule 3 (4) //WRONG
Activation cancelled: Rule 1 (2)
Activation cancelled: Rule 1 (3)
Activation created: Rule 2 (2)
Activation created: Rule 2 (3)
Note, this works fine in Drools 5.0
In Drools 5.2.0 CR1 a null pointer is thrown (another issue will be logged for that)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 6 months
[JBoss JIRA] Created: (JBRULES-3113) MVEL accepts funny comparison and evaluates without apparent semantics
by Wolfgang Laun (JIRA)
MVEL accepts funny comparison and evaluates without apparent semantics
----------------------------------------------------------------------
Key: JBRULES-3113
URL: https://issues.jboss.org/browse/JBRULES-3113
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-compiler (expert)
Affects Versions: 5.2.0.Final
Reporter: Wolfgang Laun
Assignee: Mark Proctor
Fix For: 5.3.0.Beta1
Without "dialect 'mvel'", the funny expression in eval() is (correctly) refused by the compiler (" The operator == is undefined for the argument type(s) boolean, int"). Using MVEL, the rule compiles and fires, apparently with random values for $int3 and $long4:
test5 1 1 65536 4294967296
test5 1 1 65568 4294967296
test5 1 1 65552 4294967296
test5 1 1 65536 65536
test5 1 1 65568 65536
test5 1 1 65552 65536
test5 1 1 65536 65568
test5 1 1 65536 65552
test5 1 1 65568 65568
test5 1 1 65552 65568
test5 1 1 65568 65552
test5 1 1 65552 65552
=== DRL ===
dialect "mvel"
rule kickOff
when
then
insert( Integer.valueOf( 1 ) );
insert( Long.valueOf( 1 ) );
insert( Integer.valueOf( 65552 ) ); // 0x10010
insert( Long.valueOf( 65552 ) );
insert( Integer.valueOf( 65568 ) ); // 0x10020
insert( Long.valueOf( 65568 ) );
insert( Integer.valueOf( 65536 ) ); // 0x10000
insert( Long.valueOf( 65536L ) );
insert( Long.valueOf( 4294967296L ) ); // 0x100000000L
end
rule test5
salience 100
when
$n1: Integer( $int1: intValue == 1 )
$n2: Long ( $long2: longValue )
$n3: Integer( this != $n1, $int3: intValue )
$n4: Long ( this != $n2, $long4: longValue )
eval( $int1 == $long2 == $int3 == $long4 )
then
System.out.println( "test5 " + $int1 + " "
+ $long2 + " "
+ $int3 + " "
+ $long4 );
end
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 6 months
[JBoss JIRA] Created: (JBRULES-3096) Variable binding in DRL files not working as expected inside from accumulate CE
by Mauricio Salatino (JIRA)
Variable binding in DRL files not working as expected inside from accumulate CE
-------------------------------------------------------------------------------
Key: JBRULES-3096
URL: https://issues.jboss.org/browse/JBRULES-3096
Project: Drools
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Affects Versions: 5.2.0.CR1, 5.3.0.M1
Reporter: Mauricio Salatino
Assignee: Mark Proctor
Fix For: 5.2.0
Attachments: variableBindingInsideAcc.zip
This could be a grammar problem, it was working in 5.1.1 but now in 5.2.0.CR1 and in 5.3.0.SNAP is not working anymore.
I'm attaching a file with the following two rules (the second commented)
rule "test"
when
patient : Patient()
$count: Number() from accumulate (dog: Dog(patientId == patient.id), count(dog))
// this gives a weird problem about not finding the class called patient (lowercase)
then
System.out.println("Dogs: "+ $count);
end
/*rule "test2"
when
$patient : Patient()
$count: Number() from accumulate (dog: Dog(patientId == $patient.id), count(dog))
// this tries to resolve the $patient.id as the dog.id, not sure why
then
System.out.println("Dogs: "+ $count);
end*/
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 6 months
[JBoss JIRA] Created: (JBAS-8824) Cardinality constraints on children are not enforced after parsing
by Brian Stansberry (JIRA)
Cardinality constraints on children are not enforced after parsing
------------------------------------------------------------------
Key: JBAS-8824
URL: https://issues.jboss.org/browse/JBAS-8824
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Domain Management
Affects Versions: 7.0.0.Alpha1
Reporter: Brian Stansberry
Priority: Critical
Fix For: 7.0.0.Beta1
The parsers enforce cardinality constraints on child elements in the model, but they aren't enforced thereafter. So, for example, a second "profile" or "socket-binding-group" could be added to a standalone server via a management operation.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 6 months
[JBoss JIRA] Created: (JGRP-1317) STABLE: compress STABLE messages
by Bela Ban (JIRA)
STABLE: compress STABLE messages
--------------------------------
Key: JGRP-1317
URL: https://issues.jboss.org/browse/JGRP-1317
Project: JGroups
Issue Type: Feature Request
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 2.12.2, 3.1
For large clusters, stable messages are quite large, and should be compressed.
E.g.:
- Don't send the entire view (with all members), but only the ViewId, then the indices of a digest array would point to the rank of a member within the referred-to ViewId
- A digest has 3 longs (low, highest_received and highest_delivered). Do we need all 3 every time ?
- Compress the 3 longs into 1 long and 2 shorts: the latter 2 are offsets from the first seqno
- Use a bit set (consisting of a variable number of ints) to set the 3 variables
- If we have a digest (0), 0, 0: send a special marker
- Canonicalize digests: if everyone has (14) 20, 22, then we could write it once, give it an ID of (say) 1 and then only refer to 1 again if we encounter the same digest. Actually, as a matter of fact, most of the digests would be the same, so this optimization could have a big effect !
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 6 months
[JBoss JIRA] Created: (JGRP-1052) Ergonomics
by Bela Ban (JIRA)
Ergonomics
----------
Key: JGRP-1052
URL: https://jira.jboss.org/jira/browse/JGRP-1052
Project: JGroups
Issue Type: Feature Request
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 3.0
The goal is to (a) reduce the number of properties needed and (b) determine the values dynamically.
Examples:
- Determine the best min/max size of a thread pool
- Find out what the best timeout values are for retransmission, e.g. based on average retransmission times
- Determine the optimal number of credits in FC
This is similar to the JVM setting where, starting with 1.5, the initial values can be set, but over time, the JVM dynamically changes them.
In the best case, a config contains only a list of protocols without any properties, and JGroups will figure out the correct values.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 6 months
[JBoss JIRA] Created: (JBRULES-2438) loading multiple sheets of single Excel book by one change-set xml
by Toshiya Kobayashi (JIRA)
loading multiple sheets of single Excel book by one change-set xml
------------------------------------------------------------------
Key: JBRULES-2438
URL: https://jira.jboss.org/jira/browse/JBRULES-2438
Project: Drools
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: drools-core
Affects Versions: 5.0.1.FINAL
Reporter: Toshiya Kobayashi
Assignee: Mark Proctor
I'm trying to use rules via DecisionTable using change-set.
I wrote rules in multiple sheets of single Excel book.
Then I configured my change-set xml like:
...
<add>
<resource source='classpath:data/dtable.xls' type="DTABLE">
<decisiontable-conf input-type="XLS" worksheet-name="sheet1" />
</resource>
<resource source='classpath:data/dtable.xls' type="DTABLE">
<decisiontable-conf input-type="XLS" worksheet-name="sheet2" />
</resource>
</add>
...
But only rules of sheet1 were loaded.
As far as I observed source codes, KnowledgeAgentImpl.java puts resource into "Map<Resource, ResourceMapping> resources". But even if multiple resources are configured in change-set, it appears to me like those resources are considered as the same resource and eventually only one resource will be registered.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 6 months