Github user anubhav100 commented on the issue:

    https://github.com/apache/carbondata/pull/1660
  
    @chenliang reason that i return true is that when 
blockletDetails.get(index).addDeletedRows(blocklet.getDeletedRows())
    
    it was adding the same row again to deletedrows treeset in   
DeleteDeltaBlockletDetail class and we are validating the result of whether 
treeset can add the rows in it or not if these rows are duplicated it will not 
add them but will return me false,so what i analyze that is it is not required 
to check whether this treeset can add row again or not
    
    because this check can also validate whether row is added to deleted rows 
treeset or not 
    blocklet.addDeletedRow(CarbonUpdateUtil.getIntegerValue(offset));
    
    so what i do is  IsRowAddedForDeletion is true that means deletion is 
succesfull and if that blocklet is  there  in blockletdetails simply add the 
deleted rows to  deletedrows treeset in DeleteDeltaBlockletDetails Class even 
if it is duplicated treeset will not add it 
    but what
    @sounakr said is correct if it is adding the same row again that means root 
cause is that somehow split has choosen duplicate blocks which is correct when 
i further debug the code if found out that in my table i have 15 lakh rows 
after 1408000 rows same block is picked up again by the splits which is not 
correct i am looking to debug it more and seeing why it happend


---

Reply via email to