I tested your rules with 5.6.0-SNAPSHOT and 6.1.0-SNAPSHOT
Both seem to work fine
Thanks
Davide
On 10/24/2013 02:49 AM, krkry wrote:
> Hi ,
>
> I have stripped down my use case to basic level where it throws the
> exception.
>
> One observation I made is the addition of
> * $offers : Offers() *
Hi ,
I have stripped down my use case to basic level where it throws the
exception.
One observation I made is the addition of
* $offers : Offers() *
to rules is causing the exception.
If I omit this statement in the rules there is no issue.
Run the RulesTest.java as java application.
drool
Can you reproduce it in a unit test?
https://issues.jboss.org/browse/DROOLS-215
This is a very serious isse, but any attempt to reproduce it so far have
failed
Thanks
Davide
On 10/22/2013 06:22 AM, krkry wrote:
> Hi,
>
> I am facing similar issue when I am trying to execute on updated rule .
>
Hi,
I am facing similar issue when I am trying to execute on updated rule .
Below is the exception I am getting .
java.lang.ClassCastException: org.drools.reteoo.FromNode$FromMemory cannot
be cast to org.drools.reteoo.RightInputAdapterNode$RIAMemory
Drools version 5.5.0.Final.
Is there any upda
mohdejaz74 [at] gmail [dot] com
--
View this message in context:
http://drools.46999.n3.nabble.com/threw-error-java-lang-ClassCastException-org-drools-reteoo-FromNode-FromMemory-cannot-be-cast-to-orgy-tp4023497p4023872.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
_
I think we should take this offline now and get back here when we have
some result
which could be useful for the community.
My email is dsotty [at] gmail [dot] com, same for my dropbox account
Davide
On 05/16/2013 12:24 PM, mohdejaz74 wrote:
> Dropbox
>
>
>
> --
> View this message in context:
>
Dropbox
--
View this message in context:
http://drools.46999.n3.nabble.com/threw-error-java-lang-ClassCastException-org-drools-reteoo-FromNode-FromMemory-cannot-be-cast-to-orgy-tp4023497p4023867.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
__
Sure :), I meant any environment where you can reproduce the exception.
How could I send the jar to you? dropbox?
Thanks!
On 05/16/2013 12:01 PM, mohdejaz74 wrote:
> I cannot say if I can deploy it in production or certification.
>
> However, I can certainly try in one of our development environme
I shall ask my manager if I can deploy, the diagnostic version of drools you
give, in certification environment
--
View this message in context:
http://drools.46999.n3.nabble.com/threw-error-java-lang-ClassCastException-org-drools-reteoo-FromNode-FromMemory-cannot-be-cast-to-orgy-tp4023497p4023
I cannot say if I can deploy it in production or certification.
However, I can certainly try in one of our development environments and try
to reproduce the error.
--
View this message in context:
http://drools.46999.n3.nabble.com/threw-error-java-lang-ClassCastException-org-drools-reteoo-Fr
Ah.. more pieces for the puzzle...
Now, if I gave you a modified drools 5.6.0-SNAPSHOT with some diagnostic
code in there,
would you be able to deploy it in your production environment?
If there is indeed a bug, your help would be really appreciated by the
community
Thanks
Davide
On 05/16/2013 04:
> IF this is something you can do, I would suggest to try this: do not use
> your
> workaround, but make sure you DISPOSE any existing session(s) before
> updating the KB (do not create a new one!) and only then create a new
> SESSION to process your next facts.
This is what I was doing all t
I get session only when I need to execute rules and I dispose them off after
rules are executed.
So before executing rules, I get session, insert facts, call fireAllRules()
and then dispose session in finally block.
And while adding/updating rule (ie. working on new KB), there are no
sessions at
Heh... this is definitely a workaround.. and not exactly an efficient one :)
You are essentially recreating your runtime environment from scratch...
a question now:
after you "make new KB the default KB", what happens to your session(s)?
Do you create a new one or do you keep using the previously
Apologize for being late to provide update ...
Basically I did a small workaround and it has worked fine so far.
So whenever a rule is added/updated, I perform following steps -
1. Create new KB
2. Add rule to this KB and check for errors
3. If no errors, then
Copy over the knowledge pac
No, modify is altering the working memory, but not the knowledge base.
Guessing is not going to take us anywhere... we need to debug the engine
and, in particular,
the org.drools.common.ConcurrentNodeMemories class.
Would you be able to download the source code from github and compile
it, to build
I have "modify" clauses in the rules - would that be the reason ?
However, this happens only once ... immediately after KB is initialized
Maintenance actions are not triggered by rules ... add/update/delete is
outside the rules
Ejaz
--
View this message in context:
http://drools.46999.n3.nab
Ok, more pieces in the puzzle :). I still do not understand why you are
getting lock/unlock on insertions.
In 5.5.1-SNAPSHOT and 5.6.0-SNAPSHOT, those events are fired only when a
WRITE lock is acquired
to modify the RETE. Insertions and fireAllRules use READ locks that do
not generate that kind of
knowledge-api-5.5.0.Final.jar
knowledge-internal-api-5.5.0.Final.jar
drools-compiler-5.5.1-SNAPSHOT.jar
drools-core-5.5.1-SNAPSHOT.jar
4 times kb unlock/unlock is due to 4 objects inserted into session. After
5th insert it crashes. 5 objects are always inserted into session before
fireAllRules is
Interesting... and great question! are you working with 5.5.0.Final,
5.5.1-SNAPSHOT / 5.6.0-SNAPSHOT or another version?
The KB lock/unlock event is, afaik, only fired when a thread acquires a
WRITE lock on a KB (e.g. to add or remove rules), while an insertion should
only acquire a READ lock, an e
I don't expect locking after this ...
13/05/08
20:07:11|hz._hzInstance_1_dev.cached.thread-1|KnowledgeBaseAgentImpl|INFO|ruleAddUpd
Leave itemAdded --
But if you notice KB is continuously locked and unlocked in the same thread
where I get session and fire all rules any idea why?
Ejaz
--
2013.05.08 20:06:53.115 [INFO ] RulesLoaderImpl Deleting message ...
...
13/05/08
20:06:53|hz._hzInstance_1_dev.cached.thread-1|DroolsKBListener|INFO|beforeKnowledgeBaseLocked
Inside beforeKnowledgeBaseLocked --
13/05/08
20:06:53|hz._hzInstance_1_dev.cached.thread-1|DroolsKBListener|INFO|afterKnowl
Even when you get the exception?
In other words, do you only have a single thread manipulating the
Knowledgebase
in your production environment?
I would implement Before/AfterKnowledgeBaseUnlocked and
Before/AfterKnowledgePackageAdded
to be 100% sure.
If the race condition can be excluded, I'll foc
This is the order
- beforeKnowledgeBaseLocked
- afterKnowledgeBaseLocked
- beforeRuleAdded or beforeRuleRemoved
- afterRuleAdded or afterRuleRemoved
It is same thread which does all four operations
--
View this message in context:
http://drools.46999.n3.nabble.com/threw-error-java-lang-ClassC
Ok, so there are two main possibilities.. either the locking mechanism
does not work appropriately
and there is a concurrency issue, or the particular rule structure
exposes an edge case in node
comparison and reuse.
The former is more probable, but should be relatively easy to see. I
need your he
I use KB methods directly
For adding/updating a rule, I create a temporary instance of
KnowledgeBuilder and add the rule to check if there are any errors.
If there are no errors, I first remove (if rule needs to be updated) the
previous rule by calling this ...
kb.removeRule(ro.pkg, ro.name);
T
Ok, this is starting to become helpful :)
So two questions, just to be sure:
1) Do you modify the KnowledgeBase using the KnowledgeAgent? or do you
use the KB methods directly?
2) Whenever you "update" the KB, what do you do exactly? do you remove
the previous version of the rule,
or do you just
I've noticed that ... trying to find that out.
just fyi - these are auto generated rules using velocity templating engine,
when i copy same rule and run in eclipse I don't get any exceptions.
--
View this message in context:
http://drools.46999.n3.nabble.com/threw-error-java-lang-ClassCastExce
On 08/05/2013, mohdejaz74 wrote:
> --
> Snapshot#1
> -
> when
> ...
> a : ...
> exists( Foo(...) from a.b.c )
> foo : Foo(...) from a.b.c // same as above
> then
What is the rationale of using exists( Foo(...) from a.b.c ) preceding
foo : Foo(...) from a.
--
Snapshot#1
-
when
...
a : ...
exists( Foo(...) from a.b.c )
foo : Foo(...) from a.b.c // same as above
then
--
Snapshot#2
--
when
...
a : ...
bar : Boo( x == 'some value') from a.d.e
foo : Foo(..
Thanks Davide!
I will talk to my manager and see what I can provide.
Ejaz
--
View this message in context:
http://drools.46999.n3.nabble.com/threw-error-java-lang-ClassCastException-org-drools-reteoo-FromNode-FromMemory-cannot-be-cast-to-orgy-tp4023497p4023723.html
Sent from the Drools: User
Ejaz, without seeing the "original" rule and the
"updated-so-that-it-will-not-fire" version of the same,
there is little we can do.
Are you by chance replacing something like
Pattern( field == $previouslyBoundVariable )
with ?
Pattern( field == $previouslyBoundVariable ) from $nowhere
Problem is
Only happens when you do the above operations quickly ...
I took the rule and ran it in eclipse - works fine
--
View this message in context:
http://drools.46999.n3.nabble.com/threw-error-java-lang-ClassCastException-org-drools-reteoo-FromNode-FromMemory-cannot-be-cast-to-orgy-tp4023497p40237
And it is same rule which is updated always
--
View this message in context:
http://drools.46999.n3.nabble.com/threw-error-java-lang-ClassCastException-org-drools-reteoo-FromNode-FromMemory-cannot-be-cast-to-orgy-tp4023497p4023714.html
Sent from the Drools: User forum mailing list archive at Na
We'd need to see the rule or, even better, a minimal unit test that isolates
and reproduces the bug.
The sequence you describe works in general...
is it a single rule that causes you trouble?
--
View this message in context:
http://drools.46999.n3.nabble.com/threw-error-java-lang-ClassCastExcep
Getting same exception back.
This is sequence of actions -
1) rule created
2) fired it
3) updated so it won't fire
4) triggered other rules
5) updated again so it will fire
6) tried to fire - broken
Ejaz
--
View this message in context:
http://drools.46999.n3.nabble.com/threw-error-java-la
Drools should lock a KB **internally** when rules are added or removed..
So either there's a bug in the rebuilding process - which should be possible
to isolate even in a single threaded environment, by finding the "right"
sequence of modifications - or there's a lock issue in Drools, which allows
There was indeed a leak in locking.
I have three operations - add, del, exec rules. add and delete were atomic
but exec was not. Before getting reference to KB in exec rules, I made sure
add/del were not accessing KB ... but I need lock KB even when rules are
executing and release the lock when ru
That would be really appreciated. Could you also try and detect whether
the additions/removals are always atomic - i.e. no two of them are started
concurrently?
There may be a leak in the lock...
Thanks!
Davide
On 04/26/2013 06:28 PM, mohdejaz74 wrote:
> Yes. I'm running drools inside tomcat; but I
Yes. I'm running drools inside tomcat; but I have only instance of KB
I can find the order of add/remove till the point when I get exception
--
View this message in context:
http://drools.46999.n3.nabble.com/threw-error-java-lang-ClassCastException-org-drools-reteoo-FromNode-FromMemory-canno
Do you retract/add rules in a multi-threaded context?
Without a reproducible test case it's going to be very hard..
at least we'd need to know the order of addition/removal
up to the point that the exception fires
On 04/26/2013 06:17 PM, mohdejaz74 wrote:
> This problem is hard to reproduce ... it
This problem is hard to reproduce ... it never happens on my desktop.
It happens only once early in the morning when automated tests kick in.
It doesn't happen again when same tests run again later in day
Do you want me to debug the drools source by adding breakpoints ?
Regards
Ejaz
--
View
KB updates are supported in theory, so we should try to find what happens :)
The first thing to ensure is that node memories are cleaned whenever a
node is removed.
Can you work with the source code, or at least run it in debug mode with
some breakpoints?
On 04/26/2013 06:02 PM, mohdejaz74 wrote:
Sorry, I meant that's not very helpful to explain to business.
--
View this message in context:
http://drools.46999.n3.nabble.com/threw-error-java-lang-ClassCastException-org-drools-reteoo-FromNode-FromMemory-cannot-be-cast-to-orgy-tp4023497p4023569.html
Sent from the Drools: User forum mailing
Sure I will provide the stack traces ...
My immediate concern is how to avoid the corruption - I've synchronized all
updates to KB using synchronized(lock) ... where lock is final Object().
In this particular instance the number of rules are very less - maybe just
20+
I've noticed that when I d
Ok, so it's quite likely that something bad happens during one of those
addKnowledgePackages. Would you be able to help us debug it?
We'd need to trace the last addition/removal before the exception was
generated.
Another way to look at this, would be to catch and debug the exception to
see which R
In my case, I dynamically add/remove/exec rules at run-time. KnowledgeBase
instance is constantly updated.
When a rule needs to be added or removed, I do it in temporary
KnowledgeBuilder instance. If there are no errors, I update main
KnowledgeBase instance using "addKnowledgePackages". I did'nt g
The exceptions you reported may be due to a serious RETE corruption...
in the first case, it seems that a JoinNode is trying to access a FromNode's
memory...
in the latter, a constraint's context can not be retrieved correctly.
The solution you propose avoids the exception, but is only removing th
For the previous java.lang.ArrayIndexOutOfBoundsException, would the
following code change fix them correctly? would there be any other impact ?
org.drools.common.SingleBetaConstraints
/* (non-Javadoc)
* @see
org.drools.common.BetaNodeConstraints#updateFromTuple(org.drools.reteoo.ReteTup
threw error java.lang.ArrayIndexOutOfBoundsException: 0
at
org.drools.common.SingleBetaConstraints.updateFromTuple(SingleBetaConstraints.java:106)
at org.drools.reteoo.ExistsNode.assertLeftTuple(ExistsNode.java:113)
at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.doPropag
threw error java.lang.ClassCastException:
org.drools.reteoo.FromNode$FromMemory cannot be cast to
org.drools.reteoo.BetaMemory
at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:58)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:1
As soon as there are no more pending bugs :)
Right now there's two with solutions pending acceptance,
two unconfirmed under evaluation and the one you just reported.
I'd need 5.6 myself, so I'm hoping that next week will be the one
Davide
On 04/24/2013 03:06 PM, mohdejaz74 wrote:
> When would you
When would you be able to release 5.6 ?
--
View this message in context:
http://drools.46999.n3.nabble.com/threw-error-java-lang-ClassCastException-org-drools-reteoo-FromNode-FromMemory-cannot-be-cast-to-orgy-tp4023497p4023508.html
Sent from the Drools: User forum mailing list archive at Nabble
Thanks!
Even the full stack trace of the exception would help, to begin with.
I think I see the issue and it should not be too hard to fix, but this
should definitely make it into 5.6
On 04/24/2013 01:16 PM, mohdejaz74 wrote:
> I'm still trying to reproduce it ... will post the steps-to-reproduce
I'm still trying to reproduce it ... will post the steps-to-reproduce soon.
--
View this message in context:
http://drools.46999.n3.nabble.com/threw-error-java-lang-ClassCastException-org-drools-reteoo-FromNode-FromMemory-cannot-be-cast-to-orgy-tp4023497p4023506.html
Sent from the Drools: User
Oh.. so this may be an extremely critical bug
Could you provide some more detail on how to reproduce this issue?
Ideally, even submit a unit test..
Thanks!
Davide
On 04/24/2013 12:07 PM, mohdejaz74 wrote:
> I'm sorry ... I'm using 5.5.1-SNAPSHOT build.
>
> I'm using following jars ...
>
> 1. drools
I'm sorry ... I'm using 5.5.1-SNAPSHOT build.
I'm using following jars ...
1. drools-core-5.5.1-SNAPSHOT.jar
2. drools-compiler-5.5.1-SNAPSHOT.jar
3. knowledge-api-5.5.0.Final.jar
4. knowledge-internal-api-5.5.0.Final.jar
do I need to change anything?
--
View this message in context:
http:
Can you include 5.5.1-SNAPSHOT as your dependency?
The team is trying to release 5.6, but a new beta release of 6.x has the
priority,
so I suspect we'll have to wait for next week
On 04/24/2013 08:31 AM, mohdejaz74 wrote:
> I'm running drools expert in two separate webapps.
>
> I was thinking of r
I'm running drools expert in two separate webapps.
I was thinking of running them in two separate tomcats.
What should I do to fix this problem?
Do I need to download newer version? I'm using 5.4 / 5.5 version of drools
expert.
Regards
Ejaz
--
View this message in context:
http://drools.469
It's very likely to be a well known bug.
It has already been fixed in master, there will be a new release soon.
Could you provide more details, so that we can be sure?
Thanks
Davide
On 04/24/2013 08:04 AM, mohdejaz74 wrote:
> Hello,
>
> I'd appreciate if I can advice on fixing the following except
Hello,
I'd appreciate if I can advice on fixing the following exception -
threw error java.lang.ClassCastException:
org.drools.reteoo.FromNode$FromMemory cannot be cast to
org.drools.reteoo.BetaMemory
Regards
Ejaz
--
View this message in context:
http://drools.46999.n3.nabble.com/threw-error
61 matches
Mail list logo