[ 
https://issues.apache.org/jira/browse/IGNITE-642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15193257#comment-15193257
 ] 

Yakov Zhdanov commented on IGNITE-642:
--------------------------------------

Vlad, 

Thanks for the response!

I have pulled out the most recent version of the PR and now I have minor 
conflict with master in {{DataStructuresProcessor}} and I still have 
compilation errors related to final variables declaration (please make sure 
your code is buildable with jdk7).

Can you please resolve these issues and submit issue for review one more time?

I also see the following issues
# org.apache.ignite.internal.processors.datastructures.GridCacheLockEx#stop - 
all callback methods in this class have {{onXXX()}} prefix. I think this should 
be {{onStop()}} as well.
# As I see not all methods are covered with at least minimal unit tests, e.g. 
org.apache.ignite.IgniteLock#getWaitQueueLength
# I don't think we should have methods like toString() in interfaces. Also 
methods that do not add exceptions or documentation or do not alter return type 
from super interface should not be declared within Ignite interfaces (what 
for?).
# I would like you to add throws declaration to {{lock()}} method and other 
methods which may involve distributed operation, since I am pretty sure that 
any operation of the kind may throw exception. Please also add tests for this.
# Please add the following scenario. Start server node, then client node, get 
lock from client node, acquire lock then unlock, then stop server node and try 
to acquire lock. I assume exception should be thrown.

Thanks!

> Implement IgniteReentrantLock data structure
> --------------------------------------------
>
>                 Key: IGNITE-642
>                 URL: https://issues.apache.org/jira/browse/IGNITE-642
>             Project: Ignite
>          Issue Type: Sub-task
>          Components: data structures
>    Affects Versions: 1.6
>            Reporter: Dmitriy Setrakyan
>            Assignee: Vladisav Jelisavcic
>              Labels: features
>             Fix For: 1.6
>
>
> We need to add {{IgniteReentrantLock}} data structure in addition to other 
> data structures provided by Ignite. {{IgniteReentrantLock}} should have 
> similar API to {{java.util.concurrent.locks.ReentrantLock}} class in JDK.
> As an example, you can see how 
> [IgniteCountDownLatch|https://github.com/apache/incubator-ignite/blob/master/modules/core/src/main/java/org/apache/ignite/IgniteCountDownLatch.java]
>  is implemented in 
> [GridCacheCountDownLatchImpl|https://github.com/apache/incubator-ignite/blob/master/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridCacheCountDownLatchImpl.java]
>  class.
> In general we need to have an entity in ATOMIC cache storing lock-owner 
> identifier together with a queue of waiters.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to