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

LiXin Ge edited comment on HDDS-265 at 8/11/18 8:38 AM:
--------------------------------------------------------

[~ljain] Thanks for reviewing this! patch 002 addressed all your comments 
except the one :
{quote}3.We can add a default implementation for isValidContainerType in 
ContainerDeletionChoosingPolicy.
{quote}
That's because _ContainerDeletionChoosingPolicy_ is interface that not allowed 
to have body.
  
 BTW, I have tried to add a test like below, but find that the test will fail 
even in the *trunk branch*. I'm not sure wether this is a bug, if it is, maybe 
we should have another jira to trace it.
 ----2018/08/11: OK, this is not a bug, maybe something by design. 
ContainerSet#getContainerReport didn't send {{DeleteTransactionId}} and 
ContainerMapping#reconcileState didn't update this field based on 
ContainerReport, too. Actually, SCM updates the {{DeleteTransactionId}} based 
on the DeletedBlockLogImpl now.
{code:java|title=TestContainerMapping.java|borderStyle=solid}
@@ -243,7 +243,7 @@ public void testContainerCloseWithContainerReport() throws 
IOException {
         .setReadBytes(5368705120L)
         .setWriteBytes(5368705120L)
         .setContainerID(info.getContainerID())
-        .setDeleteTransactionId(0);
+        .setDeleteTransactionId(3592468L);

     reports.add(ciBuilder.build());

@@ -258,6 +258,7 @@ public void testContainerCloseWithContainerReport() throws 
IOException {
     Assert.assertEquals(500000000L,
         updatedContainer.getNumberOfKeys());
     Assert.assertEquals(5368705120L, updatedContainer.getUsedBytes());
+    Assert.assertEquals(3592468L, updatedContainer.getDeleteTransactionId());
     NavigableSet<ContainerID> pendingCloseContainers = 
mapping.getStateManager()
         .getMatchingContainerIDs(
             containerOwner,
{code}


was (Author: gelixin):
[~ljain] Thanks for reviewing this! patch 002 addressed all your comments 
except the one :
bq. 3.We can add a default implementation for isValidContainerType in 
ContainerDeletionChoosingPolicy.
That's because _ContainerDeletionChoosingPolicy_ is interface that not allowed 
to have body.
 
BTW, I have tried to add a test like below, but find that the test will fail 
even in the *trunk branch*. I'm not sure wether this is a bug, if it is, maybe 
we should have another jira to trace it.

{code:java|title=TestContainerMapping.java|borderStyle=solid}
@@ -243,7 +243,7 @@ public void testContainerCloseWithContainerReport() throws 
IOException {
         .setReadBytes(5368705120L)
         .setWriteBytes(5368705120L)
         .setContainerID(info.getContainerID())
-        .setDeleteTransactionId(0);
+        .setDeleteTransactionId(3592468L);

     reports.add(ciBuilder.build());

@@ -258,6 +258,7 @@ public void testContainerCloseWithContainerReport() throws 
IOException {
     Assert.assertEquals(500000000L,
         updatedContainer.getNumberOfKeys());
     Assert.assertEquals(5368705120L, updatedContainer.getUsedBytes());
+    Assert.assertEquals(3592468L, updatedContainer.getDeleteTransactionId());
     NavigableSet<ContainerID> pendingCloseContainers = 
mapping.getStateManager()
         .getMatchingContainerIDs(
             containerOwner,
{code}

> Move numPendingDeletionBlocks and deleteTransactionId from ContainerData to 
> KeyValueContainerData
> -------------------------------------------------------------------------------------------------
>
>                 Key: HDDS-265
>                 URL: https://issues.apache.org/jira/browse/HDDS-265
>             Project: Hadoop Distributed Data Store
>          Issue Type: Bug
>    Affects Versions: 0.2.1
>            Reporter: Hanisha Koneru
>            Assignee: LiXin Ge
>            Priority: Major
>             Fix For: 0.2.1
>
>         Attachments: HDDS-265.000.patch, HDDS-265.001.patch, 
> HDDS-265.002.patch
>
>
> "numPendingDeletionBlocks" and "deleteTransactionId" fields are specific to 
> KeyValueContainers. As such they should be moved to KeyValueContainerData 
> from ContainerData.
> ContainerReport should also be refactored to take in this change. 
> Please refer to [~ljain]'s comment in HDDS-250.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to