<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Good to hear. </div><div class=""><br class=""></div><div class="">The upcoming releases with the changes are soon on the agenda. As a user, you will not have to do anything special with the delete, and it will work across all delete_mode(s). The change is that riak_search (yokozuna) now handles tombstones on cleanup instead of waiting for the backend to reap. </div><div class=""><br class=""></div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); font-family: 'Ubuntu Mono for Powerline'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); font-family: 'Ubuntu Mono'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Zeeshan Lakhani<br class="">programmer | </div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">software engineer at @basho </div></span></div></span></div></span></div></div></div></div></div></div></div></div></div></div>
</div>
<br class=""><div><blockquote type="cite" class=""><div class="">On Feb 17, 2016, at 7:59 AM, Peter Roberts <<a href="mailto:peter.roberts@piksel.com" class="">peter.roberts@piksel.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">

<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" class="">

<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; font-size: 14px; font-family: Calibri, sans-serif;" class="">
<div class="">Hi Zeeshan,</div>
<div class=""><br class="">
</div>
<div class="">Configuring the delete_mode to immediate (or a very low millisecond value) does prevent this occurring for me, I hadn’t spotted this setting before.  This is a suitable solution for us at the moment.  There were no Solr errors in the logs so I think it
 wasn’t being called by Riak. </div>
<div class=""><br class="">
</div>
<div class="">Are you able to provide me with any more details on how the delete will change in the upcoming releases and when they might be available?</div>
<div class=""><br class="">
</div>
<div class="">Thanks,</div>
<div class="">Peter</div>
<div class=""><br class="">
</div>
<span id="OLK_SRC_BODY_SECTION" class="">
<div style="font-family: Calibri; font-size: 11pt; text-align: left; border-width: 1pt medium medium; border-style: solid none none; padding: 3pt 0in 0in; border-top-color: rgb(181, 196, 223);" class="">
<span style="font-weight:bold" class="">From: </span>Zeeshan Lakhani <<a href="mailto:zlakhani@basho.com" class="">zlakhani@basho.com</a>><br class="">
<span style="font-weight:bold" class="">Date: </span>Monday, 15 February 2016 20:27<br class="">
<span style="font-weight:bold" class="">To: </span>Peter Roberts <<a href="mailto:peter.roberts@piksel.com" class="">peter.roberts@piksel.com</a>><br class="">
<span style="font-weight:bold" class="">Cc: </span>"<a href="mailto:riak-users@lists.basho.com" class="">riak-users@lists.basho.com</a>" <<a href="mailto:riak-users@lists.basho.com" class="">riak-users@lists.basho.com</a>><br class="">
<span style="font-weight:bold" class="">Subject: </span>Re: Riak search 2 returning multiple stale results for single record<br class="">
</div>
<div class=""><br class="">
</div>
<div class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Hello Peter,
<div class=""><br class="">
</div>
<div class="">The cleanup for delete, as a call to SOLR, occurs after the reap happens in the backend, depending on delete_mode of course. Did you notice any Solr errors in the logs related to “failed to index” or something similar? Maybe the delete request
 never hit the solr_core/search_index, and, therefore, has stayed around as a sibling. The logs would help there. Have you set delete_mode to something specific (i.e. <a href="http://docs.basho.com/riak/latest/ops/advanced/deletion/#Configuring-Object-Deletion" class="">http://docs.basho.com/riak/latest/ops/advanced/deletion/#Configuring-Object-Deletion</a>)? </div>
<div class=""><br class="">
</div>
<div class="">I can tell you that the soon-to-be-released 2.0.7 and 2.2 releases fixes this with more aggressive tactics to handle deletes, especially around datatypes (I see that you’re using maps), instead of waiting for the call after the backend reap/removal. </div>
<div class=""><br class="">
</div>
<div class="">Looking at previous threads, your W quorum value can also matter - <a href="http://riak-users.197444.n3.nabble.com/Deleted-keys-come-back-td4033536.html#a4033576" class="">http://riak-users.197444.n3.nabble.com/Deleted-keys-come-back-td4033536.html#a4033576</a>. </div>
<div class=""><br class="">
</div>
<div class="">For you current situation, an updated re-PUT for those with siblings would resolve them, or via an internal solr cleanup call, or through a reindexing process. If you want to find me on IRC, we can discuss a few others tools we have that may help
 you get most of the way there until the new release, depending on the questions I asked in the first paragraph.</div>
<div class=""><br class="">
</div>
<div class="">Thanks.</div>
<div class=""><br class="">
<div class="">
<div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="font-family: 'Ubuntu Mono for Powerline'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="font-family: 'Ubuntu Mono'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Zeeshan Lakhani<br class="">
programmer | </div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
software engineer at @basho</div>
</span></div>
</span></div>
</span></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br class="">
<div class="">
<blockquote type="cite" class="">
<div class="">On Feb 15, 2016, at 5:33 AM, Peter Roberts <<a href="mailto:peter.roberts@piksel.com" class="">peter.roberts@piksel.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; font-size: 14px; font-family: Calibri, sans-serif;" class="">
<div class="">
<div class="">We’re currently evaluating whether Riak is suitable for our system and have an issue with multiple/stale results being returned from Riak search. We’re reliably seeing this occur when a record is  deleted and a new one created under the same key
 shortly afterwards – which, based on the _yz_id, causes siblings to be created. </div>
<div class=""><br class="">
</div>
<div class="">Accessing the record through the map datatype only gives us the expected record.  We’ve considered de-duplicating the result by ID but this could still result in search results where the query matches the old but not the new data. The obsolete
 records in Riak search/Solr never get cleaned up. </div>
<div class=""><br class="">
</div>
<div class="">Is this a known issue? Are we missing something on inserting/querying the data? Is it possible to tie the version of data in the Riak search result to the version retrieved from Riak by key?</div>
<div class=""><br class="">
</div>
<div class="">Below is an example of the Riak search query/result (using Node basho-riak-client) and datatype data. The date.value is set to the creation/update time. </div>
<div class=""><br class="">
</div>
<div class="">
<div class=""> var searchOptions = {</div>
<div class="">    indexName: 'minimals_index',</div>
<div class="">    q: 'name_register:foo',</div>
<div class="">    presort: ‘score'</div>
<div class="">}</div>
<div class=""><br class="">
</div>
<div class="">riakClient.search(searchOptions, function(err, result) {</div>
<div class="">  console.log('Search result', err, result);</div>
<div class="">  callback(err, result);</div>
</div>
<div class="">}</div>
<div class=""><br class="">
</div>
<div class="">Results:</div>
<div class="">{ numFound: 6,</div>
<div class="">  maxScore: 0.35434481501579285,</div>
<div class="">  docs: </div>
<div class="">   [ { score: 0.35434482,</div>
<div class="">       _yz_rb: 'minimals',</div>
<div class="">       _yz_rt: 'maps',</div>
<div class="">       _yz_rk: 'test:foo',</div>
<div class="">       _yz_id: '1*maps*minimals*test:foo*13*2EB6xtIHCicwmARKDJ81tS',</div>
<div class="">       'date_map._type_register': '_date',</div>
<div class="">       'date_map._value_register': '2016-02-12T11:39:22.942Z',</div>
<div class="">       name_register: 'foo',</div>
<div class="">       owner_register: 'test' },</div>
<div class="">…</div>
<div class="">     { score: 0.35434482,</div>
<div class="">       _yz_rb: 'minimals',</div>
<div class="">       _yz_rt: 'maps',</div>
<div class="">       _yz_rk: 'test:foo',</div>
<div class="">       _yz_id: '1*maps*minimals*test:foo*13*4hNPnHzeJpTc7S6nEW8vNb',</div>
<div class="">       'date_map._type_register': '_date',</div>
<div class="">       'date_map._value_register': '2016-02-12T13:28:11.785Z',</div>
<div class="">       name_register: 'foo',</div>
<div class="">       owner_register: 'test' } ] </div>
<div class="">}</div>
</div>
<div class=""><br class="">
</div>
<div class="">Riak get by ID:</div>
<div class="">
<div class="">$ curl -XGET "<a href="http://localhost:11098/types/maps/buckets/minimals/datatypes/test:foo" class="">http://localhost:11098/types/maps/buckets/minimals/datatypes/test:foo</a>"</div>
<div class="">{"type":"map","value":{"date_map":{"_type_register":"_date","_value_register":"2016-02-12T13:28:11.785Z"},"name_register":"foo","owner_register":"test"},"context":"g2wAAAABaAJtAAAADMHSXwlPAZAxAAAAQmEDag==“}</div>
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">Thanks,</div>
<div class="">Peter</div>
<div class=""><br class="">
</div>
</div>
_______________________________________________<br class="">
riak-users mailing list<br class="">
<a href="mailto:riak-users@lists.basho.com" class="">riak-users@lists.basho.com</a><br class="">
<a href="http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com" class="">http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com</a><br class="">
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</span>
</div>

</div></blockquote></div><br class=""></body></html>