Move cacheable class configuration to ClassMetaData
---------------------------------------------------
Key: OPENJPA-1328
URL: https://issues.apache.org/jira/browse/OPENJPA-1328
Project: OpenJPA
Issue Type: Bug
Components: datacache
Affects Versions: 1.2.1, 1.2.0
Reporter: Jody Grassel
Assignee: Michael Dick
I'm proposing to move the cacheable class configuration processing from the
datacache classes to ClassMetaData. The feature, introduced in OPENJPA-1045,
effectively works by returning null for ClassMetaData.getDataCacheName(), where
classes which should not be cached return null, otherwise the name of the
datacache they may be cached by is returned.
THe problem is that some third party datacache plugins are not reentrant, and
the existing ClassMetaData.isCacheable() makes use of the method call
getRepository().getConfiguration().getDataCacheManagerInstance(). This invokes
the initialization of the datacache, which may result in further
initialization/copying of CMD objects, which reenter the isCacheable() method.
If a third party datacache plugin is not reentrant safe, this can cause a
failure in the form of Exceptions or hung threads.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.