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

Joe Pallas commented on HDFS-10636:
-----------------------------------

Possibly the only requirement to subclass {{FinalizedReplica}} today is that it 
appears in the dataset SPI, so any alternative implementation has to use it.  
The proposal removes that, so maybe there isn't a strong reason to have it be a 
type (if I understand the distinction I think [~virajith] is making between 
class as type and class as state).  There are several places in the current 
patch where {{FinalizedReplica}} becomes {{ReplicaInfo}}, and I think that's a 
reasonable change.  

The concern [~eddyxu] expressed above about states and types is valid, but, in 
this case, I think the type system isn't really helping the programmer very 
much.  Existing code using {{FinalizedReplica}} is already frequently stuck 
with only {{ReplicaInfo}} known at compile time, so a state check is needed 
anyway, and using a cast to {{FinalizedReplica}} after the state check doesn't 
add much.

> Modify ReplicaInfo to remove the assumption that replica metadata and data 
> are stored in java.io.File.
> ------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-10636
>                 URL: https://issues.apache.org/jira/browse/HDFS-10636
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode, fs
>            Reporter: Virajith Jalaparti
>            Assignee: Virajith Jalaparti
>         Attachments: HDFS-10636.001.patch, HDFS-10636.002.patch, 
> HDFS-10636.003.patch, HDFS-10636.004.patch, HDFS-10636.005.patch
>
>
> Replace java.io.File related APIs from {{ReplicaInfo}}, and enable the 
> definition of new {{ReplicaInfo}} sub-classes whose metadata and data can be 
> present on external storages (HDFS-9806). 



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to