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
---