Bug Description:
commits into RT table large bulk of data that has multiple replaces \ documents with the same id and cause save of multiple disk chunks make word stats in some disk chunks inaccurate. That also causes differences between call keywords and matching weights.
The difference from the reference at the single node is hard to debug. However if there is a cluster with multiple nodes and commits goes into single node (node2 for example) even after commits are finished all nodes returns different stats for multiple terms
mysql -h 127.0.0.1 -P 17306 -e "select count(*) from test where match('am'); show meta"
| 7845 |
| keyword[0] | am |
| docs[0] | 7876 |
| hits[0] | 8538 |
mysql -h 127.0.0.1 -P 17406 -e "select count(*) from test where match('am'); show meta"
| 7845 |
| keyword[0] | am |
| docs[0] | 7879 |
| hits[0] | 8542 |
mysql -h 127.0.0.1 -P 17506 -e "select count(*) from test where match('am'); show meta"
| 7845 |
| keyword[0] | am |
| docs[0] | 7878 |
| hits[0] | 8541 |
even result sets data are the same returned by the select query the same difference and for call keywords. Dump of the disk chunk dictionary also shows the same difference
indextool -c n1.conf --dumpdict n{1,2,3}/test/test.11.spi
--- n1
keyword,docs,hits,offset
am,7876,8538,507207
--- n2
am,7879,8542,507347
--- n3
am,7878,8541,507335
Related data to reproduce case located at ~/bin/rpl/ref-stat/case_couble_buf.zip.
~/build/m_reld/src/searchd -c node1.conf
~/build/m_reld/src/searchd -c node2.conf
~/build/m_reld/src/searchd -c node3.conf
- post initial batch of data
mysql -h0 -P 32106 < test1k.sql
- run the script
bash load.sh that in loop posts data in parallel into node2 then after posting check for the call keywords output and md5sum of spi on all nodes
- script got stopped on any
spi file difference
Manticore Search Version:
master
Operating System Version:
linux
Have you tried the latest development version?
Yes
Internal Checklist:
To be completed by the assignee. Check off tasks that have been completed or are not applicable.
Details
Bug Description:
commits into RT table large bulk of data that has multiple replaces \ documents with the same id and cause save of multiple disk chunks make word stats in some disk chunks inaccurate. That also causes differences between
call keywordsand matching weights.The difference from the reference at the single node is hard to debug. However if there is a cluster with multiple nodes and commits goes into single node (node2 for example) even after commits are finished all nodes returns different stats for multiple terms
even result sets data are the same returned by the select query the same difference and for
call keywords. Dump of the disk chunk dictionary also shows the same differenceRelated data to reproduce case located at
~/bin/rpl/ref-stat/case_couble_buf.zip.mysql -h0 -P 32106 < test1k.sqlbash load.shthat in loop posts data in parallel into node2 then after posting check for thecall keywordsoutput and md5sum ofspion all nodesspifile differenceManticore Search Version:
master
Operating System Version:
linux
Have you tried the latest development version?
Yes
Internal Checklist:
To be completed by the assignee. Check off tasks that have been completed or are not applicable.
Details