[ https://issues.apache.org/jira/browse/HDFS-6940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14127725#comment-14127725 ]
Todd Lipcon commented on HDFS-6940: ----------------------------------- bq. This issue is being rejected based on an anticipation of some future interfaces I think this patch is being proposed on an anticipation of some future usage on a branch. Without looking at the actual extension, this patch looks like a pure negative. It's always a best practice to have as tight a visibility as possible, and this patch makes things visible which were previously private. It also adds what look like needless refactors such as splitting out a trivial setHosts method -- if I were reading the source in isolation and I saw that method, I'd probably "clean it up" by inlining at the call site. Making a 'final' member non-final also is a negative code quality change in isolation - if members are set only in the constructor, it's best to have them final. Given that all of the above seem like they _lower_ the code quality rather than improve it. The only reason I could see for this change is to provide for extension via a subclass mechanism, which I also think is generally a bad idea based on my experience with this (and other) code bases. Given this, I'm also -1 on this patch being in trunk. If you want to commit it to the feature branch, go ahead -- though I think the reservations about subclassing as an extension mechanism will still be an issue when you propose an eventual merge. > Initial refactoring to allow ConsensusNode implementation > --------------------------------------------------------- > > Key: HDFS-6940 > URL: https://issues.apache.org/jira/browse/HDFS-6940 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: namenode > Affects Versions: 2.0.6-alpha, 2.5.0 > Reporter: Konstantin Shvachko > Assignee: Konstantin Shvachko > Fix For: 2.6.0 > > Attachments: HDFS-6940.patch > > > Minor refactoring of FSNamesystem to open private methods that are needed for > CNode implementation. -- This message was sent by Atlassian JIRA (v6.3.4#6332)