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 20:56:34 GMT

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

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

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

    https://github.com/apache/curator/pull/48#discussion_r19763228
  
    --- 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 --
    
    Looks like it's to ensure that the passed in data is being copied, so any alterations
to the byte array after the fact don't cause some sort of partial view of data.


> 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