[jira] [Updated] (HDFS-8272) Erasure Coding: simplify the retry logic in DFSStripedInputStream (stateful read)

2015-04-29 Thread Zhe Zhang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-8272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhe Zhang updated HDFS-8272:

Summary: Erasure Coding: simplify the retry logic in DFSStripedInputStream 
(stateful read)  (was: Erasure Coding: simplify the retry logic in 
DFSStripedInputStream)

 Erasure Coding: simplify the retry logic in DFSStripedInputStream (stateful 
 read)
 -

 Key: HDFS-8272
 URL: https://issues.apache.org/jira/browse/HDFS-8272
 Project: Hadoop HDFS
  Issue Type: Sub-task
Reporter: Jing Zhao
Assignee: Jing Zhao
 Attachments: h8272-HDFS-7285.000.patch, h8272-HDFS-7285.001.patch


 Currently in DFSStripedInputStream the retry logic is still the same with 
 DFSInputStream. More specifically, every failed read will try to search for 
 another source node. And an exception is thrown when no new source node can 
 be identified. This logic is not appropriate for EC inputstream and can be 
 simplified.



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


[jira] [Updated] (HDFS-8272) Erasure Coding: simplify the retry logic in DFSStripedInputStream (stateful read)

2015-04-29 Thread Jing Zhao (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-8272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jing Zhao updated HDFS-8272:

Attachment: HDFS-8272.002.patch

Thanks for the review, Zhe and Yi! I just merged HDFS-8280 into HDFS-7285 
branch. Upload the patch excluding the changes in DFSInputStream. Also fix the 
bug pointed out by Yi.

About the {{seekToBlockSource}}, I think it may be better to remove it by now:
# With decoding functionality we do not need to spend more time trying our luck 
on the same DN.
# Currently calling {{seekToBlockSource}} will cause all the current block 
readers to be closed (since {{blockSeekTo}} will call 
{{closeCurrentBlockReaders}}). To fix this we need to add extra complexity so 
as to make sure only one block reader is retried.

 Erasure Coding: simplify the retry logic in DFSStripedInputStream (stateful 
 read)
 -

 Key: HDFS-8272
 URL: https://issues.apache.org/jira/browse/HDFS-8272
 Project: Hadoop HDFS
  Issue Type: Sub-task
Reporter: Jing Zhao
Assignee: Jing Zhao
 Attachments: HDFS-8272.002.patch, h8272-HDFS-7285.000.patch, 
 h8272-HDFS-7285.001.patch


 Currently in DFSStripedInputStream the retry logic is still the same with 
 DFSInputStream. More specifically, every failed read will try to search for 
 another source node. And an exception is thrown when no new source node can 
 be identified. This logic is not appropriate for EC inputstream and can be 
 simplified.



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


[jira] [Updated] (HDFS-8272) Erasure Coding: simplify the retry logic in DFSStripedInputStream

2015-04-28 Thread Jing Zhao (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-8272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jing Zhao updated HDFS-8272:

Attachment: h8272-HDFS-7285.001.patch

Thanks again for the review, Zhe! Update the patch to address your comments 
(including DFSInputStream changes). The main change is to only refetch the 
key/token once for the group.

About the encryption key retry logic, I think it is handled while creating the 
block reader. More specifically, while creating the TCP peer in 
{{BlockReaderFactory#getRemoteBlockReaderFromTcp}}, the sasl protocol is 
triggered during which the encryptionKey can be refetched.

 Erasure Coding: simplify the retry logic in DFSStripedInputStream
 -

 Key: HDFS-8272
 URL: https://issues.apache.org/jira/browse/HDFS-8272
 Project: Hadoop HDFS
  Issue Type: Sub-task
Reporter: Jing Zhao
Assignee: Jing Zhao
 Attachments: h8272-HDFS-7285.000.patch, h8272-HDFS-7285.001.patch


 Currently in DFSStripedInputStream the retry logic is still the same with 
 DFSInputStream. More specifically, every failed read will try to search for 
 another source node. And an exception is thrown when no new source node can 
 be identified. This logic is not appropriate for EC inputstream and can be 
 simplified.



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