Recently we have upgraded our app from Pega6.2sp2 to Pega7.1.7. The issue here is not with the up gradation but during restart of server after up gradation. In 6.2 our application points to 01-02 rule set versions built on Pega6 ruleset stack. So as part of Pega7 up gradation we have created a new application 01.03 built on Pega 07-10 rule set stack.
Initially the batch requestor access group points to 01.02 application which built on Pega 06-02 RSV's. After the Pega7 DB up gradation is done and while we restart the server the SLA agent ran and processed some 40+ items in its queue resulting in a error moving them to broken items queue. The error thrown was rule not found exception for Work-!pyAddWorkHistoryDefaults activity. But the strange thing here is the SLA queue items shows that the access group points to 01.02 application which do not have access to Pega7 ruleset stack, the rule Work-!pyAddWorkHistoryDefaults is introduced only in Pega-ProcessEngine:07-10-15 which is referred by AddWorkHistory 07-10-15 and the rule is not 06-02 versions of AddWorkHistory activity rule.
How come the rule in 07-10 version gets executed while my batch accessgroup still points to Pega6.2 rule set stack ?
If the issue is still possible to reproduce, I suggest you to trace the java step which is trying to "switch access groups, if necessary", in System-Queue-ServiceLevel.EstablishContext activity, to see which access group is actually being used.