[
https://issues.apache.org/jira/browse/ASTERIXDB-1929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16035813#comment-16035813
]
Yingyi Bu commented on ASTERIXDB-1929:
--------------------------------------
OK, I see the point. The current implementation makes some sense to me now.
Then, my only left concern is the usage of factory -- can we remove
setAntimatter from the LSMTreeRefrencingTupleWriterFactory, and instead, only
set/unset antimatter in the tuple writer ?
{noformat}
public class LSMTreeRefrencingTupleWriterFactory implements
ITreeIndexTupleWriterFactory {
private static final long serialVersionUID = 1L;
private final ITreeIndexTupleWriterFactory factory;
private transient ILSMTreeTupleWriter createdTupleWriter;
public LSMTreeRefrencingTupleWriterFactory(ITreeIndexTupleWriterFactory
factory) {
this.factory = factory;
}
@Override
public ITreeIndexTupleWriter createTupleWriter() {
createdTupleWriter = (ILSMTreeTupleWriter) factory.createTupleWriter();
return createdTupleWriter;
}
public void setAntimatter(boolean isAntimatter) {
if (this.createdTupleWriter != null) {
this.createdTupleWriter.setAntimatter(isAntimatter);
}
}
}
{noformat}
> 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)