Return-Path: X-Original-To: apmail-hadoop-hdfs-issues-archive@minotaur.apache.org Delivered-To: apmail-hadoop-hdfs-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7294718D80 for ; Thu, 23 Jul 2015 22:46:40 +0000 (UTC) Received: (qmail 81381 invoked by uid 500); 23 Jul 2015 22:46:05 -0000 Delivered-To: apmail-hadoop-hdfs-issues-archive@hadoop.apache.org Received: (qmail 81325 invoked by uid 500); 23 Jul 2015 22:46:05 -0000 Mailing-List: contact hdfs-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hdfs-issues@hadoop.apache.org Delivered-To: mailing list hdfs-issues@hadoop.apache.org Received: (qmail 81314 invoked by uid 99); 23 Jul 2015 22:46:05 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 23 Jul 2015 22:46:05 +0000 Date: Thu, 23 Jul 2015 22:46:05 +0000 (UTC) From: "Zhe Zhang (JIRA)" To: hdfs-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HDFS-8499) Refactor BlockInfo class hierarchy with static helper class MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HDFS-8499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14639629#comment-14639629 ] Zhe Zhang commented on HDFS-8499: --------------------------------- bq. Do you agree that Design #2 does not break trunk as you described previously? Please answer this question. [~szetszwo] I realized one of my previous comments might be ambiguous, apologies. * I agree with you Design #2 doesn't break the fact that both UC classes are eventually subclassing {{BlockInfo}}. * I was pointing out that {{BlockInfoUnderConstruction}} itself no longer is-a {{BlockInfo}}. That changes how NN uses {{BlockInfoUnderConstruction}}. I plan to change it anyway in HDFS-8796. bq. In your comment, you try to force both UC implementations to be the same. But we do want the flexibility to have different implementation. In the beginning of the project we chose to extend {{BlockInfo}} to handle block groups, instead of building something like {{BlockGroupInfo}} from scratch. One of the most important reasons was that most block mgmt logics (including UC logic) are orthogonal to striping logic. Conceptually (and ideally), when we see a need to implement a non-EC logic differently for contiguous and striped blocks, we should generalize that logic to handle both formats. Jing's work on {{BlockInfo#hasNoStorage()}}, {{BlockManager#hasMinStorage()}} (and many more) are excellent examples. > Refactor BlockInfo class hierarchy with static helper class > ----------------------------------------------------------- > > Key: HDFS-8499 > URL: https://issues.apache.org/jira/browse/HDFS-8499 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: namenode > Affects Versions: 2.7.0 > Reporter: Zhe Zhang > Assignee: Zhe Zhang > Fix For: 2.8.0 > > Attachments: HDFS-8499.00.patch, HDFS-8499.01.patch, HDFS-8499.02.patch, HDFS-8499.03.patch, HDFS-8499.04.patch, HDFS-8499.05.patch, HDFS-8499.06.patch, HDFS-8499.07.patch, HDFS-8499.UCFeature.patch, HDFS-bistriped.patch > > > In HDFS-7285 branch, the {{BlockInfoUnderConstruction}} interface provides a common abstraction for striped and contiguous UC blocks. This JIRA aims to merge it to trunk. -- This message was sent by Atlassian JIRA (v6.3.4#6332)