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.

Reply via email to