An application rule lists the following application rulesets, in order:
There are five instances of a section rule named EnterClaimDetails in the rules cache as shown below:
Applies to class
Ruleset & version
RulesetA : 01-04-02
RulesetB : 01-02-01
RulesetC : 01-17-99
RulesetB : 02-02-01
RulesetC : 01-09-12
When a user runs the application, which version of EnterClaimDetails is selected during rule resolution, when processing a fraud claim?
Org-Div-Work-FraudClaim - RulesetC:01-17-99
Org-Div-Work-FraudClaim - RulesetC:01-09-12
Org-Div-Work - RulesetB:02-02-01
Org-Div-Work - RulesetA:01-04-02
Org-Div-Work-FraudClaim - RulesetB:01-02-01
Question 3 in the Application Design part of the exam, handles about rule resolution. According to the solution the selected rule is Org-Div-Work-FraudClaim - RulesetC:01-09-12. In my opinion this rule should be removed from the cache, because the other rule in RulesetC is withdrawn, shares the same ruleset and the same class.
I think that "Org-Div-Work - RulesetB:02-02-01" and "Org-Div-Work - RulesetA:01-04-02" are equally qualified (the only ones left), and that the resolution would end with a duplicate search. Is this reasoning correct, and thus a mistake in the exam? Thank you.
**Moderation Team has archived post**
This post has been archived for educational purposes. Contents and links will no longer be updated. If you have the same/similar question, please write a new post.
I made the mistake I'm sorry!! the major version of the RulesetC:01-09-12 is the same, but the minor ruleset version is different. That's why it does stay in the cache, and will be selected in the end because it has a higher class specificity.
I hope your explanation was right. But as you have mentioned there will be conflict between "Org-Div-Work - RulesetB:02-02-01" and "Org-Div-Work - RulesetA:01-04-02" may not be true. Rule resolution works as per Rulelist. Rulesets in Ruelist are used for Rule resolution. Rulesets in top take higher precedence than lower rulesets. As mentioned, RulesetA:01-05 will be first ruleset in Rulelist. So the rule in this RulesetA:01-04-02 must be selected by Rule resolution.
there is a separate issue I see with this question.
firstly it says it is the rule cache, so I have a few questions about this.
1. the cache is supposed to be filtered and then ranked - there is a whole section talking about how the cache works and about how there is a checkbox to specify whether to use class-based inheritance to arrive at the correct rule to execute
from the list it appears as if the cache is sorted by ruleset, meaning that the checkbox was disabled ? (default it is enabled, so if this is the case, the question should specify this)
2. there is a withdrawn rule in a higher ruleset than the application stack - how did this make it into the cache, the third step in the cache algorithm is to remove rules, not in the users ruleset list - which also isn't specified (there is also no information in any sections talking about how a user can get higher ruleset versions than exist in the application, isn't their stack built from the application stack ?
3. you're supposed to go top-down, one by one in the cache to pick a rule and the first match is what is used, if this is the case, then the first rule in the list should be picked based on this logic - it's stated in the learning material
4. if we disregard going top down, one by one in the cache and just pick rules at random and do some comparisons, then considering they say the correct answer is chosen because the apply-to class is a closer match, this indicated that the checkbox for class-based inheritance is on?
if any of what I said is incorrect, please let me know. I'm trying to figure out if I have misunderstood something or if there is an actual issue with the question
as it stands, the question looks broken for many reasons
attached is a picture of me sorting the cache (I left the withdrawn rule in, even though it shouldn't be in the case) it's ranked as stated in the material by class, ruleset, version - using the sorting you arrive at the correct answer going top-down from the list