hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Konstantin Boudnik (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HDFS-565) Introduce block committing logic during new block allocation and file close.
Date Wed, 02 Sep 2009 00:11:32 GMT

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

Konstantin Boudnik commented on HDFS-565:

bq. TestFiDataTransferProtocol fails after this since the patch breaks ClientProtocolAspects.
Also, a number of hflush tests have started failing as well.

The reason for this is changed signature of {{ClientProtocol.addBlock(...)}} method.
-  public LocatedBlock addBlock(String src, String clientName) throws IOException;
+  public LocatedBlock addBlock(String src, String clientName,
+                               Block previous) throws IOException;
this has cause mid-binding of {{ClientProtocolAspects.addBlock}}. 
This is why I prefer to have wider binding specifications for aspects.

To fix this we can do as simple as
Index: src/test/aop/org/apache/hadoop/hdfs/protocol/ClientProtocolAspects.aj
--- src/test/aop/org/apache/hadoop/hdfs/protocol/ClientProtocolAspects.aj       (revision
+++ src/test/aop/org/apache/hadoop/hdfs/protocol/ClientProtocolAspects.aj       (working copy)
@@ -27,7 +27,7 @@
   public static final Log LOG = LogFactory.getLog(ClientProtocolAspects.class);

   pointcut addBlock():
-    call(LocatedBlock ClientProtocol.addBlock(String, String));
+    call(LocatedBlock ClientProtocol.addBlock(String, String, ..));

   after() returning(LocatedBlock lb): addBlock() {
     PipelineTest pipelineTest = DataTransferTestUtil.getPipelineTest();

> Introduce block committing logic during new block allocation and file close.
> ----------------------------------------------------------------------------
>                 Key: HDFS-565
>                 URL: https://issues.apache.org/jira/browse/HDFS-565
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: hdfs client, name-node
>    Affects Versions: Append Branch
>            Reporter: Konstantin Shvachko
>            Assignee: Konstantin Shvachko
>             Fix For: Append Branch
>         Attachments: CommitBlock.patch, CommitBlock.patch
> {{ClientProtocol}} methods {{addBlock()}} and {{complete()}} need to include additional
parameter - a block, which has been successfully written to data-nodes. By sending this block
to the name-node the client confirms the generation stamp of the block and its length. The
block on the name-node changes its state to committed and will become complete as long as
one of the finalized replicas reported by data-nodes.

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

View raw message