My experience switching a small project from 5.5.0.Final to 5.6.0.CR1 a few days ago, was
that the only thing I had to do was change the Drools version number in my Maven pom.xml.
It is a fairly simple project though, so it doesn’t exercise a great deal of the
platform.
On 18 Dec 2013, at 07:41, Davide Sottara <dsotty(a)gmail.com> wrote:
Adarsh,
CR1 is "candidate release 1" and is available from the JBoss Maven
Repositories. 5.6.0.Final will probably be released this week.
There are quite a few internal differences between 5.3 and 5.6, but as far as I know the
APIs have remained the same,
so it should be possible to switch almost effortlessly. Others may be able to comment on
their upgrade experience.
Ruleflows, however, have been informally deprecated in favor of proper bpmn business
processes for a while, so not much
was added there, but they should still be supported in 5.6.
Also remember that even 5.6, while a bit more robust from that perspective, is not
guaranteed to be 100% thread safe.
Davide
On 12/17/2013 07:00 AM, adarsh.chaini(a)hsbcib.com wrote:
> Davide,
>
> Thanks for your reply on this.What does CR1 stands for in 5.6.0.CR1 and can someone
point me to the release life cycle timelines?.
> Also the important aspect is are 5.6.0.CR1 and 5.5.0.Final versions backward
compatible to 5.3.0.Final and fully regressed ?
>
> Is there any documentation that describes the major changes like this .We are
mostly using the rule engine with the rule flow aspects of the product
>
> Thanks and regards,
>
> Adarsh CHAINI
>
>
> From: Davide Sottara <dsotty(a)gmail.com>
> To: rules-users(a)lists.jboss.org
> Date: 14/12/2013 19:56
> Subject: Re: [rules-users] Drools KB Object hierarchy Serilisation and
Deserialisation thread safety issue
> Sent by: rules-users-bounces(a)lists.jboss.org
>
>
>
> As far as I know, older versions of Drools were not guaranteed to be thread-safe,
> and the whole (de)serialization subsystem has been upgraded since 5.3.0.Final.
> Could you try a later version such as 5.5.0.Final or 5.6.0.CR1?
>
> Bugs and issues are usually reported using JIRA (community) or Bugzilla (product)
> You can find more information on how to report/contribute here:
>
http://www.jboss.org/contribute
> or in the drools documentation, chapter 1.2
>
> Davide
>
> On 12/13/2013 12:39 PM, adarsh.chaini(a)hsbcib.com wrote:
> Hi,
>
> We have found that some of the drools classes are not thread safe and hence causing
the whole KB serialisation and deserialisation issues in a highly concurrent
distributed cluster.
>
> The below is an example of one of the instances we have come across where the usage
of a non thread safe collection as instance variables has caused the issue.
>
> Could someone look into this and advise:
>
> 1) If this has been reported /identified and logged somewhere as an issue already
> 2)If there has been any fix to problems like this in later versions of
5.3.0.Final ?.
> 3)If not fixed already what is the process to initiate a fix.
>
> Caused by: java.io.InvalidObjectException: Illegal mappings count: -1
> at java.util.HashMap.readObject(HashMap.java:1130)
> at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1891)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
> at org.jbpm.workflow.core.DroolsAction.readExternal(DroolsAction.java:61)
> at
org.jbpm.workflow.core.impl.DroolsConsequenceAction.readExternal(DroolsConsequenceAction.java:49)
> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1835)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1794)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
> at
org.drools.rule.JavaDialectRuntimeData.readExternal(JavaDialectRuntimeData.java:182)
> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1835)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1794)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
> at java.util.HashMap.readObject(HashMap.java:1155)
> at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1891)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
> at
org.drools.rule.DialectRuntimeRegistry.readExternal(DialectRuntimeRegistry.java:59)
> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1835)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1794)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
> at org.drools.rule.Package.readExternal(Package.java:197)
> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1835)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1794)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
> at java.util.HashMap.readObject(HashMap.java:1155)
> at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1891)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
> at org.drools.common.AbstractRuleBase.readExternal(AbstractRuleBase.java:270)
> at org.drools.reteoo.ReteooRuleBase.readExternal(ReteooRuleBase.java:223)
> at org.drools.impl.KnowledgeBaseImpl.readExternal(KnowledgeBaseImpl.java:116)
> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1835)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1794)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
> at
com.hsbc.gbm.dsl.domain.DSLRuleSet$Serializer.createInstance(DSLRuleSet.java:328)
> at
com.hsbc.gbm.dsl.domain.DSLRuleSet$Serializer.createInstance(DSLRuleSet.java:1)
> at
com.hsbc.gbm.dsl.domain.AbstractSerializer.deserialize(AbstractSerializer.java:144)
>
> Thanks and regards,
>
> Adarsh CHAINI
> SENIOR LEAD DEVELOPMENT SPECIALIST | HSBC Bank Plc
> 8 Canada Square, London E14 5HQ, UK
> _______________________________________________
>
>
>
> Phone Int: (0)79914720 Ext: +44 (0)20 79914720
> Mobile +44(0)7595530105
> Email adarsh.chaini(a)hsbcib.com
>
>
> _______________________________________________
> Protect our environment - please only print this if you have to!
>
>
>
> ************************************************************
> HSBC Bank plc may be solicited in the course of its placement efforts for a new
issue, by investment clients of the firm for whom the Bank as a firm already provides
other services. It may equally decide to allocate to its own proprietary book or with an
associate of HSBC Group. This represents a potential conflict of interest. HSBC Bank plc
has internal arrangements designed to ensure that the firm would give unbiased and full
advice to the corporate finance client about the valuation and pricing of the offering as
well as internal systems, controls and procedures to identify and manage conflicts of
interest.
>
> HSBC Bank plc
> Registered Office: 8 Canada Square, London E14 5HQ, United Kingdom
> Registered in England - Number 14259
> Authorised by the Prudential Regulation Authority and regulated by the Financial
Conduct Authority and the Prudential Regulation Authority
> ************************************************************
> ----------------------------------------- SAVE PAPER - THINK BEFORE YOU PRINT! This
transmission has been issued by a member of the HSBC Group "HSBC" for the
information of the addressee only and should not be reproduced and/or distributed to any
other person. Each page attached hereto must be read in conjunction with any disclaimer
which forms part of it. Unless otherwise stated, this transmission is neither an offer nor
the solicitation of an offer to sell or purchase any investment. Its contents are based on
information obtained from sources believed to be reliable but HSBC makes no representation
and accepts no responsibility or liability as to its completeness or accuracy.
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
> ************************************************************
> HSBC Bank plc may be solicited in the course of its placement efforts for a new
issue, by investment clients of the firm for whom the Bank as a firm already provides
other services. It may equally decide to allocate to its own proprietary book or with an
associate of HSBC Group. This represents a potential conflict of interest. HSBC Bank plc
has internal arrangements designed to ensure that the firm would give unbiased and full
advice to the corporate finance client about the valuation and pricing of the offering as
well as internal systems, controls and procedures to identify and manage conflicts of
interest.
>
> HSBC Bank plc
> Registered Office: 8 Canada Square, London E14 5HQ, United Kingdom
> Registered in England - Number 14259
> Authorised by the Prudential Regulation Authority and regulated by the Financial
Conduct Authority and the Prudential Regulation Authority
> ************************************************************
> ----------------------------------------- SAVE PAPER - THINK BEFORE YOU PRINT! This
transmission has been issued by a member of the HSBC Group "HSBC" for the
information of the addressee only and should not be reproduced and/or distributed to any
other person. Each page attached hereto must be read in conjunction with any disclaimer
which forms part of it. Unless otherwise stated, this transmission is neither an offer nor
the solicitation of an offer to sell or purchase any investment. Its contents are based on
information obtained from sources believed to be reliable but HSBC makes no representation
and accepts no responsibility or liability as to its completeness or accuracy.
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users