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

Chen Luo commented on ASTERIXDB-1929:
-------------------------------------

In order not to disturb too much about the existing storage codebase, this 
parameter isDelete should be false by default. However, if we add the new 
method in ILSMTreeTupleWriter, then there is no way for BTree to call this 
method. The actual insertion into a BTree happens in TreeIndexNSMFrame.insert 
(e.g., its subclass BTreeNSMLeafFrame), and this method has no idea of 
ILSMTreeTupleWriter, which belongs to LSM index.

It seems to me the only way of adding this method is to expose anti-matter 
tuples to BTree (though I think it's potentially dangerous to do so...)

> Factor out isAntimatter from TupleWriter and TupleWriterFactory
> ---------------------------------------------------------------
>
>                 Key: ASTERIXDB-1929
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1929
>             Project: Apache AsterixDB
>          Issue Type: Improvement
>          Components: Storage
>            Reporter: Yingyi Bu
>            Assignee: Chen Luo
>
> isAntimatter is a property of the tuple that we're writing, but not a 
> property of the Writer.  Hence, we probably should remove setAntimatter(...) 
> from the TupleWriter.
> Currently, for each tuple write operation, we need to call setAntimatter() in 
> both TupleWriterFactory and TupleWriter.  This is painful and potentially 
> buggy -- a XxxFactory typically is one per NC.
> Instead, we can add a parameter to write tuple method:
> public int writeTuple(ITupleReference tuple, byte[] targetBuf, int targetOff) 
> ->
> public int writeTuple(ITupleReference tuple, byte[] targetBuf, int targetOff, 
> boolean isDelete)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to