curator-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CURATOR-140) Support the initial data for the node in InterProcessReadWriteLock
Date Mon, 03 Nov 2014 21:14:33 GMT

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

ASF GitHub Bot commented on CURATOR-140:
----------------------------------------

Github user cammckenzie commented on a diff in the pull request:

    https://github.com/apache/curator/pull/48#discussion_r19764502
  
    --- Diff: curator-recipes/src/test/java/org/apache/curator/framework/recipes/locks/TestInterProcessReadWriteLock.java
---
    @@ -261,6 +261,39 @@ public Void call() throws Exception
             Assert.assertTrue(maxConcurrentCount.get() > 1);
         }
     
    +    @Test
    +    public void     testSetNodeData() throws Exception
    +    {
    +        CuratorFramework        client = CuratorFrameworkFactory.newClient(server.getConnectString(),
new RetryOneTime(1));
    +
    +        try
    +        {
    +            client.start();
    +
    +            final byte[] nodeData = new byte[] { 1, 2, 3, 4 };
    +
    +            InterProcessReadWriteLock   lock = new InterProcessReadWriteLock(client,
"/lock", nodeData);
    +
    +            // mutate passed-in node data, lock has made copy
    +            nodeData[0] = 5;
    --- End diff --
    
    Ok, just wasn't obvious because there's no explicit assert checking that the data in the
InterProcessReadWriteLock is different to the mutated nodeData array. I notice that there's
no way of getting this data out of the InterProcessReadWriteLock to do an explicit assert
though, so I think that this is fine.


> Support the initial data for the node in InterProcessReadWriteLock
> ------------------------------------------------------------------
>
>                 Key: CURATOR-140
>                 URL: https://issues.apache.org/jira/browse/CURATOR-140
>             Project: Apache Curator
>          Issue Type: Improvement
>          Components: Recipes
>            Reporter: Azrael
>            Priority: Minor
>
> Currently, locks(writeLock, readLock) in InterProcessReadWriteLock use the InetAddress
for a initial data for the node, It is a little difficult to debug the lock owner as it shows
only IP. If the initial data for lock node can be set, participantNodes contains the given
information(hostname, id). So, it is easy  to debug participantNodes.
> {code}
> writeLock = InterProcessReadWriteLock.writeLock();
> Collection<String> nodes = writeLock.getParticipantNodes();
> for (String node: nodes) {
>     String nodeData = new String(client.getData().forPath(node));
> }
> {code} 
> {{nodeData}} should be the information which is given in argument.



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

Mime
View raw message