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

Ishan Chattopadhyaya commented on SOLR-5944:
--------------------------------------------

I am close to a patch for the above proposal, and shall post it soon.

One place where I am somewhere stuck is in the log buffering/replaying part. 
Here's the problem:
When a replica is put into recovery by the leader, it comes back up and tries 
to perform a peersync. This seems to be happening in a two phase process: 
buffering (where the updates, after being obtained from the leader's tlog, are 
played back and written to the replica's tlog but not its index/ulog) and 
replaying (where the tlog is replayed and the updates are written to 
ulog/index, but not into tlog again). The problem I'm facing is that during 
this buffering phase, the inplace updates can't find dependent updates if they 
are not in the index, since the updates are not written to ulog in the 
buffering phase.

I have two choices at the moment to get around this:
# During a buffering phase, I can keep a separate map of all updates (id to 
tlog pointer) to be used during and discarded after the buffering phase. That 
map can help resolve inplace updates that follow. (Pro: fast, Con: memory)
# For every inplace update, I traverse back into the tlog and linearly scan for 
the required dependent update. (Pro: no memory, Con: Slow / O(n))

At this point, I'm inclined to go for option 1, but I'm wondering if there are 
any serious downsides to doing this. Any suggestions, please?
Also, am I correct in my assumption that the no. of updates processed during 
this buffering phase will not be more than {{numUpdatesToKeep}}?
In case I sound confused/unclear, please let me know and I'll post the relevant 
failing test for this.

> Support updates of numeric DocValues
> ------------------------------------
>
>                 Key: SOLR-5944
>                 URL: https://issues.apache.org/jira/browse/SOLR-5944
>             Project: Solr
>          Issue Type: New Feature
>            Reporter: Ishan Chattopadhyaya
>            Assignee: Shalin Shekhar Mangar
>         Attachments: SOLR-5944.patch, SOLR-5944.patch, SOLR-5944.patch, 
> SOLR-5944.patch, SOLR-5944.patch, SOLR-5944.patch, SOLR-5944.patch, 
> SOLR-5944.patch, SOLR-5944.patch, SOLR-5944.patch, SOLR-5944.patch, 
> SOLR-5944.patch
>
>
> LUCENE-5189 introduced support for updates to numeric docvalues. It would be 
> really nice to have Solr support this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to