Changelog

Work in progress

The following are the changes we are either working on now or are going to work on in the nearest time.

Version X.X.X

Major new features

Minor changes

Breaking changes

Bugfixes

Version 4.2.0, Dec 23 2021

Major new features

Pseudo sharding on vs off in 4.2.0

4.0.2

It takes 48 seconds to insert 1M PQ rules and 406 seconds to REPLACE just 40K in 10K batches.

root@perf3 ~ # mysql -P9306 -h0 -e "drop table if exists pq; create table pq (f text, f2 text, j json, s string) type='percolate';"; date; for m in `seq 1 1000`; do (echo -n "insert into pq (id,query,filters,tags) values "; for n in `seq 1 1000`; do echo -n "(0,'@f (cat | ( angry dog ) | (cute mouse)) @f2 def', 'j.json.language=\"en\"', '{\"tag1\":\"tag1\",\"tag2\":\"tag2\"}')"; [ $n != 1000 ] && echo -n ","; done; echo ";")|mysql -P9306 -h0; done; date; mysql -P9306 -h0 -e "select count(*) from pq"

Wed Dec 22 10:24:30 AM CET 2021
Wed Dec 22 10:25:18 AM CET 2021
+----------+
| count(*) |
+----------+
|  1000000 |
+----------+

root@perf3 ~ # date; (echo "begin;"; for offset in `seq 0 10000 30000`; do n=0; echo "replace into pq (id,query,filters,tags) values "; for id in `mysql -P9306 -h0 -NB -e "select id from pq limit $offset, 10000 option max_matches=1000000"`; do echo "($id,'@f (tiger | ( angry bear ) | (cute panda)) @f2 def', 'j.json.language=\"de\"', '{\"tag1\":\"tag1\",\"tag2\":\"tag2\"}')"; n=$((n+1)); [ $n != 10000 ] && echo -n ","; done; echo ";"; done; echo "commit;") > /tmp/replace.sql; date
Wed Dec 22 10:26:23 AM CET 2021
Wed Dec 22 10:26:27 AM CET 2021
root@perf3 ~ # time mysql -P9306 -h0 < /tmp/replace.sql

real    6m46.195s
user    0m0.035s
sys 0m0.008s

4.2.0

It takes 34 seconds to insert 1M PQ rules and 23 seconds to REPLACE them in 10K batches.

root@perf3 ~ # mysql -P9306 -h0 -e "drop table if exists pq; create table pq (f text, f2 text, j json, s string) type='percolate';"; date; for m in `seq 1 1000`; do (echo -n "insert into pq (id,query,filters,tags) values "; for n in `seq 1 1000`; do echo -n "(0,'@f (cat | ( angry dog ) | (cute mouse)) @f2 def', 'j.json.language=\"en\"', '{\"tag1\":\"tag1\",\"tag2\":\"tag2\"}')"; [ $n != 1000 ] && echo -n ","; done; echo ";")|mysql -P9306 -h0; done; date; mysql -P9306 -h0 -e "select count(*) from pq"

Wed Dec 22 10:06:38 AM CET 2021
Wed Dec 22 10:07:12 AM CET 2021
+----------+
| count(*) |
+----------+
|  1000000 |
+----------+

root@perf3 ~ # date; (echo "begin;"; for offset in `seq 0 10000 990000`; do n=0; echo "replace into pq (id,query,filters,tags) values "; for id in `mysql -P9306 -h0 -NB -e "select id from pq limit $offset, 10000 option max_matches=1000000"`; do echo "($id,'@f (tiger | ( angry bear ) | (cute panda)) @f2 def', 'j.json.language=\"de\"', '{\"tag1\":\"tag1\",\"tag2\":\"tag2\"}')"; n=$((n+1)); [ $n != 10000 ] && echo -n ","; done; echo ";"; done; echo "commit;") > /tmp/replace.sql; date
Wed Dec 22 10:12:31 AM CET 2021
Wed Dec 22 10:14:00 AM CET 2021
root@perf3 ~ # time mysql -P9306 -h0 < /tmp/replace.sql

real    0m23.248s
user    0m0.891s
sys 0m0.047s

Minor changes

Breaking changes

Bugfixes

Version 4.0.2, Sep 21 2021

Major new features

Minor changes

3.6.0

time curl -X POST -d '{"update":{"index":"idx","id":4611686018427387905,"doc":{"mode":0}}}' -H "Content-Type: application/x-ndjson" http://127.0.0.1:6358/json/bulk

real    0m43.783s
user    0m0.008s
sys     0m0.007s

4.0.2

time curl -X POST -d '{"update":{"index":"idx","id":4611686018427387905,"doc":{"mode":0}}}' -H "Content-Type: application/x-ndjson" http://127.0.0.1:6358/json/bulk

real    0m0.006s
user    0m0.004s
sys     0m0.001s

Breaking changes

Migration from Manticore 3

Bugfixes

Version 3.6.0, May 3rd 2021

Maintenance release before Manticore 4

Major new features

Minor changes

Optimizations

Bugfixes

Breaking changes:

Deprecations

Version 3.5.4, Dec 10 2020

New Features

Minor Changes

Deprecations

Bugfixes

Version 3.5.2, Oct 1 2020

New features

Minor changes

Deprecations:

Docker

The official Docker image is now based on Ubuntu 20.04 LTS

Packaging

Besides the usual manticore package, you can also install Manticore Search by components:

Bugifixes

  1. Commit 2a474dc1 Crash of daemon at grouper at RT index with different chunks
  2. Commit 57a19e5a Fastpath for empty remote docs
  3. Commit 07dd3f31 Expression stack frame detection runtime
  4. Commit 08ae357c Matching above 32 fields at percolate indexes
  5. Commit 16b9390f Replication listen ports range
  6. Commit 5fa671af Show create table on pq
  7. Commit 54d133b6 HTTPS port behavior
  8. Commit fdbbe524 Mixing docstore rows when replacing
  9. Commit afb53f64 Switch TFO unavailable message level to ‘info’
  10. Commit 59d94cef Crash on strcmp invalid use
  11. Commit 04af0349 Adding index to cluster with system (stopwords) files
  12. Commit 50148b4e Merge indexes with large dictionaries; RT optimize of large disk chunks
  13. Commit a2adf158 Indextool can dump meta from current version
  14. Commit 69f6d5f7 Issue in group order in GROUP N
  15. Commit 24d5d80f Explicit flush for SphinxSE after handshake
  16. Commit 31c4d78a Avoid copy of huge descriptions when not necessary
  17. Commit 2959e2ca Negative time in show threads
  18. Commit f0b35710 Token filter plugin vs zero position deltas
  19. Commit a49e5bc1 Change ‘FAIL’ to ‘WARNING’ on multiple hits

Version 3.5.0, 22 Jul 2020

Major new features:

Minor changes

Breaking changes:

Deprecations:

Packages

Bugfixes:

  1. Issue #351 searchd memory leak
  2. Commit ceabe44f Tiny read out of bounds in snippets
  3. Commit 1c3e84a3 Dangerous write into local variable for crash queries
  4. Commit 26e094ab Tiny memory leak of sorter in test 226
  5. Commit d2c7f86a Huge memory leak in test 226
  6. Commit 0dd80122 Cluster shows the nodes are in sync, but count(*) shows different numbers
  7. Commit f1c1ac3f Cosmetic: Duplicate and sometimes lost warning messages in the log
  8. Commit f1c1ac3f Cosmetic: (null) index name in log
  9. Commit 359dbd30 Cannot retrieve more than 70M results
  10. Commit 19f328ee Can’t insert PQ rules with no-columns syntax
  11. Commit bf685d5d Misleading error message when inserting a document to an index in a cluster
  12. Commit 2cf18c83 /json/replace and json/update return id in exponent form
  13. Issue #324 Update json scalar properties and mva in the same query
  14. Commit d38409eb hitless_words doesn’t work in RT mode
  15. Commit 5813d639 ALTER RECONFIGURE in rt mode should be disallowed
  16. Commit 5813d639 rt_mem_limit gets reset to 128M after searchd restart
  17. highlight() sometimes hangs
  18. Commit 7cd878f4 Failed to use U+code in RT mode
  19. Commit 2b213de4 Failed to use wildcard at wordforms at RT mode
  20. Commit e9d07e68 Fixed SHOW CREATE TABLE vs multiple wordform files
  21. Commit fc90a84f JSON query without “query” crashes searchd
  22. Manticore official docker couldn’t index from mysql 8
  23. Commit 23e05d32 HTTP /json/insert requires id
  24. Commit bd679af0 SHOW CREATE TABLE doesn’t work for PQ
  25. Commit bd679af0 CREATE TABLE LIKE doesn’t work properly for PQ
  26. Commit 5eacf28f End of line in settings in show index status
  27. Commit cb153228 Empty title in “highlight” in HTTP JSON response
  28. Issue #318 CREATE TABLE LIKE infix error
  29. Commit 9040d22c RT crashes under load
  30. cd512c7d Lost crash log on crash at RT disk chunk
  31. Issue #323 Import table fails and closes the connection
  32. Commit 6275316a ALTER reconfigure corrupts a PQ index
  33. Commit 9c1d221e Searchd reload issues after change index type
  34. Commit 71e2b5bb Daemon crashes on import table with missed files
  35. Issue #322 Crash on select using multiple indexes, group by and ranker = none
  36. Commit c3f58490 HIGHLIGHT() doesn’t higlight in string attributes
  37. Issue #320 FACET fails to sort on string attribute
  38. Commit 4f1a1f25 Error in case of missing data dir
  39. Commit 04f4ddd4 access_* are not supported in RT mode
  40. Commit 1c0616a2 Bad JSON objects in strings: 1. CALL PQ returns “Bad JSON objects in strings: 1” when the json is greater than some value.
  41. Commit 32f943d6 RT-mode inconsistency. In some cases I can’t drop the index since it’s unknown and can’t create it since the directory is not empty.
  42. Issue #319 Crash on select
  43. Commit 22a28dd7 max_xmlpipe2_field = 2M returned warning on 2M field
  44. Issue #342 Query conditions execution bug
  45. Commit dd8dcab2 Simple 2 terms search finds a document containing only one term
  46. Commit 90919e62 It was impossible in PQ to match a json with capital letters in keys
  47. Commit 56da086a Indexer crashes on csv+docstore
  48. Issue #363 using [null] in json attr in centos 7 causes corrupted inserted data
  49. Major Issue #345 Records not being inserted, count() is random, “replace into” returns OK
  50. max_query_time slows down SELECTs too much
  51. Issue #352 Master-agent communication fails on Mac OS
  52. Issue #328 Error when connecting to Manticore with Connector.Net/Mysql 8.0.19
  53. Commit daa760d2 Fixed escaping of \0 and optimized performance
  54. Commit 9bc5c01a Fixed count distinct vs json
  55. Commit 4f89a965 Fixed drop table at other node failed
  56. Commit 952af5a5 Fix crashes on tightly running call pq

Version 3.4.2, 10 April 2020

Critical bugfixes

Version 3.4.0, 26 March 2020

Major changes

Minor changes

Features

Improvements

Bugfixes

Version 3.3.0, 4 February 2020

Features

Improvements

Bugfixes

Version 3.2.2, 19 December 2019

Features

Improvements and changes

Bugfixes

Version 3.2.0, 17 October 2019

Features

Improvements and changes

Bugfixes

Version 3.1.2, 22 August 2019

Features and Improvements

Bugfixes

Version 3.1.0, 16 July 2019

Features and Improvements

Removals

Bugfixes

Version 3.0.2, 31 May 2019

Improvements

Removals

Deprecations

Bugfixes

Version 3.0.0, 6 May 2019

Features and improvements

Behaviour changes

Removed directives

Version 2.8.2 GA, 2 April 2019

Features and improvements

Compiling notes

Cmake minimum version is now 3.13. Compiling requires boost and libssl development libraries.

Bugfixes

Version 2.8.1 GA, 6 March 2019

Features and improvements

Bugfixes

Version 2.8.0 GA, 28 January 2019

Improvements

Bugfixes

Version 2.7.5 GA, 4 December 2018

Improvements

Bugfixes

Version 2.7.4 GA, 1 November 2018

Improvements

Bugfixes

Version 2.7.3 GA, 26 September 2018

Improvements

Bugfixes

Version 2.7.2 GA, 27 August 2018

Improvements

Bugfixes

Version 2.7.1 GA, 4 July 2018

Improvements

Bugfixes

Version 2.7.0 GA, 11 June 2018

Improvements

Bugfixes

Version 2.6.4 GA, 3 May 2018

Features and improvements

Bugfixes

Version 2.6.3 GA, 28 March 2018

Improvements

Bugfixes

Version 2.6.2 GA, 23 February 2018

Improvements

Bugfixes

Version 2.6.1 GA, 26 January 2018

Improvements

Bugfixes

Version 2.6.0, 29 December 2017

Features and improvements

Bugfixes

Upgrade

In this release we’ve changed internal protocol used by masters and agents to speak with each other. In case you run Manticoresearch in a distributed environment with multiple instances make sure your first upgrade agents, then the masters.

Version 2.5.1, 23 November 2017

Features and improvements

Bugfixes

Version 2.4.1 GA, 16 October 2017

Features and improvements

Compiling

Manticore Search is built using cmake and the minimum gcc version required for compiling is 4.7.2.

Folders and service

Bugfixes

Version 2.3.3, 06 July 2017