Object Locking API problems
---------------------------
Key: OPENJPA-362
URL: https://issues.apache.org/jira/browse/OPENJPA-362
Project: OpenJPA
Issue Type: Bug
Components: kernel
Affects Versions: 1.0.0
Environment: All platforms
Reporter: Albert Lee
The manual describes the following Object Locking API
public void lock(Object pc);
public void lock(Object pc, LockModeType mode, long timeout);
public void lockAll(Object... pcs);
public void lockAll(Object... pcs, LockModeType mode, long timeout);
public void lockAll(Collection pcs);
public void lockAll(Collection pcs, LockModeType mode, long timeout);
Problems observed:
1) In EntityManagerImpl,
Missing method implementation
public void lockAll(Object... pcs, LockModeType mode, long timeout);
But found this instead.
public void lockAll(Object[] entities, LockModeType mode, int timeout) {
2) For those API methods with timeout argument, what is the behavior when
timeout occurs? Will an exception be thrown? Since these method has void
return, no return value can be used to indicate the timeout condition.
3) For those API methods with timeout argument, the timeout value does not seem
to be used at all, hence the timeout feature is a NOP.
i.e. EntityManagerImpl.lock*() -> BrokerImpl.lock() -->
VersionLockManager | NonLockManager
a) Is the API just an architected feature?
b) Is the timeout feature not implemented and require user to implements
its lock manager that support the timeout feature?
Albert Lee.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.