Otherwise I would still recommend splitting your monolithic DRL file into
smaller ones and upload each individually.
Increasing your web-server time-out is also an option.
2012/1/16 Shweta1986 <shweta.a.thakkar(a)gmail.com>
Can someone please look into this. Would really appreciate some help
with
these questions.
2012/1/11 Shweta Turakhia <[hidden
email]<http://user/SendEmail.jtp?type=node&node=3664475&i=0>
>
> Thanks for your replies. Please see my response inline
> My intention to use guvnor was to let non technical person go and change
> the rules. But due to the size of the file and drl format it is difficult
> for them to first search the rule and then edit it, save it and build it.
>
> Also since now my rules are in drl format there is no easy way to convert
> them to excel format. Since that will make the file smaller with just 20K
> rows which can be easily uploaded.
> Please suggest.
>
>
> "Thousands" of lines of DRL in a single file represent an issue not just
> to Guvnor but to anything handling it.
> >> Agreed. But if you provide a way to upload drl file as it is it
> would not be that bad right?
>
> The recommendation would be to split the DRL into individual rules,
> resulting of thousands of assets in Guvnor.
> >> This takes more than 20 minutes and times out.
>
>
> The next question would be if you have "thousands" of similar rules why
> not use a singe Template or Decision Table?
> Having said that, using a Template or Decision table in Guvnor with
> "thousands" of rows could exhibit a problem at present.
> Both of the editors in Guvnor do not scale well past a few thousand. This
> is a known issue and we have an open item to address given time.
> >> Can you please point me to the jira item for this ? I would like to
> look into it.
>
> Using an Excel based decision table loaded into Guvnor would be workable,
> however the compilation time to build a binary package may be an issue (I
> don't know).
> >> For me 20K rules got saved once but they never got built. I always get
> "Network error" It times out since the browser is idle for more time.
>
>
> 1) Guvnor needs more that 2.5GB Ram => Go to 64 bits java (we have 5GB
> heap)
> 2) Building the binary on guvnor on a virtual environment takes a few
> minutes (4 minutes in our case)
> >> For me build fails as mentioned earlier. It says "Network"
error" I
> never got this error when my rules were 100. With number of rules
> increasing I think it takes more time to build and on the UI it times out.
>
> 3) For the runtime, the rulebase to build is less then 1 minute when
> getting the rulebase from guvnor
> 4) We are using decision tables updated from remote, so to view them the
> only way is to download via rest the decision table xml et edit it.
> >> Is there any documentation available as how to do this ?
>
> 5) Performance are excellent, for one session execution, it takes 250 ms
> to apply 300 rules again in a virtual environement.
> >> I agree for me it is less than 100 ms for each request. But since I am
> using the Resource Change Scanner whenever my rules change the response
> time increases to 40 seconds for 15 minutes and comes back to normal after
> that. I also had to increase the heap size for my application to 3GB
> otherwise it was having memory issues due to the number of rules in memory.
>
>
> 2012/1/11 Nicolas Héron [via Drools] <[hidden
email]<http://user/SendEmail.jtp?type=node&node=3664475&i=1>
> >
>
> Hello,
>> I just worked on a drools project with many thousands rules (100k). The
>> project is now in production.
>> the issues are :
>> 1) Guvnor needs more that 2.5GB Ram => Go to 64 bits java (we have 5GB
>> heap)
>> 2) Building the binary on guvnor on a virtual environment takes a few
>> minutes (4 minutes in our case)
>> 3) For the runtime, the rulebase to build is less then 1 minute when
>> getting the rulebase from guvnor
>> 4) We are using decision tables updated from remote, so to view them the
>> only way is to download via rest the decision table xml et edit it.
>> 5) Performance are excellent, for one session execution, it takes 250 ms
>> to apply 300 rules again in a virtual environement.
>> I would like to know which JIRA is related to the issues in guvnor when
>> there are many lines ?
>> Regards
>> Nicolas Héron
>>
>> 2012/1/11 Michael Anstis <[hidden
email]<http://user/SendEmail.jtp?type=node&node=3650237&i=0>
>> >
>>
>> "Thousands" of lines of DRL in a single file represent an issue not
just
>>> to Guvnor but to anything handling it.
>>>
>>> The recommendation would be to split the DRL into individual rules,
>>> resulting of thousands of assets in Guvnor.
>>>
>>> The next question would be if you have "thousands" of similar rules
why
>>> not use a singe Template or Decision Table?
>>>
>>> Having said that, using a Template or Decision table in Guvnor with
>>> "thousands" of rows could exhibit a problem at present.
>>>
>>> Both of the editors in Guvnor do not scale well past a few thousand.
>>> This is a known issue and we have an open item to address given time.
>>>
>>> Using an Excel based decision table loaded into Guvnor would be
>>> workable, however the compilation time to build a binary package may be an
>>> issue (I don't know).
>>>
>>> 2012/1/10 Shweta1986 <[hidden
email]<http://user/SendEmail.jtp?type=node&node=3650237&i=1>
>>> >
>>>
>>> I can look into the solution of writing my own Java application for
>>>> this solution. But I would still like to understand, if the problem is
just
>>>> because of the 3 values being checked in the rules ? Do complex rules
dont
>>>> have more than 1 checks ?
>>>> If yes then this case should be supported no matter how simple the
>>>> rule is right ?
>>>>
>>>> Also for the UI issue I mentioned. Assume some other complex rules. Is
>>>> copying the thousands of lines in the text area not a problem in guvnor
?
>>>>
>>>> On Tue, Jan 10, 2012 at 12:38 PM, laune [via Drools] <[hidden
email]<http://user/SendEmail.jtp?type=node&node=3649201&i=0>
>>>> > wrote:
>>>>
>>>>> Assuming that the remaining 19998 rules are of the same kind, there
>>>>> is a lot of data in these rules, and only very little logic. Ignoring
the
>>>>> issue of "Olympia" being one of the cities not being
"Seattle", we have the
>>>>> problem of matching a triplet of <field,state,city> from a
Student fact so
>>>>> that we can store one or more Subjects in Student.subjects.
>>>>>
>>>>> Imagine that you have objects of type Inscribe containing a triplet
>>>>> of field, state, city and the pertaining List<Subject>. Then
you could
>>>>> write a single (!) rule
>>>>>
>>>>> rule register
>>>>> when
>>>>> $stu: Student ( $f: field, $s: state, $c: city )
>>>>> $ins: Inscribe( field==$f, state==$s, city==$c )
>>>>> then
>>>>> $stu.setSubjects( $ins.getSubjects() );
>>>>> end
>>>>>
>>>>> BTW: Why do you use equals with state? Using "==" should be
possible
>>>>> here, too.
>>>>>
>>>>> And, of course, matching ~20000 different triplets to facts of a
>>>>> single type isn't really RBS fodder. You can design a simple Java
program
>>>>> that achieves this goal, assuming you can come up with a
straightforward
>>>>> representation of the <field,state,city;subject+> mapping.
>>>>>
>>>>> -W
>>>>>
>>>>>
>>>>> 2012/1/10 Shweta1986 <[hidden
email]<http://user/SendEmail.jtp?type=node&node=3648792&i=0>
>>>>> >
>>>>>
>>>>> My rules are as follows.
>>>>>>
>>>>>> rule "rule1"
>>>>>> salience -2
>>>>>> dialect "mvel"
>>>>>> when
>>>>>> stud : Student ( field == "ARTS",
state.equals("WA"))
>>>>>> then
>>>>>> java.util.List subList = new java.util.ArrayList();
>>>>>> Subject subject = new Subject();
>>>>>> subject.setName("ABC");
>>>>>> subject.setFees(33454);
>>>>>> subject.duration(4);
>>>>>> subList.add(subject);
>>>>>>
>>>>>> subject = new Subject();
>>>>>> subject.setName("XYZ");
>>>>>> subject.setFees(33454);
>>>>>> subject.duration(4);
>>>>>> subList.add(subject);
>>>>>>
>>>>>> stud.setSubjects(subList);
>>>>>> end
>>>>>> rule "rule2"
>>>>>> salience -100
>>>>>> dialect "mvel"
>>>>>> when
>>>>>> stud : Student ( field == "ARTS",
state.equals("WA") , city ==
>>>>>> "SEATTLE"))
>>>>>> then
>>>>>> java.util.List subList = new java.util.ArrayList();
>>>>>> Subject subject = new Subject();
>>>>>> subject.setName("ABC");
>>>>>> subject.setFees(33454);
>>>>>> subject.duration(4);
>>>>>> subList.add(subject);
>>>>>>
>>>>>> subject = new Subject();
>>>>>> subject.setName("XYZ");
>>>>>> subject.setFees(33454);
>>>>>> subject.duration(4);
>>>>>> subList.add(subject);
>>>>>>
>>>>>> stud.setSubjects(subList);
>>>>>> end
>>>>>>
>>>>>>
>>>>>>
>>>>>> Student is the main object and it contains List of Subjects.
here
>>>>>> the way I am using the salience because
>>>>>> if the input us shweta, ARTS, WA,Olympia it matched rule1
>>>>>> but if the input is shweta, ARTS, WA, Seattle it matches 1 and 2
but
>>>>>> i want the rule 2 to be executed so salience.
>>>>>>
>>>>>> I am using StatelessKnowledge Session and also the resource
change
>>>>>> scanner.
>>>>>> I execute one rule at a time and the scanner poll interval is 1
hour.
>>>>>> When I started with 100 rules I was using "PK" as my
source in
>>>>>> changeSet.xml but when the rules grew to 20K I was not able to
build the
>>>>>> rules in Guvnor UI and hence I started using "DRL" as
source.
>>>>>>
>>>>>> The way I generate drl is using a script which converts the csv
to
>>>>>> drl format.
>>>>>> I copy the drl to the text area in techincal rules and save it.
(
>>>>>> this copy is also paiful so I asked that if there is an upload
drl file
>>>>>> unlike the import drl file)
>>>>>> In changeset I give the path to the url in webdav
>>>>>>
/guvnor/org.drools.guvnor.Guvnor/webdav/packages/StudentRules/StudentRules.drl
>>>>>>
>>>>>> I am not sure if I am doing it the right way. Please suggest.
>>>>>>
>>>>>> Thanks,
>>>>>> Shweta
>>>>>>
>>>>>> On Mon, Jan 9, 2012 at 11:58 PM, laune [via Drools] <[hidden
email]<http://user/SendEmail.jtp?type=node&node=3648661&i=0>
>>>>>> > wrote:
>>>>>>
>>>>>>> Salience is just one way to force the evaluation of a
condition
>>>>>>> before others. In fact, using salience throughout is just a
way of
>>>>>>> re-creating a sequence of plain old if statements using a
rules engine.
>>>>>>>
>>>>>>> I'm not going to waste my time and yours by elaborating
on possible
>>>>>>> alternatives unless you come up with a detailed description
of your rules,
>>>>>>> and how you run your rules engine: fact insertion, calls to
fire, etc.
>>>>>>>
>>>>>>> -W
>>>>>>>
>>>>>>> 2012/1/10 Shweta1986 <[hidden
email]<http://user/SendEmail.jtp?type=node&node=3647015&i=0>
>>>>>>> >
>>>>>>>
>>>>>>>> I am not sure I understand that. What is the other option
for this
>>>>>>>> case. Why would simple rules not work for 20 K rules. Am
I missing
>>>>>>>> something. I cannot use database to store my rules.
Drools also gives me
>>>>>>>> salience which I need for my usecase.
>>>>>>>>
>>>>>>>> On Thu, Jan 5, 2012 at 11:29 PM, laune [via Drools]
<[hidden
>>>>>>>> email]
<
http://user/SendEmail.jtp?type=node&node=3646449&i=0>>wrote:
>>>>>>>>
>>>>>>>>> 2012/1/6 Shweta1986 <[hidden
email]<http://user/SendEmail.jtp?type=node&node=3637255&i=0>
>>>>>>>>> >
>>>>>>>>>
>>>>>>>>>> And my rules are very simple it is like if string
comparison
>>>>>>>>>> then set that's it..
>>>>>>>>>>
>>>>>>>>> This doesn't really warrant the use of a rule
based system. If
>>>>>>>>> keeping this logic out of the application or an easy
maintenance of these
>>>>>>>>> if-then's are your main goals, there are other
ways. I've already hinted at
>>>>>>>>> this, with the idea of providing the information
embedded in similar rules
>>>>>>>>> as data.
>>>>>>>>> -W
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> rules-users mailing list
>>>>>>>>> [hidden
email]<http://user/SendEmail.jtp?type=node&node=3637255&i=1>
>>>>>>>>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ------------------------------
>>>>>>>>> If you reply to this email, your message will be
added to the
>>>>>>>>> discussion below:
>>>>>>>>>
>>>>>>>>>
http://drools.46999.n3.nabble.com/Large-number-of-rules-in-Drools-tp36303...
>>>>>>>>> To start a new topic under Drools: User forum, email
[hidden
>>>>>>>>> email]
<
http://user/SendEmail.jtp?type=node&node=3646449&i=1>
>>>>>>>>> To unsubscribe from Drools: User forum, click here.
>>>>>>>>>
NAML<http://drools.46999.n3.nabble.com/template/NamlServlet.jtp?macro=...
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ------------------------------
>>>>>>>> View this message in context: Re: [rules-users] Large
number of
>>>>>>>> rules in
Drools<http://drools.46999.n3.nabble.com/Large-number-of-rules-in-Droo...
>>>>>>>>
>>>>>>>> Sent from the Drools: User forum mailing list
archive<http://drools.46999.n3.nabble.com/Drools-User-forum-f47000.htm...
Nabble.com.
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> rules-users mailing list
>>>>>>>> [hidden
email]<http://user/SendEmail.jtp?type=node&node=3647015&i=1>
>>>>>>>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> rules-users mailing list
>>>>>>> [hidden
email]<http://user/SendEmail.jtp?type=node&node=3647015&i=2>
>>>>>>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>>>>>>
>>>>>>>
>>>>>>> ------------------------------
>>>>>>> If you reply to this email, your message will be added to
the
>>>>>>> discussion below:
>>>>>>>
>>>>>>>
http://drools.46999.n3.nabble.com/Large-number-of-rules-in-Drools-tp36303...
>>>>>>> To start a new topic under Drools: User forum, email
[hidden
>>>>>>> email]
<
http://user/SendEmail.jtp?type=node&node=3648661&i=1>
>>>>>>> To unsubscribe from Drools: User forum, click here.
>>>>>>>
NAML<http://drools.46999.n3.nabble.com/template/NamlServlet.jtp?macro=...
>>>>>>>
>>>>>>
>>>>>>
>>>>>> ------------------------------
>>>>>> View this message in context: Re: [rules-users] Large number of
>>>>>> rules in
Drools<http://drools.46999.n3.nabble.com/Large-number-of-rules-in-Droo...
>>>>>> Sent from the Drools: User forum mailing list
archive<http://drools.46999.n3.nabble.com/Drools-User-forum-f47000.htm...
Nabble.com.
>>>>>>
>>>>>> _______________________________________________
>>>>>> rules-users mailing list
>>>>>> [hidden
email]<http://user/SendEmail.jtp?type=node&node=3648792&i=1>
>>>>>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> rules-users mailing list
>>>>> [hidden email]
<
http://user/SendEmail.jtp?type=node&node=3648792&i=2>
>>>>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>>>>
>>>>>
>>>>> ------------------------------
>>>>> If you reply to this email, your message will be added to the
>>>>> discussion below:
>>>>>
>>>>>
http://drools.46999.n3.nabble.com/Large-number-of-rules-in-Drools-tp36303...
>>>>> To start a new topic under Drools: User forum, email [hidden
email]<http://user/SendEmail.jtp?type=node&node=3649201&i=1>
>>>>> To unsubscribe from Drools: User forum, click here.
>>>>>
NAML<http://drools.46999.n3.nabble.com/template/NamlServlet.jtp?macro=...
>>>>>
>>>>
>>>>
>>>> ------------------------------
>>>> View this message in context: Re: [rules-users] Large number of rules
>>>> in
Drools<http://drools.46999.n3.nabble.com/Large-number-of-rules-in-Droo...
>>>> Sent from the Drools: User forum mailing list
archive<http://drools.46999.n3.nabble.com/Drools-User-forum-f47000.htm...
Nabble.com.
>>>>
>>>> _______________________________________________
>>>> rules-users mailing list
>>>> [hidden email]
<
http://user/SendEmail.jtp?type=node&node=3650237&i=2>
>>>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>>>
>>>>
>>>
>>> _______________________________________________
>>> rules-users mailing list
>>> [hidden email]
<
http://user/SendEmail.jtp?type=node&node=3650237&i=3>
>>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>>
>>>
>>
>> _______________________________________________
>> rules-users mailing list
>> [hidden email]
<
http://user/SendEmail.jtp?type=node&node=3650237&i=4>
>>
https://lists.jboss.org/mailman/listinfo/rules-users
>> Nicolas Héron
>>
>>
>> ------------------------------
>> If you reply to this email, your message will be added to the
>> discussion below:
>>
>>
http://drools.46999.n3.nabble.com/Large-number-of-rules-in-Drools-tp36303...
>> To start a new topic under Drools: User forum, email [hidden
email]<http://user/SendEmail.jtp?type=node&node=3664475&i=2>
>> To unsubscribe from Drools: User forum, click here.
>>
NAML<http://drools.46999.n3.nabble.com/template/NamlServlet.jtp?macro=...
>>
>
>
------------------------------
View this message in context: Re: [rules-users] Large number of rules in
Drools<http://drools.46999.n3.nabble.com/Large-number-of-rules-in-Droo...
Sent from the Drools: User forum mailing list
archive<http://drools.46999.n3.nabble.com/Drools-User-forum-f47000.htm...
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users