[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-11 Thread Kan Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12754445#action_12754445
 ] 

Kan Zhang commented on HDFS-592:


Namenode needs to verify that the requesting client is the client that has 
previously been authorized to write to the Block. Otherwise, this can become a 
security hole. This checking is missing in existing code (it was hard to do 
since in existing code recovery is done at datanode). We probably need open a 
new JIRA for this. For now you may want to let the client send the clientname 
it used in the create() call and check that the DFSClient instance is the 
leaseholder. However, this may not solve the problem since clientname may be 
guessed. For security purposes, the checking should be based on an 
authenticated username. Also, can we choose a method name other than 
getNewGenerationStampAndAccessToken()? In my view, the namenode is not doing 
this as a general service to any client that wants an access token. This is 
done only in the context of pipeline recovery. How about using something like 
pipelineRecovery()?

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-11 Thread Hairong Kuang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12754453#action_12754453
 ] 

Hairong Kuang commented on HDFS-592:


> For now you may want to let the client send the clientname it used in the 
> create() call and check that the DFSClient instance is the leaseholder.
+1
> This is done only in the context of pipeline recovery. How about using 
> something like pipelineRecovery()?
Choosing a right name is always hard. This is used in both pipeline recovery 
and setting up the initial pipeline for append.

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-13 Thread Kan Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12754761#action_12754761
 ] 

Kan Zhang commented on HDFS-592:


> This is used in both pipeline recovery and setting up the initial pipeline 
> for append.

The initial pipeline setup for append should get its access token from the 
append() call (like how it is done today). In general, each operation that 
requires an access token should get it separately (as part of the return value 
of the related RPC call). The namenode needs to know the context in which the 
access token will be used before authorizing the client and issuing the token. 
That's why there is no generic getAccessToken() call on the ClientProtocol 
interface. The authorization requirements for initial pipeline setup for append 
may be different from that of pipeline recovery. They should get their tokens 
separately (similar to the way addBlock() gets its own tokens to use).

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-14 Thread Hairong Kuang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755073#action_12755073
 ] 

Hairong Kuang commented on HDFS-592:


> The initial pipeline setup for append should get its access token from the 
> append() call (like how it is done today). 

There is an undetermined delay from the time append is called to the time the 
initial pipeline is set. A pipeline is set up when a client needs to send out 
the first packet. As we discussed at the design time, an access token has to be 
fetched right before a pipeline is set up.

This behavior is parallel to what we do with file creation. When a client 
issues create, NN does not return any access token. But before a pipeline is 
set up, the client calls addBlock to get a new block and an access token. 

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-14 Thread Kan Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755083#action_12755083
 ] 

Kan Zhang commented on HDFS-592:


sorry, I forgot pipeline will not be created right after append() call. In that 
case, the client can use pipelineRecovery() call to get an access token since 
it already holds the lease.

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-14 Thread Hairong Kuang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755136#action_12755136
 ] 

Hairong Kuang commented on HDFS-592:


> the client can use pipelineRecovery() call to get an access token since it 
> already holds the lease. 
My main point is that I still want to keep the method name as it is in the 
patch or a short form like getNewStampAndToken(). Getting a new GS and access 
token is just one small step towards pipeline setup/recovery. The name 
pipelineRecovery() is too vague. 

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-14 Thread Kan Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755193#action_12755193
 ] 

Kan Zhang commented on HDFS-592:


As I explained before, method name like getNewStampAndToken() is misleading in 
the sense that it looks like it's a general method that any client can call to 
get a token. Actually, it's not. Only a client who is doing pipeline recovery 
(or already holding the lease) is supposed to use that method. It doesn't have 
to be the only thing that the client does when doing a recovery. Having said 
that, I'm open to other names that properly capture the context.

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-14 Thread Kan Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755206#action_12755206
 ] 

Kan Zhang commented on HDFS-592:


> Only a client who is doing pipeline recovery (or already holding the lease)
Actually, "already holding the lease" is not a good description either since a 
client who is writing a new block (and hence holding the lease) shouldn't use 
this method to get token.

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-14 Thread Hairong Kuang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755252#action_12755252
 ] 

Hairong Kuang commented on HDFS-592:


As I said, the method is not used only for pipeline recovery, it is also used 
for setting up the initial pipeline for append as well. So pipelineRecovery is 
not an option. It's hard for a method name to reflect the context under which a 
method is called. I don't think any of the client method ever does this. How 
about I putting the context in the java doc?

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-14 Thread Kan Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755258#action_12755258
 ] 

Kan Zhang commented on HDFS-592:


> I don't think any of the client method ever does this.
I think create(), append(), addBlock() all capture their context pretty well. 
Although pipelineRecovery() is not perfect, it's still much better than 
getNewStampAndToken() which doesn't tell any context at all.

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-14 Thread Hairong Kuang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755273#action_12755273
 ] 

Hairong Kuang commented on HDFS-592:


The problem is that getting a new stamp and token is not pipeline recovery. The 
result is used for recovering a pipeline. So it is not an option. I am open if 
you could come up with other options.

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-14 Thread Kan Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755280#action_12755280
 ] 

Kan Zhang commented on HDFS-592:


> The problem is that getting a new stamp and token is not pipeline recovery. 
> The result is used for recovering a pipeline. 
You can say the same about addBlock(), can't you? 

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-14 Thread Kan Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755288#action_12755288
 ] 

Kan Zhang commented on HDFS-592:


In the spirit of addBlock(), how about we use recoverPipeline()? I guess what 
happens here is you don't want add a new appendBlock() call for the initial 
pipeline setup for append and instead want to re-use the recoverPipeline() 
call, which is fine. However, in the absence of a better name for both 
recoverPipeline and appendBlock, I can live with recoverPipeline than something 
totally non-descriptive, like getNewStampAndToken().


> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-15 Thread Hairong Kuang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755800#action_12755800
 ] 

Hairong Kuang commented on HDFS-592:


 [exec] +1 overall.  
 [exec] 
 [exec] +1 @author.  The patch does not contain any @author tags.
 [exec] 
 [exec] +1 tests included.  The patch appears to include 6 new or 
modified tests.
 [exec] 
 [exec] +1 javadoc.  The javadoc tool did not generate any warning 
messages.
 [exec] 
 [exec] +1 javac.  The applied patch does not increase the total number 
of javac compiler warnings.
 [exec] 
 [exec] +1 findbugs.  The patch does not introduce any new Findbugs 
warnings.
 [exec] 
 [exec] +1 release audit.  The applied patch does not increase the 
total number of release audit warnings.

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch, newGS2.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-15 Thread Kan Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755816#action_12755816
 ] 

Kan Zhang commented on HDFS-592:


> If you still do not like the name, could we resolve the naming issue later?
Well, I have said enough on this. It's your call. 

I have a further comment on the following lease checking. It seems if the 
client sends NULL for clientName, the checking is bypassed, which could become 
a security loophole.
{code}
+if (clientName != null && !pendingFile.getClientName().equals(clientName)) 
{
+  throw new LeaseExpiredException("Lease mismatch: " + block + " owned by "
+  + pendingFile.getClientName() + " but is accessed by " + clientName);
+}
{code}

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch, newGS2.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-15 Thread Hairong Kuang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755866#action_12755866
 ] 

Hairong Kuang commented on HDFS-592:


> ClientName should never be null in the real system. 
This is because RPC serialization does not allow null parameters.

I rerun all the tests. Ant test-patch passed. All unit tests were passed except 
for TestFileAppend2 and TestNameNodeMetrics. The failed tests are not 
deterministic and seem not related to this patch because the code in this patch 
is not reachable from any path in HDFS yet.

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch, newGS2.patch, newGS3.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-16 Thread Konstantin Boudnik (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12756048#action_12756048
 ] 

Konstantin Boudnik commented on HDFS-592:
-

bq. Kan, thanks for catching this. ClientName should never be null in the real 
system. But anyway the new patch checks the null case and adds a new unit test 
for this.
There's always a probability for the worst

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch, newGS2.patch, newGS3.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-16 Thread Hairong Kuang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12756135#action_12756135
 ] 

Hairong Kuang commented on HDFS-592:


I have ran test-core 4 more times and all the runs succeeded.

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch, newGS2.patch, newGS3.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-16 Thread Kan Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12756186#action_12756186
 ] 

Kan Zhang commented on HDFS-592:


Thanks for adding a test case for clientName==NULL.

+1 for the patch. Some nits.

- you don't have to test for clientName==NULL in the following. If it is NULL, 
the "+" operator will append NULL. 
{code}
+  throw new LeaseExpiredException("Lease mismatch: " + block + " owned by "
+  + pendingFile.getClientName() + " but is accessed by " + 
+  (clientName==null?"null":clientName));
{code}
There is also a subtle security/privacy concern there. That is whether we want 
to tell the client who actually owns the pendingFile in the error msg. Is there 
any inconveniences if we don't tell?

- I'd use !clientName.equals(pendingFile.getClientName()) since you know 
clientName won't be NULL at this point.
{code}
+if (clientName == null || !pendingFile.getClientName().equals(clientName)) 
{
{code}

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch, newGS2.patch, newGS3.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-16 Thread Kan Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12756191#action_12756191
 ] 

Kan Zhang commented on HDFS-592:


> If it is NULL, the "+" operator will append NULL.
I meant, will append String "null".

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch, newGS2.patch, newGS3.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (HDFS-592) Allow client to get a new generation stamp from NameNode

2009-09-16 Thread Hairong Kuang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12756374#action_12756374
 ] 

Hairong Kuang commented on HDFS-592:


Both ant test-patch and test-core are passed.

> Allow client to get a new generation stamp from NameNode
> 
>
> Key: HDFS-592
> URL: https://issues.apache.org/jira/browse/HDFS-592
> Project: Hadoop HDFS
>  Issue Type: Sub-task
>  Components: name-node
>Affects Versions: Append Branch
>Reporter: Hairong Kuang
>Assignee: Hairong Kuang
> Fix For: Append Branch
>
> Attachments: newGS.patch, newGS1.patch, newGS2.patch, newGS3.patch, 
> newGS4.patch
>
>
> This issue aims to  add an API to ClientProtocol that fetches a new 
> generation stamp and an access token from NameNode to support append or 
> pipeline recovery.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.