[
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)