Darius,

CHICA encountered a major issue with Logic yesterday.  We had information get 
crossed between multiple patients, and we tracked it down to a thread safety 
issue in Logic.  Currently the Token Service's "getRule(String)" method (in 
OpenMRS 1.7) retrieves a rule from a rule provider and then caches it.  The 
next time the rule is asked for, it gets pulled directly from the cache.  Our 
Java rules translated by the Arden translator had class level variables that 
were getting changed by concurrent threads, and we were seeing incorrect data 
for patients.

In OpenMRS 1.5 the logic service would cache the rule, but it would return a 
new instantiation of the rule class so it was thread safe.  Now in 1.7 + the 
thread safety no longer exists because the same instance of the rule is 
directly returned from the cache.

This is a very high priority issue that needs to be resolved immediately.

Thanks,

Steve McKee
Children's Health Services Research
Indiana University School of Medicine
Phone: 317-278-9660
Email: [email protected]


_________________________________________

To unsubscribe from OpenMRS Developers' mailing list, send an e-mail to 
[email protected] with "SIGNOFF openmrs-devel-l" in the  body (not 
the subject) of your e-mail.

[mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l]

Reply via email to