Repository: manticoresoftware/manticoresearch
Pull request #2816: Test mysqldump with replication
Author: login: PavelShilin89
Labels: name: done
Created: 2024-12-05T02:01:56Z | Merged: 2025-03-13T11:47:23Z

**Type of Change (select one):**
- New feature - mysqldump restores data in replication mode

**Description of the Change:**
- Updated CLT-test replication-test.rec so that it also tests dump/restore in replication mode.

**Related Issue (provide the link):**
- https://github.com/manticoresoftware/manticoresearch/issues/2249



Diff:
diff --git a/.patterns b/.patterns
new file mode 100755
index 0000000000..e69de29bb2
diff --git a/test/clt-tests/base/replication/start-searchd-precach.recb b/test/clt-tests/base/replication/start-searchd-precach.recb
index feaf3afe6f..b10f2a69d8 100644
--- a/test/clt-tests/base/replication/start-searchd-precach.recb
+++ b/test/clt-tests/base/replication/start-searchd-precach.recb
@@ -2,17 +2,8 @@
 mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
 ––– output –––
 ––– input –––
-stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null
 ––– output –––
-Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
-Copyright (c) 2001-2016, Andrew Aksyonoff
-Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
-Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
-[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
-starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
-listening on %{IPADDR}:%{NUMBER} for mysql
-listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
-listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
 ––– input –––
 if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
 ––– output –––
diff --git a/test/clt-tests/base/searchd-with-flexible-ports.conf b/test/clt-tests/base/searchd-with-flexible-ports.conf
index 46a2731eb3..d08c15643d 100644
--- a/test/clt-tests/base/searchd-with-flexible-ports.conf
+++ b/test/clt-tests/base/searchd-with-flexible-ports.conf
@@ -2,7 +2,7 @@
 cat << EOF
 common {
 	plugin_dir = /usr/local/lib/manticore
-	lemmatizer_base = /usr/share/manticore/morph/
+	lemmatizer_base = /usr/share/manticore/
 }
 searchd {
 	listen = 127.0.0.1:${INSTANCE}306:mysql41
@@ -14,7 +14,6 @@ searchd {
 	data_dir = /var/log/manticore-${INSTANCE}
 	query_log_format = sphinxql
 	query_log_commands = 1
-	diskchunk_flush_write_timeout = -1
 }
 
 EOF
diff --git a/test/clt-tests/core/show-settings.rec b/test/clt-tests/core/show-settings.rec
index 99449819b8..25ccf41155 100644
--- a/test/clt-tests/core/show-settings.rec
+++ b/test/clt-tests/core/show-settings.rec
@@ -5,22 +5,21 @@ export INSTANCE=1
 ––– input –––
 mysql -h0 -P1306 -e "SHOW SETTINGS;"
 ––– output –––
-+---------------------------------------+------------------------------------------------------------+
-| Setting_name                          | Value                                                      |
-+---------------------------------------+------------------------------------------------------------+
-| configuration_file                    | /.clt/test/clt-tests/base/searchd-with-flexible-ports.conf |
-| worker_pid                            | %{NUMBER}                                                         |
-| searchd.listen                        | %{IPADDR}:%{NUMBER}:mysql41                                     |
-| searchd.listen                        | %{IPADDR}:%{NUMBER}                                             |
-| searchd.listen                        | %{IPADDR}:%{NUMBER}:http                                        |
-| searchd.log                           | /var/log/manticore-1/searchd.log                           |
-| searchd.query_log                     | /var/log/manticore-1/query.log                             |
-| searchd.pid_file                      | /var/log/manticore-1/searchd.pid                           |
-| searchd.data_dir                      | /var/log/manticore-1                                       |
-| searchd.query_log_format              | sphinxql                                                   |
-| searchd.query_log_commands            | 1                                                          |
-| searchd.diskchunk_flush_write_timeout | -1                                                         |
-| searchd.binlog_path                   | /var/log/manticore-1/binlog                                |
-| common.plugin_dir                     | /usr/local/lib/manticore                                   |
-| common.lemmatizer_base                | /usr/share/manticore/morph/                                |
-+---------------------------------------+------------------------------------------------------------+
++----------------------------+------------------------------------------------------------+
+| Setting_name               | Value                                                      |
++----------------------------+------------------------------------------------------------+
+| configuration_file         | /.clt/test/clt-tests/base/searchd-with-flexible-ports.conf |
+| worker_pid                 | %{NUMBER}                                                         |
+| searchd.listen             | %{IPADDR}:%{NUMBER}:mysql41                                     |
+| searchd.listen             | %{IPADDR}:%{NUMBER}                                             |
+| searchd.listen             | %{IPADDR}:%{NUMBER}:http                                        |
+| searchd.log                | /var/log/manticore-1/searchd.log                           |
+| searchd.query_log          | /var/log/manticore-1/query.log                             |
+| searchd.pid_file           | /var/log/manticore-1/searchd.pid                           |
+| searchd.data_dir           | /var/log/manticore-1                                       |
+| searchd.query_log_format   | sphinxql                                                   |
+| searchd.query_log_commands | 1                                                          |
+| searchd.binlog_path        | /var/log/manticore-1/binlog                                |
+| common.plugin_dir          | /usr/local/lib/manticore                                   |
+| common.lemmatizer_base     | /usr/share/manticore/                                      |
++----------------------------+------------------------------------------------------------+
diff --git a/test/clt-tests/replication/test-replication-with-mysqldump.rec b/test/clt-tests/replication/test-replication-with-mysqldump.rec
new file mode 100644
index 0000000000..8ee61219fb
--- /dev/null
+++ b/test/clt-tests/replication/test-replication-with-mysqldump.rec
@@ -0,0 +1,526 @@
+––– input –––
+export INSTANCE=1
+––– output –––
+––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+export INSTANCE=2
+––– output –––
+––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+export INSTANCE=3
+––– output –––
+––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+export CLUSTER_NAME=c
+––– output –––
+––– block: ../base/replication/create-cluster –––
+––– input –––
+echo 'the, and, of' > /tmp/stopwords.txt
+––– output –––
+––– input –––
+echo 'cat => feline' > /tmp/exceptions.txt
+––– output –––
+––– input –––
+mysql -h0 -P1306 -e "CREATE TABLE tbl1 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' exceptions='/tmp/exceptions.txt' rt_mem_limit='256M';"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
+––– output –––
+*************************** 1. row ***************************
+Variable_name: settings
+Value: engine = columnar
+exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_0.txt
+morphology = stem_en
+stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_0.txt
+rt_mem_limit = 268435456
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO tbl1 VALUES (1, 'The cat runs', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"
+––– output –––
+––– input –––
+for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
+––– output –––
+––– input –––
+mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
+––– output –––
+*************************** 1. row ***************************
+Counter: cluster_#!/[a-z]+/!#_status
+Value: primary
+––– input –––
+echo '=> faster' > /tmp/wordforms.txt
+––– output –––
+––– input –––
+mysql -h0 -P2306 -e "CREATE TABLE tbl2 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' morphology='stem_ru' wordforms='/tmp/wordforms.txt' rt_mem_limit='512M';"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
+––– output –––
+*************************** 1. row ***************************
+Variable_name: settings
+Value: engine = rowwise
+morphology = stem_ru
+wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
+rt_mem_limit = 536870912
+––– input –––
+mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (1, 'Текст на русском', 84, 2.71, '{\"ключ\":\"значение\"}', (4,5,6), 'строка', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (2, 'Прыжок', 19, 1.62, '{\"движение\":\"прыжок\",\"число\":3}', (7,8,9), 'пример', 1, '2024-06-10 15:45:00', (345678901234567890, 567890123456789012), (0.8, 0.7, 0.6, 0.5));"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"
+––– output –––
+––– input –––
+mysql -h0 -P3306 -e "CREATE TABLE tbl3 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' rt_mem_limit='512M';"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P3306 -e "SHOW TABLE tbl3 SETTINGS\G;"
+––– output –––
+*************************** 1. row ***************************
+Variable_name: settings
+Value: engine = rowwise
+rt_mem_limit = 536870912
+––– input –––
+mysql -h0 -P3306 -e "INSERT INTO tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Plain example', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P3306 -e "ALTER CLUSTER c ADD tbl3;"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
+––– output –––
++-------------------+----------------+
+| Counter           | Value          |
++-------------------+----------------+
+| cluster_c_indexes | tbl1,tbl2,tbl3 |
++-------------------+----------------+
+––– input –––
+for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
+––– output –––
+Data from c:tbl1 on port 1306:
++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl1 on port 2306:
++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl1 on port 3306:
++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
++------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+––– input –––
+for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
+––– output –––
+Data from c:tbl2 on port 1306:
++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+|    2 | Прыжок                         |   19 | 1.620000 | {"движение":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl2 on port 2306:
++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+|    2 | Прыжок                         |   19 | 1.620000 | {"движение":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl2 on port 3306:
++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+|    2 | Прыжок                         |   19 | 1.620000 | {"движение":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
++------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+––– input –––
+for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
+––– output –––
+Data from c:tbl3 on port 1306:
++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl3 on port 2306:
++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl3 on port 3306:
++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
++------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+––– input –––
+mysql -h0 -P1306 -e "REPLACE INTO c:tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
+––– output –––
+0
+––– input –––
+mysqldump -etc --replace -u cluster -h0 -P1306 --skip-comments manticore c:tbl1 | mysql -h0 -P1306; echo $?
+––– output –––
+-- Warning: version string returned by server is incorrect.
+-- Warning: column statistics not supported by the server.
+0
+––– input –––
+for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
+––– output –––
+Data from c:tbl1 on port 1306:
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl1 on port 2306:
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl1 on port 3306:
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+––– input –––
+for port in 1306 2306 3306; do mysql -h0 -P$port -e "SET GLOBAL cluster_user = 'new_username';"; done
+––– output –––
+––– input –––
+for port in 1306 2306 3306; do timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW VARIABLES LIKE 'cluster_user';\" | grep -q '| cluster_user  | new_username |'; do sleep 1; done" && echo "Port $port: cluster_user is new_username." || { echo "Port $port: cluster_user is not new_username."; exit 1; }; done
+––– output –––
+Port 1306: cluster_user is new_username.
+Port 2306: cluster_user is new_username.
+Port 3306: cluster_user is new_username.
+––– input –––
+mysql -h0 -P2306 -e "DELETE FROM c:tbl2 WHERE id = 2;"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P3306 -e "INSERT INTO c:tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'New plain entry', 50, 5.5, '{\"new\":\"entry\"}', (10,11,12), 'new_string', 0, '2025-03-02 10:00:00', (111222333444555666, 777888999000111222), (0.6, 0.7, 0.8, 0.9));"; echo $?
+––– output –––
+0
+––– input –––
+mysqldump -etc --replace --net-buffer-length=16M -u new_username -h0 -P2306 --skip-comments manticore c:tbl1 c:tbl2 c:tbl3 | mysql -h0 -P3306; echo $?
+––– output –––
+-- Warning: version string returned by server is incorrect.
+-- Warning: column statistics not supported by the server.
+0
+––– input –––
+for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
+––– output –––
+Data from c:tbl1 on port 1306:
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl1 on port 2306:
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl1 on port 3306:
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+––– input –––
+for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
+––– output –––
+Data from c:tbl2 on port 1306:
++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl2 on port 2306:
++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl2 on port 3306:
++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
++------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+––– input –––
+for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
+––– output –––
+Data from c:tbl3 on port 1306:
++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl3 on port 2306:
++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl3 on port 3306:
++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
++------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+––– input –––
+mysql -h0 -P1306 -e "ALTER CLUSTER c DROP tbl1;"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
+––– output –––
++-------------------+-----------+
+| Counter           | Value     |
++-------------------+-----------+
+| cluster_c_indexes | tbl2,tbl3 |
++-------------------+-----------+
+––– input –––
+echo 'new, stop, words' > /tmp/new_stopwords.txt; echo $?
+––– output –––
+0
+––– input –––
+echo 'dog => canine' > /tmp/new_exceptions.txt; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "ALTER TABLE tbl1 stopwords='/tmp/new_stopwords.txt' exceptions='/tmp/new_exceptions.txt';"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
+––– output –––
+*************************** 1. row ***************************
+Variable_name: settings
+Value: engine = columnar
+exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_1.txt
+morphology = stem_en
+stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_1.txt
+rt_mem_limit = 268435456
+––– input –––
+mysql -h0 -P1306 -e "REPLACE INTO tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"; echo $?
+––– output –––
+0
+––– input –––
+for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
+––– output –––
+Data from c:tbl1 on port 1306:
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl1 on port 2306:
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl1 on port 3306:
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+––– input –––
+mysql -h0 -P2306 -e "SHOW TABLE c:tbl1 SETTINGS\G;"
+––– output –––
+*************************** 1. row ***************************
+Variable_name: settings
+Value: engine = columnar
+exceptions = /var/log/manticore-2/tbl1/exceptions_chunk0_1.txt
+morphology = stem_en
+stopwords = /var/log/manticore-2/tbl1/stopwords_chunk0_1.txt
+rt_mem_limit = 268435456
+––– input –––
+for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('new runs');"; done
+––– output –––
+Data from c:tbl1 on port 1306:
++------+---------------------+----------------------------+
+| id   | f                   | highlight()                |
++------+---------------------+----------------------------+
+|    1 | Updated feline runs | Updated feline <b>runs</b> |
++------+---------------------+----------------------------+
+Data from c:tbl1 on port 2306:
++------+---------------------+----------------------------+
+| id   | f                   | highlight()                |
++------+---------------------+----------------------------+
+|    1 | Updated feline runs | Updated feline <b>runs</b> |
++------+---------------------+----------------------------+
+Data from c:tbl1 on port 3306:
++------+---------------------+----------------------------+
+| id   | f                   | highlight()                |
++------+---------------------+----------------------------+
+|    1 | Updated feline runs | Updated feline <b>runs</b> |
++------+---------------------+----------------------------+
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO c:tbl1 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'The dog barks', 10, 2.5, '{\"animal\":\"dog\"}', (4,5), 'bark', 1, '2025-01-01 10:00:00', (111222333444555, 666777888999000), (0.5, 0.6, 0.7, 0.8));"; echo $?
+––– output –––
+0
+––– input –––
+for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('canine');"; done
+––– output –––
+Data from c:tbl1 on port 1306:
++------+---------------+----------------------+
+| id   | f             | highlight()          |
++------+---------------+----------------------+
+|    2 | The dog barks | The <b>dog</b> barks |
++------+---------------+----------------------+
+Data from c:tbl1 on port 2306:
++------+---------------+----------------------+
+| id   | f             | highlight()          |
++------+---------------+----------------------+
+|    2 | The dog barks | The <b>dog</b> barks |
++------+---------------+----------------------+
+Data from c:tbl1 on port 3306:
++------+---------------+----------------------+
+| id   | f             | highlight()          |
++------+---------------+----------------------+
+|    2 | The dog barks | The <b>dog</b> barks |
++------+---------------+----------------------+
+––– input –––
+for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
+––– output –––
+Data from c:tbl1 on port 1306:
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl1 on port 2306:
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl1 on port 3306:
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
++------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+––– input –––
+mysql -h0 -P2306 -e "ALTER CLUSTER c DROP tbl2;"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P2306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
+––– output –––
++-------------------+-----------+
+| Counter           | Value     |
++-------------------+-----------+
+| cluster_c_indexes | tbl3,tbl1 |
++-------------------+-----------+
+––– input –––
+ls /usr/share/manticore/ru.pak
+––– output –––
+/usr/share/manticore/ru.pak
+––– input –––
+mysql -h0 -P2306 -e "ALTER TABLE tbl2 morphology='lemmatize_ru';"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
+––– output –––
+*************************** 1. row ***************************
+Variable_name: settings
+Value: engine = rowwise
+morphology = lemmatize_ru
+wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
+rt_mem_limit = 536870912
+––– input –––
+mysqldump -etc --replace -u new_username -h0 -P2306 --skip-comments manticore tbl2 | mysql -P2306 -h0; echo $?
+––– output –––
+-- Warning: version string returned by server is incorrect.
+-- Warning: column statistics not supported by the server.
+0
+––– input –––
+mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P2306 -e "INSERT INTO c:tbl2 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Кот прыжки делает', 5, 1.1, '{\"движение\":\"прыжки\"}', (10,11), 'кот', 1, '2025-03-11 12:00:00', (111111111, 222222222), (0.9, 0.8, 0.7, 0.6));"; echo $?
+––– output –––
+0
+––– input –––
+for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl2 WHERE MATCH('прыжок');"; done
+––– output –––
+Data from c:tbl2 on port 1306:
++------+----------------------------------+-----------------------------------------+
+| id   | f                                | highlight()                             |
++------+----------------------------------+-----------------------------------------+
+|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
++------+----------------------------------+-----------------------------------------+
+Data from c:tbl2 on port 2306:
++------+----------------------------------+-----------------------------------------+
+| id   | f                                | highlight()                             |
++------+----------------------------------+-----------------------------------------+
+|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
++------+----------------------------------+-----------------------------------------+
+Data from c:tbl2 on port 3306:
++------+----------------------------------+-----------------------------------------+
+| id   | f                                | highlight()                             |
++------+----------------------------------+-----------------------------------------+
+|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
++------+----------------------------------+-----------------------------------------+
+––– input –––
+for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
+––– output –––
+Data from c:tbl2 on port 1306:
++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Текст на русском                 |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+|    2 | Кот прыжки делает                |    5 | 1.100000 | {"движение":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl2 on port 2306:
++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Текст на русском                 |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+|    2 | Кот прыжки делает                |    5 | 1.100000 | {"движение":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+Data from c:tbl2 on port 3306:
++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+|    1 | Текст на русском                 |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+|    2 | Кот прыжки делает                |    5 | 1.100000 | {"движение":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
++------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+––– input –––
+rm -f /tmp/stopwords.txt /tmp/exceptions.txt /tmp/wordforms.txt /var/lib/manticore/tbl3.conf dump.sql
+––– output –––
diff --git a/test/clt-tests/replication/replication-test.rec b/test/clt-tests/replication/test-replication.rec
similarity index 100%
rename from test/clt-tests/replication/replication-test.rec
rename to test/clt-tests/replication/test-replication.rec


Reviews:
user: login: sanikolaev
state: CHANGES_REQUESTED
author_association: COLLABORATOR
submitted_at: 2024-12-10T06:20:40Z
user: login: sanikolaev
body: Please review each line of the test and ask yourself, "What does this command do, and do I really need it here?"
state: CHANGES_REQUESTED
author_association: COLLABORATOR
submitted_at: 2024-12-20T05:36:43Z
user: login: sanikolaev
body: You are always testing mysqldump with `--replace` and `-u replication`. Seems like bad coverage to me.
state: CHANGES_REQUESTED
author_association: COLLABORATOR
submitted_at: 2025-01-31T08:05:57Z
user: login: sanikolaev
body: Add an alter like here https://manticoresearch.com/ru/blog/mike-replication/ ("Изменение настроек реплицированной таблицы")
state: CHANGES_REQUESTED
author_association: COLLABORATOR
submitted_at: 2025-03-07T07:19:23Z
user: login: sanikolaev
state: CHANGES_REQUESTED
author_association: COLLABORATOR
submitted_at: 2025-03-13T04:49:05Z
user: login: sanikolaev
state: APPROVED
author_association: COLLABORATOR
submitted_at: 2025-03-13T11:33:20Z

Review comments:
diff_hunk: @@ -1,64 +1,208 @@
 ––– input –––
 export INSTANCE=1
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
path: test/clt-tests/replication/replication-test.rec
user: login: sanikolaev
body: There's this in the config:
```
	pid_file = /var/log/manticore-${INSTANCE}/searchd.pid
	data_dir = /var/log/manticore-${INSTANCE}
```

if it doesn't matter where to store these, it's better to store in /tmp/ since having that all in `/var/log` may be confusing.
created_at: 2024-12-10T04:58:36Z
author_association: COLLABORATOR
diff_hunk: @@ -1,64 +1,208 @@
 ––– input –––
 export INSTANCE=1
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
path: test/clt-tests/replication/replication-test.rec
user: login: sanikolaev
body: What is `{a,b,c,d,e,f,g,h,i,j}` for? I also see you do it multiple times below.
created_at: 2024-12-10T04:59:30Z
author_association: COLLABORATOR
diff_hunk: @@ -265,3 +461,152 @@ id: 6775836565403860994
 title: List of Dell business laptops
 content: Updated Content
 gid: 2
+––– input –––
+mysqldump -etc -h0 -P1306 --skip-comments manticore testrt > /tmp/manticore_backup.sql
+––– output –––
+-- Warning: version string returned by server is incorrect.
+-- Warning: column statistics not supported by the server.
+––– input –––
+mysql -h0 -P1306 -e "ALTER CLUSTER replication DROP testrt;" && for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "DROP TABLE testrt;"; done && for port in 1306 2306 3306 4306 5306; do echo "Checking tables on port $port"; mysql -h0 -P$port -e "SHOW TABLES;"; done
+––– output –––
+Checking tables on port 1306
+Checking tables on port 2306
+Checking tables on port 3306
+Checking tables on port 4306
+Checking tables on port 5306
+––– input –––
+mysql -h0 -P1306 -e "CREATE TABLE testrt (title text, content text, gid uint);"
path: test/clt-tests/replication/replication-test.rec
user: login: sanikolaev
body: If this is the only replication test, the schema should be much richer: 
- all data types
- both engines
- float_vector with knn on
- external files (wordforms, stopwords, exceptions)
- other table settings: e.g. morphology, rt_mem_limit
created_at: 2024-12-10T05:04:38Z
author_association: COLLABORATOR
diff_hunk: @@ -265,3 +461,152 @@ id: 6775836565403860994
 title: List of Dell business laptops
 content: Updated Content
 gid: 2
+––– input –––
+mysqldump -etc -h0 -P1306 --skip-comments manticore testrt > /tmp/manticore_backup.sql
path: test/clt-tests/replication/replication-test.rec
user: login: sanikolaev
body: This doesn't test dumping the table in replication mode since there's no `-ucluster` here.
created_at: 2024-12-10T05:28:35Z
author_association: COLLABORATOR
diff_hunk: @@ -265,3 +461,152 @@ id: 6775836565403860994
 title: List of Dell business laptops
 content: Updated Content
 gid: 2
+––– input –––
+mysqldump -etc -h0 -P1306 --skip-comments manticore testrt > /tmp/manticore_backup.sql
+––– output –––
+-- Warning: version string returned by server is incorrect.
+-- Warning: column statistics not supported by the server.
+––– input –––
+mysql -h0 -P1306 -e "ALTER CLUSTER replication DROP testrt;" && for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "DROP TABLE testrt;"; done && for port in 1306 2306 3306 4306 5306; do echo "Checking tables on port $port"; mysql -h0 -P$port -e "SHOW TABLES;"; done
+––– output –––
+Checking tables on port 1306
+Checking tables on port 2306
+Checking tables on port 3306
+Checking tables on port 4306
+Checking tables on port 5306
+––– input –––
+mysql -h0 -P1306 -e "CREATE TABLE testrt (title text, content text, gid uint);"
+––– output –––
+––– input –––
+mysql -h0 -P1306 < /tmp/manticore_backup.sql && mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;" && for port in 1306 2306 3306 4306 5306; do echo "Checking tables on port $port"; mysql -h0 -P$port -e "SHOW TABLES;"; mysql -h0 -P$port -e "SELECT * FROM testrt ORDER BY id ASC\G"; done
path: test/clt-tests/replication/replication-test.rec
user: login: sanikolaev
body: To restore from a dump of a replicated table you don't need to delete/create cluster, add/drop tables to cluster etc.
created_at: 2024-12-10T06:20:33Z
author_association: COLLABORATOR
diff_hunk: @@ -1,189 +1,689 @@
 ––– input –––
 export INSTANCE=1
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
path: test/clt-tests/replication/replication-test.rec
user: login: sanikolaev
body: Make sure this is needed.
created_at: 2024-12-20T05:24:38Z
author_association: COLLABORATOR
diff_hunk: @@ -1,189 +1,689 @@
 ––– input –––
 export INSTANCE=1
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=2
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=3
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=4
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export CLUSTER_NAME=replication
 ––– output –––
-––– block: ../base/replication/create-cluster –––
+––– input –––
+mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
+––– output –––
+––– input –––
+mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
+––– output –––
+*************************** 1. row ***************************
+Counter: cluster_#!/[a-z]+/!#_status
+Value: primary
 ––– input –––
 export CLUSTER_NAME=replication
 ––– output –––
-––– block: ../base/replication/join-cluster-on-all-nodes –––
 ––– input –––
-mysql -h0 -P1306 -e "CREATE TABLE testrt (title text, content text, gid uint);" && mysql -h0 -P1306 -e "INSERT INTO testrt VALUES(6775836565403860993,'List of HP business laptops','Elitebook Probook',1);" && mysql -h0 -P1306 -e "INSERT INTO testrt VALUES(6775836565403860994,'List of Dell business laptops','Latitude Precision Vostro',2);" && mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;" && mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
+for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
+––– output –––
+––– input –––
+mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
+––– output –––
+*************************** 1. row ***************************
+Counter: cluster_#!/[a-z]+/!#_status
+Value: primary
+––– input –––
+mysql -h0 -P1306 -e "CREATE TABLE testrt (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;"
+––– output –––
+––– input –––
+mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
 ––– output –––
 +-----------------------------+--------+
 | Counter                     | Value  |
 +-----------------------------+--------+
 | cluster_replication_indexes | testrt |
 +-----------------------------+--------+
 ––– input –––
-mysql -h0 -P1306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860993, 'iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
 ––– output –––
-*************************** 1. row ***************************
-id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
-*************************** 2. row ***************************
-id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+0
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860994, 'Galaxy S21 Ultra', 128, 'black', 2021, 1199.99, 1099.99, 0, '1609459200000', (4,5,6), (1234567890123456789, 9876543210987654321), '{\"features\": [\"Dynamic AMOLED 2X\", \"Exynos 2100\", \"108MP camera\"]}', (0.5, 0.4, 0.3, 0.2));"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "SHOW CREATE TABLE testrt;"
+––– output –––
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Table  | Create Table                                                                                                                                                                                                                                                                                                                  |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| testrt | CREATE TABLE testrt (
+id bigint,
+model text,
+storage_capacity integer,
+color string attribute,
+release_year integer,
+price float,
+discounted_price float,
+sold bool,
+date_added timestamp,
+product_codes multi,
+values multi64,
+additional_info json,
+vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='L2'
+) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/stop-searchd –––
 ––– input –––
-mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES(6775836565403860995,'List of HP business laptops','Macbook',3);"; echo $?
+searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860995, 'Google Pixel 6', 128, 'sorta seafoam', 2021, 699.99, 599.99, 1, '1635317932000', (33,34,35), (623456764345678976, 98765409877866654097, 1109876543450987650986), '{\"features\": [\"Google Tensor chip\", \"Flat OLED display\", \"Dual-camera system\"]}', (0.823448, 0.362478, 0.187971, 0.509821));"; echo $?
 ––– output –––
 0
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 sleep 5; mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
path: test/clt-tests/replication/replication-test.rec
user: login: sanikolaev
body: What is this sleep for?
created_at: 2024-12-20T05:31:19Z
author_association: COLLABORATOR
diff_hunk: @@ -1,189 +1,689 @@
 ––– input –––
 export INSTANCE=1
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=2
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=3
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=4
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export CLUSTER_NAME=replication
 ––– output –––
-––– block: ../base/replication/create-cluster –––
+––– input –––
+mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
+––– output –––
+––– input –––
+mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
+––– output –––
+*************************** 1. row ***************************
+Counter: cluster_#!/[a-z]+/!#_status
+Value: primary
 ––– input –––
 export CLUSTER_NAME=replication
 ––– output –––
-––– block: ../base/replication/join-cluster-on-all-nodes –––
 ––– input –––
-mysql -h0 -P1306 -e "CREATE TABLE testrt (title text, content text, gid uint);" && mysql -h0 -P1306 -e "INSERT INTO testrt VALUES(6775836565403860993,'List of HP business laptops','Elitebook Probook',1);" && mysql -h0 -P1306 -e "INSERT INTO testrt VALUES(6775836565403860994,'List of Dell business laptops','Latitude Precision Vostro',2);" && mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;" && mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
+for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
+––– output –––
+––– input –––
+mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
+––– output –––
+*************************** 1. row ***************************
+Counter: cluster_#!/[a-z]+/!#_status
+Value: primary
+––– input –––
+mysql -h0 -P1306 -e "CREATE TABLE testrt (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;"
+––– output –––
+––– input –––
+mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
 ––– output –––
 +-----------------------------+--------+
 | Counter                     | Value  |
 +-----------------------------+--------+
 | cluster_replication_indexes | testrt |
 +-----------------------------+--------+
 ––– input –––
-mysql -h0 -P1306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860993, 'iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
 ––– output –––
-*************************** 1. row ***************************
-id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
-*************************** 2. row ***************************
-id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+0
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860994, 'Galaxy S21 Ultra', 128, 'black', 2021, 1199.99, 1099.99, 0, '1609459200000', (4,5,6), (1234567890123456789, 9876543210987654321), '{\"features\": [\"Dynamic AMOLED 2X\", \"Exynos 2100\", \"108MP camera\"]}', (0.5, 0.4, 0.3, 0.2));"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "SHOW CREATE TABLE testrt;"
+––– output –––
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Table  | Create Table                                                                                                                                                                                                                                                                                                                  |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| testrt | CREATE TABLE testrt (
+id bigint,
+model text,
+storage_capacity integer,
+color string attribute,
+release_year integer,
+price float,
+discounted_price float,
+sold bool,
+date_added timestamp,
+product_codes multi,
+values multi64,
+additional_info json,
+vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='L2'
+) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/stop-searchd –––
 ––– input –––
-mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES(6775836565403860995,'List of HP business laptops','Macbook',3);"; echo $?
+searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860995, 'Google Pixel 6', 128, 'sorta seafoam', 2021, 699.99, 599.99, 1, '1635317932000', (33,34,35), (623456764345678976, 98765409877866654097, 1109876543450987650986), '{\"features\": [\"Google Tensor chip\", \"Flat OLED display\", \"Dual-camera system\"]}', (0.823448, 0.362478, 0.187971, 0.509821));"; echo $?
 ––– output –––
 0
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 sleep 5; mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
 ––– output –––
 *************************** 1. row ***************************
 id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
+model: iPhone 13 Pro
+storage_capacity: 256
+color: silver
+release_year: 2021
+price: 1099.989990
+discounted_price: 989.989990
+sold: 1
+date_added: 2224442480
+product_codes: 1,2,3
+values: 523456764345678976,9223372036854775807
+additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
+vector: 0.773448,0.312478,0.137971,0.459821
 *************************** 2. row ***************************
 id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+model: Galaxy S21 Ultra
+storage_capacity: 128
+color: black
+release_year: 2021
+price: 1199.989990
+discounted_price: 1099.989990
+sold: 0
+date_added: 3141431296
+product_codes: 4,5,6
+values: 1234567890123456789,9223372036854775807
+additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
+vector: 0.500000,0.400000,0.300000,0.200000
 *************************** 3. row ***************************
 id: 6775836565403860995
-title: List of HP business laptops
-content: Macbook
-gid: 3
+model: Google Pixel 6
+storage_capacity: 128
+color: sorta seafoam
+release_year: 2021
+price: 699.989990
+discounted_price: 599.989990
+sold: 1
+date_added: 3230359520
+product_codes: 33,34,35
+values: 623456764345678976,9223372036854775807
+additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
+vector: 0.823448,0.362478,0.187971,0.509821
 ––– input –––
 export INSTANCE=2
 ––– output –––
-––– block: ../base/replication/stop-searchd –––
 ––– input –––
-mysql -h0 -P3306 -e "INSERT INTO replication:testrt VALUES(6775836565403860996,'NEW','TABLE',4);"; echo $?
+searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860996, 'OnePlus 9', 256, 'winter mist', 2021, 729.99, 629.99, 0, '1648044532000', (36,37,38), (723456764345678976, 98765409877866654096, 1109876543450987650985), '{\"features\": [\"Qualcomm Snapdragon 888\", \"Fluid AMOLED display\", \"Hasselblad Camera for Mobile\"]}', (0.021106, 0.918278, 0.261892, 0.074594));"; echo $?
 ––– output –––
 0
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
path: test/clt-tests/replication/replication-test.rec
user: login: sanikolaev
body: What is this sleep for?
created_at: 2024-12-20T05:32:00Z
author_association: COLLABORATOR
diff_hunk: @@ -1,189 +1,689 @@
 ––– input –––
 export INSTANCE=1
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=2
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=3
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=4
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export CLUSTER_NAME=replication
 ––– output –––
-––– block: ../base/replication/create-cluster –––
+––– input –––
+mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
+––– output –––
+––– input –––
+mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
+––– output –––
+*************************** 1. row ***************************
+Counter: cluster_#!/[a-z]+/!#_status
+Value: primary
 ––– input –––
 export CLUSTER_NAME=replication
 ––– output –––
-––– block: ../base/replication/join-cluster-on-all-nodes –––
 ––– input –––
-mysql -h0 -P1306 -e "CREATE TABLE testrt (title text, content text, gid uint);" && mysql -h0 -P1306 -e "INSERT INTO testrt VALUES(6775836565403860993,'List of HP business laptops','Elitebook Probook',1);" && mysql -h0 -P1306 -e "INSERT INTO testrt VALUES(6775836565403860994,'List of Dell business laptops','Latitude Precision Vostro',2);" && mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;" && mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
+for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
+––– output –––
+––– input –––
+mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
+––– output –––
+*************************** 1. row ***************************
+Counter: cluster_#!/[a-z]+/!#_status
+Value: primary
+––– input –––
+mysql -h0 -P1306 -e "CREATE TABLE testrt (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;"
+––– output –––
+––– input –––
+mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
 ––– output –––
 +-----------------------------+--------+
 | Counter                     | Value  |
 +-----------------------------+--------+
 | cluster_replication_indexes | testrt |
 +-----------------------------+--------+
 ––– input –––
-mysql -h0 -P1306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860993, 'iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
 ––– output –––
-*************************** 1. row ***************************
-id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
-*************************** 2. row ***************************
-id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+0
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860994, 'Galaxy S21 Ultra', 128, 'black', 2021, 1199.99, 1099.99, 0, '1609459200000', (4,5,6), (1234567890123456789, 9876543210987654321), '{\"features\": [\"Dynamic AMOLED 2X\", \"Exynos 2100\", \"108MP camera\"]}', (0.5, 0.4, 0.3, 0.2));"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "SHOW CREATE TABLE testrt;"
+––– output –––
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Table  | Create Table                                                                                                                                                                                                                                                                                                                  |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| testrt | CREATE TABLE testrt (
+id bigint,
+model text,
+storage_capacity integer,
+color string attribute,
+release_year integer,
+price float,
+discounted_price float,
+sold bool,
+date_added timestamp,
+product_codes multi,
+values multi64,
+additional_info json,
+vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='L2'
+) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/stop-searchd –––
 ––– input –––
-mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES(6775836565403860995,'List of HP business laptops','Macbook',3);"; echo $?
+searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860995, 'Google Pixel 6', 128, 'sorta seafoam', 2021, 699.99, 599.99, 1, '1635317932000', (33,34,35), (623456764345678976, 98765409877866654097, 1109876543450987650986), '{\"features\": [\"Google Tensor chip\", \"Flat OLED display\", \"Dual-camera system\"]}', (0.823448, 0.362478, 0.187971, 0.509821));"; echo $?
 ––– output –––
 0
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 sleep 5; mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
 ––– output –––
 *************************** 1. row ***************************
 id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
+model: iPhone 13 Pro
+storage_capacity: 256
+color: silver
+release_year: 2021
+price: 1099.989990
+discounted_price: 989.989990
+sold: 1
+date_added: 2224442480
+product_codes: 1,2,3
+values: 523456764345678976,9223372036854775807
+additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
+vector: 0.773448,0.312478,0.137971,0.459821
 *************************** 2. row ***************************
 id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+model: Galaxy S21 Ultra
+storage_capacity: 128
+color: black
+release_year: 2021
+price: 1199.989990
+discounted_price: 1099.989990
+sold: 0
+date_added: 3141431296
+product_codes: 4,5,6
+values: 1234567890123456789,9223372036854775807
+additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
+vector: 0.500000,0.400000,0.300000,0.200000
 *************************** 3. row ***************************
 id: 6775836565403860995
-title: List of HP business laptops
-content: Macbook
-gid: 3
+model: Google Pixel 6
+storage_capacity: 128
+color: sorta seafoam
+release_year: 2021
+price: 699.989990
+discounted_price: 599.989990
+sold: 1
+date_added: 3230359520
+product_codes: 33,34,35
+values: 623456764345678976,9223372036854775807
+additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
+vector: 0.823448,0.362478,0.187971,0.509821
 ––– input –––
 export INSTANCE=2
 ––– output –––
-––– block: ../base/replication/stop-searchd –––
 ––– input –––
-mysql -h0 -P3306 -e "INSERT INTO replication:testrt VALUES(6775836565403860996,'NEW','TABLE',4);"; echo $?
+searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860996, 'OnePlus 9', 256, 'winter mist', 2021, 729.99, 629.99, 0, '1648044532000', (36,37,38), (723456764345678976, 98765409877866654096, 1109876543450987650985), '{\"features\": [\"Qualcomm Snapdragon 888\", \"Fluid AMOLED display\", \"Hasselblad Camera for Mobile\"]}', (0.021106, 0.918278, 0.261892, 0.074594));"; echo $?
 ––– output –––
 0
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
 ––– output –––
 *************************** 1. row ***************************
 id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
+model: iPhone 13 Pro
+storage_capacity: 256
+color: silver
+release_year: 2021
+price: 1099.989990
+discounted_price: 989.989990
+sold: 1
+date_added: 2224442480
+product_codes: 1,2,3
+values: 523456764345678976,9223372036854775807
+additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
+vector: 0.773448,0.312478,0.137971,0.459821
 *************************** 2. row ***************************
 id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+model: Galaxy S21 Ultra
+storage_capacity: 128
+color: black
+release_year: 2021
+price: 1199.989990
+discounted_price: 1099.989990
+sold: 0
+date_added: 3141431296
+product_codes: 4,5,6
+values: 1234567890123456789,9223372036854775807
+additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
+vector: 0.500000,0.400000,0.300000,0.200000
 *************************** 3. row ***************************
 id: 6775836565403860995
-title: List of HP business laptops
-content: Macbook
-gid: 3
+model: Google Pixel 6
+storage_capacity: 128
+color: sorta seafoam
+release_year: 2021
+price: 699.989990
+discounted_price: 599.989990
+sold: 1
+date_added: 3230359520
+product_codes: 33,34,35
+values: 623456764345678976,9223372036854775807
+additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
+vector: 0.823448,0.362478,0.187971,0.509821
 *************************** 4. row ***************************
 id: 6775836565403860996
-title: NEW
-content: TABLE
-gid: 4
+model: OnePlus 9
+storage_capacity: 256
+color: winter mist
+release_year: 2021
+price: 729.989990
+discounted_price: 629.989990
+sold: 0
+date_added: 3072057632
+product_codes: 36,37,38
+values: 723456764345678976,9223372036854775807
+additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
+vector: 0.021106,0.918278,0.261892,0.074594
+––– input –––
+sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
path: test/clt-tests/replication/replication-test.rec
user: login: sanikolaev
body: What is this sleep for?
created_at: 2024-12-20T05:32:10Z
author_association: COLLABORATOR
diff_hunk: @@ -1,189 +1,689 @@
 ––– input –––
 export INSTANCE=1
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=2
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=3
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=4
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export CLUSTER_NAME=replication
 ––– output –––
-––– block: ../base/replication/create-cluster –––
+––– input –––
+mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
+––– output –––
+––– input –––
+mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
+––– output –––
+*************************** 1. row ***************************
+Counter: cluster_#!/[a-z]+/!#_status
+Value: primary
 ––– input –––
 export CLUSTER_NAME=replication
 ––– output –––
-––– block: ../base/replication/join-cluster-on-all-nodes –––
 ––– input –––
-mysql -h0 -P1306 -e "CREATE TABLE testrt (title text, content text, gid uint);" && mysql -h0 -P1306 -e "INSERT INTO testrt VALUES(6775836565403860993,'List of HP business laptops','Elitebook Probook',1);" && mysql -h0 -P1306 -e "INSERT INTO testrt VALUES(6775836565403860994,'List of Dell business laptops','Latitude Precision Vostro',2);" && mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;" && mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
+for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
+––– output –––
+––– input –––
+mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
+––– output –––
+*************************** 1. row ***************************
+Counter: cluster_#!/[a-z]+/!#_status
+Value: primary
+––– input –––
+mysql -h0 -P1306 -e "CREATE TABLE testrt (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;"
+––– output –––
+––– input –––
+mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
 ––– output –––
 +-----------------------------+--------+
 | Counter                     | Value  |
 +-----------------------------+--------+
 | cluster_replication_indexes | testrt |
 +-----------------------------+--------+
 ––– input –––
-mysql -h0 -P1306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860993, 'iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
 ––– output –––
-*************************** 1. row ***************************
-id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
-*************************** 2. row ***************************
-id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+0
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860994, 'Galaxy S21 Ultra', 128, 'black', 2021, 1199.99, 1099.99, 0, '1609459200000', (4,5,6), (1234567890123456789, 9876543210987654321), '{\"features\": [\"Dynamic AMOLED 2X\", \"Exynos 2100\", \"108MP camera\"]}', (0.5, 0.4, 0.3, 0.2));"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "SHOW CREATE TABLE testrt;"
+––– output –––
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Table  | Create Table                                                                                                                                                                                                                                                                                                                  |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| testrt | CREATE TABLE testrt (
+id bigint,
+model text,
+storage_capacity integer,
+color string attribute,
+release_year integer,
+price float,
+discounted_price float,
+sold bool,
+date_added timestamp,
+product_codes multi,
+values multi64,
+additional_info json,
+vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='L2'
+) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/stop-searchd –––
 ––– input –––
-mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES(6775836565403860995,'List of HP business laptops','Macbook',3);"; echo $?
+searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860995, 'Google Pixel 6', 128, 'sorta seafoam', 2021, 699.99, 599.99, 1, '1635317932000', (33,34,35), (623456764345678976, 98765409877866654097, 1109876543450987650986), '{\"features\": [\"Google Tensor chip\", \"Flat OLED display\", \"Dual-camera system\"]}', (0.823448, 0.362478, 0.187971, 0.509821));"; echo $?
 ––– output –––
 0
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 sleep 5; mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
 ––– output –––
 *************************** 1. row ***************************
 id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
+model: iPhone 13 Pro
+storage_capacity: 256
+color: silver
+release_year: 2021
+price: 1099.989990
+discounted_price: 989.989990
+sold: 1
+date_added: 2224442480
+product_codes: 1,2,3
+values: 523456764345678976,9223372036854775807
+additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
+vector: 0.773448,0.312478,0.137971,0.459821
 *************************** 2. row ***************************
 id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+model: Galaxy S21 Ultra
+storage_capacity: 128
+color: black
+release_year: 2021
+price: 1199.989990
+discounted_price: 1099.989990
+sold: 0
+date_added: 3141431296
+product_codes: 4,5,6
+values: 1234567890123456789,9223372036854775807
+additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
+vector: 0.500000,0.400000,0.300000,0.200000
 *************************** 3. row ***************************
 id: 6775836565403860995
-title: List of HP business laptops
-content: Macbook
-gid: 3
+model: Google Pixel 6
+storage_capacity: 128
+color: sorta seafoam
+release_year: 2021
+price: 699.989990
+discounted_price: 599.989990
+sold: 1
+date_added: 3230359520
+product_codes: 33,34,35
+values: 623456764345678976,9223372036854775807
+additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
+vector: 0.823448,0.362478,0.187971,0.509821
 ––– input –––
 export INSTANCE=2
 ––– output –––
-––– block: ../base/replication/stop-searchd –––
 ––– input –––
-mysql -h0 -P3306 -e "INSERT INTO replication:testrt VALUES(6775836565403860996,'NEW','TABLE',4);"; echo $?
+searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860996, 'OnePlus 9', 256, 'winter mist', 2021, 729.99, 629.99, 0, '1648044532000', (36,37,38), (723456764345678976, 98765409877866654096, 1109876543450987650985), '{\"features\": [\"Qualcomm Snapdragon 888\", \"Fluid AMOLED display\", \"Hasselblad Camera for Mobile\"]}', (0.021106, 0.918278, 0.261892, 0.074594));"; echo $?
 ––– output –––
 0
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
 ––– output –––
 *************************** 1. row ***************************
 id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
+model: iPhone 13 Pro
+storage_capacity: 256
+color: silver
+release_year: 2021
+price: 1099.989990
+discounted_price: 989.989990
+sold: 1
+date_added: 2224442480
+product_codes: 1,2,3
+values: 523456764345678976,9223372036854775807
+additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
+vector: 0.773448,0.312478,0.137971,0.459821
 *************************** 2. row ***************************
 id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+model: Galaxy S21 Ultra
+storage_capacity: 128
+color: black
+release_year: 2021
+price: 1199.989990
+discounted_price: 1099.989990
+sold: 0
+date_added: 3141431296
+product_codes: 4,5,6
+values: 1234567890123456789,9223372036854775807
+additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
+vector: 0.500000,0.400000,0.300000,0.200000
 *************************** 3. row ***************************
 id: 6775836565403860995
-title: List of HP business laptops
-content: Macbook
-gid: 3
+model: Google Pixel 6
+storage_capacity: 128
+color: sorta seafoam
+release_year: 2021
+price: 699.989990
+discounted_price: 599.989990
+sold: 1
+date_added: 3230359520
+product_codes: 33,34,35
+values: 623456764345678976,9223372036854775807
+additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
+vector: 0.823448,0.362478,0.187971,0.509821
 *************************** 4. row ***************************
 id: 6775836565403860996
-title: NEW
-content: TABLE
-gid: 4
+model: OnePlus 9
+storage_capacity: 256
+color: winter mist
+release_year: 2021
+price: 729.989990
+discounted_price: 629.989990
+sold: 0
+date_added: 3072057632
+product_codes: 36,37,38
+values: 723456764345678976,9223372036854775807
+additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
+vector: 0.021106,0.918278,0.261892,0.074594
+––– input –––
+sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
+––– output –––
+*************************** 1. row ***************************
+id: 6775836565403860993
+model: iPhone 13 Pro
+storage_capacity: 256
+color: silver
+release_year: 2021
+price: 1099.989990
+discounted_price: 989.989990
+sold: 1
+date_added: 2224442480
+product_codes: 1,2,3
+values: 523456764345678976,9223372036854775807
+additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
+vector: 0.773448,0.312478,0.137971,0.459821
+*************************** 2. row ***************************
+id: 6775836565403860994
+model: Galaxy S21 Ultra
+storage_capacity: 128
+color: black
+release_year: 2021
+price: 1199.989990
+discounted_price: 1099.989990
+sold: 0
+date_added: 3141431296
+product_codes: 4,5,6
+values: 1234567890123456789,9223372036854775807
+additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
+vector: 0.500000,0.400000,0.300000,0.200000
+*************************** 3. row ***************************
+id: 6775836565403860995
+model: Google Pixel 6
+storage_capacity: 128
+color: sorta seafoam
+release_year: 2021
+price: 699.989990
+discounted_price: 599.989990
+sold: 1
+date_added: 3230359520
+product_codes: 33,34,35
+values: 623456764345678976,9223372036854775807
+additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
+vector: 0.823448,0.362478,0.187971,0.509821
+*************************** 4. row ***************************
+id: 6775836565403860996
+model: OnePlus 9
+storage_capacity: 256
+color: winter mist
+release_year: 2021
+price: 729.989990
+discounted_price: 629.989990
+sold: 0
+date_added: 3072057632
+product_codes: 36,37,38
+values: 723456764345678976,9223372036854775807
+additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
+vector: 0.021106,0.918278,0.261892,0.074594
+––– input –––
+sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
path: test/clt-tests/replication/replication-test.rec
user: login: sanikolaev
body: What is this sleep for?
created_at: 2024-12-20T05:32:17Z
author_association: COLLABORATOR
diff_hunk: @@ -1,189 +1,689 @@
 ––– input –––
 export INSTANCE=1
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=2
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=3
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=4
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export CLUSTER_NAME=replication
 ––– output –––
-––– block: ../base/replication/create-cluster –––
+––– input –––
+mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
+––– output –––
+––– input –––
+mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
+––– output –––
+*************************** 1. row ***************************
+Counter: cluster_#!/[a-z]+/!#_status
+Value: primary
 ––– input –––
 export CLUSTER_NAME=replication
 ––– output –––
-––– block: ../base/replication/join-cluster-on-all-nodes –––
 ––– input –––
-mysql -h0 -P1306 -e "CREATE TABLE testrt (title text, content text, gid uint);" && mysql -h0 -P1306 -e "INSERT INTO testrt VALUES(6775836565403860993,'List of HP business laptops','Elitebook Probook',1);" && mysql -h0 -P1306 -e "INSERT INTO testrt VALUES(6775836565403860994,'List of Dell business laptops','Latitude Precision Vostro',2);" && mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;" && mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
+for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
+––– output –––
+––– input –––
+mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
+––– output –––
+*************************** 1. row ***************************
+Counter: cluster_#!/[a-z]+/!#_status
+Value: primary
+––– input –––
+mysql -h0 -P1306 -e "CREATE TABLE testrt (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;"
+––– output –––
+––– input –––
+mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
 ––– output –––
 +-----------------------------+--------+
 | Counter                     | Value  |
 +-----------------------------+--------+
 | cluster_replication_indexes | testrt |
 +-----------------------------+--------+
 ––– input –––
-mysql -h0 -P1306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860993, 'iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
 ––– output –––
-*************************** 1. row ***************************
-id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
-*************************** 2. row ***************************
-id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+0
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860994, 'Galaxy S21 Ultra', 128, 'black', 2021, 1199.99, 1099.99, 0, '1609459200000', (4,5,6), (1234567890123456789, 9876543210987654321), '{\"features\": [\"Dynamic AMOLED 2X\", \"Exynos 2100\", \"108MP camera\"]}', (0.5, 0.4, 0.3, 0.2));"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "SHOW CREATE TABLE testrt;"
+––– output –––
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Table  | Create Table                                                                                                                                                                                                                                                                                                                  |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| testrt | CREATE TABLE testrt (
+id bigint,
+model text,
+storage_capacity integer,
+color string attribute,
+release_year integer,
+price float,
+discounted_price float,
+sold bool,
+date_added timestamp,
+product_codes multi,
+values multi64,
+additional_info json,
+vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='L2'
+) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/stop-searchd –––
 ––– input –––
-mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES(6775836565403860995,'List of HP business laptops','Macbook',3);"; echo $?
+searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860995, 'Google Pixel 6', 128, 'sorta seafoam', 2021, 699.99, 599.99, 1, '1635317932000', (33,34,35), (623456764345678976, 98765409877866654097, 1109876543450987650986), '{\"features\": [\"Google Tensor chip\", \"Flat OLED display\", \"Dual-camera system\"]}', (0.823448, 0.362478, 0.187971, 0.509821));"; echo $?
 ––– output –––
 0
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 sleep 5; mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
 ––– output –––
 *************************** 1. row ***************************
 id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
+model: iPhone 13 Pro
+storage_capacity: 256
+color: silver
+release_year: 2021
+price: 1099.989990
+discounted_price: 989.989990
+sold: 1
+date_added: 2224442480
+product_codes: 1,2,3
+values: 523456764345678976,9223372036854775807
+additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
+vector: 0.773448,0.312478,0.137971,0.459821
 *************************** 2. row ***************************
 id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+model: Galaxy S21 Ultra
+storage_capacity: 128
+color: black
+release_year: 2021
+price: 1199.989990
+discounted_price: 1099.989990
+sold: 0
+date_added: 3141431296
+product_codes: 4,5,6
+values: 1234567890123456789,9223372036854775807
+additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
+vector: 0.500000,0.400000,0.300000,0.200000
 *************************** 3. row ***************************
 id: 6775836565403860995
-title: List of HP business laptops
-content: Macbook
-gid: 3
+model: Google Pixel 6
+storage_capacity: 128
+color: sorta seafoam
+release_year: 2021
+price: 699.989990
+discounted_price: 599.989990
+sold: 1
+date_added: 3230359520
+product_codes: 33,34,35
+values: 623456764345678976,9223372036854775807
+additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
+vector: 0.823448,0.362478,0.187971,0.509821
 ––– input –––
 export INSTANCE=2
 ––– output –––
-––– block: ../base/replication/stop-searchd –––
 ––– input –––
-mysql -h0 -P3306 -e "INSERT INTO replication:testrt VALUES(6775836565403860996,'NEW','TABLE',4);"; echo $?
+searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860996, 'OnePlus 9', 256, 'winter mist', 2021, 729.99, 629.99, 0, '1648044532000', (36,37,38), (723456764345678976, 98765409877866654096, 1109876543450987650985), '{\"features\": [\"Qualcomm Snapdragon 888\", \"Fluid AMOLED display\", \"Hasselblad Camera for Mobile\"]}', (0.021106, 0.918278, 0.261892, 0.074594));"; echo $?
 ––– output –––
 0
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
 ––– output –––
 *************************** 1. row ***************************
 id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
+model: iPhone 13 Pro
+storage_capacity: 256
+color: silver
+release_year: 2021
+price: 1099.989990
+discounted_price: 989.989990
+sold: 1
+date_added: 2224442480
+product_codes: 1,2,3
+values: 523456764345678976,9223372036854775807
+additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
+vector: 0.773448,0.312478,0.137971,0.459821
 *************************** 2. row ***************************
 id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+model: Galaxy S21 Ultra
+storage_capacity: 128
+color: black
+release_year: 2021
+price: 1199.989990
+discounted_price: 1099.989990
+sold: 0
+date_added: 3141431296
+product_codes: 4,5,6
+values: 1234567890123456789,9223372036854775807
+additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
+vector: 0.500000,0.400000,0.300000,0.200000
 *************************** 3. row ***************************
 id: 6775836565403860995
-title: List of HP business laptops
-content: Macbook
-gid: 3
+model: Google Pixel 6
+storage_capacity: 128
+color: sorta seafoam
+release_year: 2021
+price: 699.989990
+discounted_price: 599.989990
+sold: 1
+date_added: 3230359520
+product_codes: 33,34,35
+values: 623456764345678976,9223372036854775807
+additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
+vector: 0.823448,0.362478,0.187971,0.509821
 *************************** 4. row ***************************
 id: 6775836565403860996
-title: NEW
-content: TABLE
-gid: 4
+model: OnePlus 9
+storage_capacity: 256
+color: winter mist
+release_year: 2021
+price: 729.989990
+discounted_price: 629.989990
+sold: 0
+date_added: 3072057632
+product_codes: 36,37,38
+values: 723456764345678976,9223372036854775807
+additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
+vector: 0.021106,0.918278,0.261892,0.074594
+––– input –––
+sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
+––– output –––
+*************************** 1. row ***************************
+id: 6775836565403860993
+model: iPhone 13 Pro
+storage_capacity: 256
+color: silver
+release_year: 2021
+price: 1099.989990
+discounted_price: 989.989990
+sold: 1
+date_added: 2224442480
+product_codes: 1,2,3
+values: 523456764345678976,9223372036854775807
+additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
+vector: 0.773448,0.312478,0.137971,0.459821
+*************************** 2. row ***************************
+id: 6775836565403860994
+model: Galaxy S21 Ultra
+storage_capacity: 128
+color: black
+release_year: 2021
+price: 1199.989990
+discounted_price: 1099.989990
+sold: 0
+date_added: 3141431296
+product_codes: 4,5,6
+values: 1234567890123456789,9223372036854775807
+additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
+vector: 0.500000,0.400000,0.300000,0.200000
+*************************** 3. row ***************************
+id: 6775836565403860995
+model: Google Pixel 6
+storage_capacity: 128
+color: sorta seafoam
+release_year: 2021
+price: 699.989990
+discounted_price: 599.989990
+sold: 1
+date_added: 3230359520
+product_codes: 33,34,35
+values: 623456764345678976,9223372036854775807
+additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
+vector: 0.823448,0.362478,0.187971,0.509821
+*************************** 4. row ***************************
+id: 6775836565403860996
+model: OnePlus 9
+storage_capacity: 256
+color: winter mist
+release_year: 2021
+price: 729.989990
+discounted_price: 629.989990
+sold: 0
+date_added: 3072057632
+product_codes: 36,37,38
+values: 723456764345678976,9223372036854775807
+additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
+vector: 0.021106,0.918278,0.261892,0.074594
+––– input –––
+sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
+––– output –––
+*************************** 1. row ***************************
+id: 6775836565403860993
+model: iPhone 13 Pro
+storage_capacity: 256
+color: silver
+release_year: 2021
+price: 1099.989990
+discounted_price: 989.989990
+sold: 1
+date_added: 2224442480
+product_codes: 1,2,3
+values: 523456764345678976,9223372036854775807
+additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
+vector: 0.773448,0.312478,0.137971,0.459821
+*************************** 2. row ***************************
+id: 6775836565403860994
+model: Galaxy S21 Ultra
+storage_capacity: 128
+color: black
+release_year: 2021
+price: 1199.989990
+discounted_price: 1099.989990
+sold: 0
+date_added: 3141431296
+product_codes: 4,5,6
+values: 1234567890123456789,9223372036854775807
+additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
+vector: 0.500000,0.400000,0.300000,0.200000
+*************************** 3. row ***************************
+id: 6775836565403860995
+model: Google Pixel 6
+storage_capacity: 128
+color: sorta seafoam
+release_year: 2021
+price: 699.989990
+discounted_price: 599.989990
+sold: 1
+date_added: 3230359520
+product_codes: 33,34,35
+values: 623456764345678976,9223372036854775807
+additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
+vector: 0.823448,0.362478,0.187971,0.509821
+*************************** 4. row ***************************
+id: 6775836565403860996
+model: OnePlus 9
+storage_capacity: 256
+color: winter mist
+release_year: 2021
+price: 729.989990
+discounted_price: 629.989990
+sold: 0
+date_added: 3072057632
+product_codes: 36,37,38
+values: 723456764345678976,9223372036854775807
+additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
+vector: 0.021106,0.918278,0.261892,0.074594
 ––– input –––
 mysql -h0 -P3306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
 ––– output –––
 *************************** 1. row ***************************
 id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
+model: iPhone 13 Pro
+storage_capacity: 256
+color: silver
+release_year: 2021
+price: 1099.989990
+discounted_price: 989.989990
+sold: 1
+date_added: 2224442480
+product_codes: 1,2,3
+values: 523456764345678976,9223372036854775807
+additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
+vector: 0.773448,0.312478,0.137971,0.459821
 *************************** 2. row ***************************
 id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+model: Galaxy S21 Ultra
+storage_capacity: 128
+color: black
+release_year: 2021
+price: 1199.989990
+discounted_price: 1099.989990
+sold: 0
+date_added: 3141431296
+product_codes: 4,5,6
+values: 1234567890123456789,9223372036854775807
+additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
+vector: 0.500000,0.400000,0.300000,0.200000
 *************************** 3. row ***************************
 id: 6775836565403860995
-title: List of HP business laptops
-content: Macbook
-gid: 3
+model: Google Pixel 6
+storage_capacity: 128
+color: sorta seafoam
+release_year: 2021
+price: 699.989990
+discounted_price: 599.989990
+sold: 1
+date_added: 3230359520
+product_codes: 33,34,35
+values: 623456764345678976,9223372036854775807
+additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
+vector: 0.823448,0.362478,0.187971,0.509821
 *************************** 4. row ***************************
 id: 6775836565403860996
-title: NEW
-content: TABLE
-gid: 4
+model: OnePlus 9
+storage_capacity: 256
+color: winter mist
+release_year: 2021
+price: 729.989990
+discounted_price: 629.989990
+sold: 0
+date_added: 3072057632
+product_codes: 36,37,38
+values: 723456764345678976,9223372036854775807
+additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
+vector: 0.021106,0.918278,0.261892,0.074594
 ––– input –––
 mysql -h0 -P4306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
 ––– output –––
 *************************** 1. row ***************************
 id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
+model: iPhone 13 Pro
+storage_capacity: 256
+color: silver
+release_year: 2021
+price: 1099.989990
+discounted_price: 989.989990
+sold: 1
+date_added: 2224442480
+product_codes: 1,2,3
+values: 523456764345678976,9223372036854775807
+additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
+vector: 0.773448,0.312478,0.137971,0.459821
 *************************** 2. row ***************************
 id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+model: Galaxy S21 Ultra
+storage_capacity: 128
+color: black
+release_year: 2021
+price: 1199.989990
+discounted_price: 1099.989990
+sold: 0
+date_added: 3141431296
+product_codes: 4,5,6
+values: 1234567890123456789,9223372036854775807
+additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
+vector: 0.500000,0.400000,0.300000,0.200000
 *************************** 3. row ***************************
 id: 6775836565403860995
-title: List of HP business laptops
-content: Macbook
-gid: 3
+model: Google Pixel 6
+storage_capacity: 128
+color: sorta seafoam
+release_year: 2021
+price: 699.989990
+discounted_price: 599.989990
+sold: 1
+date_added: 3230359520
+product_codes: 33,34,35
+values: 623456764345678976,9223372036854775807
+additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
+vector: 0.823448,0.362478,0.187971,0.509821
 *************************** 4. row ***************************
 id: 6775836565403860996
-title: NEW
-content: TABLE
-gid: 4
+model: OnePlus 9
+storage_capacity: 256
+color: winter mist
+release_year: 2021
+price: 729.989990
+discounted_price: 629.989990
+sold: 0
+date_added: 3072057632
+product_codes: 36,37,38
+values: 723456764345678976,9223372036854775807
+additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
+vector: 0.021106,0.918278,0.261892,0.074594
 ––– input –––
 mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
 ––– output –––
 *************************** 1. row ***************************
 id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
+model: iPhone 13 Pro
+storage_capacity: 256
+color: silver
+release_year: 2021
+price: 1099.989990
+discounted_price: 989.989990
+sold: 1
+date_added: 2224442480
+product_codes: 1,2,3
+values: 523456764345678976,9223372036854775807
+additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
+vector: 0.773448,0.312478,0.137971,0.459821
 *************************** 2. row ***************************
 id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+model: Galaxy S21 Ultra
+storage_capacity: 128
+color: black
+release_year: 2021
+price: 1199.989990
+discounted_price: 1099.989990
+sold: 0
+date_added: 3141431296
+product_codes: 4,5,6
+values: 1234567890123456789,9223372036854775807
+additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
+vector: 0.500000,0.400000,0.300000,0.200000
 *************************** 3. row ***************************
 id: 6775836565403860995
-title: List of HP business laptops
-content: Macbook
-gid: 3
+model: Google Pixel 6
+storage_capacity: 128
+color: sorta seafoam
+release_year: 2021
+price: 699.989990
+discounted_price: 599.989990
+sold: 1
+date_added: 3230359520
+product_codes: 33,34,35
+values: 623456764345678976,9223372036854775807
+additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
+vector: 0.823448,0.362478,0.187971,0.509821
 *************************** 4. row ***************************
 id: 6775836565403860996
-title: NEW
-content: TABLE
-gid: 4
+model: OnePlus 9
+storage_capacity: 256
+color: winter mist
+release_year: 2021
+price: 729.989990
+discounted_price: 629.989990
+sold: 0
+date_added: 3072057632
+product_codes: 36,37,38
+values: 723456764345678976,9223372036854775807
+additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
+vector: 0.021106,0.918278,0.261892,0.074594
 ––– input –––
 export INSTANCE=4
 ––– output –––
-––– block: ../base/replication/stop-searchd –––
 ––– input –––
-sleep 5;mysql -h0 -P2306 -e "DELETE FROM replication:testrt WHERE id = 6775836565403860994"; echo $?
+searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
+––– input –––
+sleep 5;mysql -h0 -P2306 -e "DELETE FROM replication:testrt WHERE id = 6775836565403860994;"; echo $?
path: test/clt-tests/replication/replication-test.rec
user: login: sanikolaev
body: What is this sleep for?
created_at: 2024-12-20T05:32:48Z
author_association: COLLABORATOR
diff_hunk: @@ -192,11 +692,35 @@ mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_2306.tx
 ––– input –––
 export INSTANCE=4
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 sleep 5;mysql -h0 -P1306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_1306.txt;
path: test/clt-tests/replication/replication-test.rec
user: login: sanikolaev
body: What is this sleep for?
created_at: 2024-12-20T05:33:04Z
author_association: COLLABORATOR
diff_hunk: @@ -1,189 +1,689 @@
 ––– input –––
 export INSTANCE=1
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=2
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=3
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=4
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 export CLUSTER_NAME=replication
 ––– output –––
-––– block: ../base/replication/create-cluster –––
+––– input –––
+mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
+––– output –––
+––– input –––
+mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
+––– output –––
+*************************** 1. row ***************************
+Counter: cluster_#!/[a-z]+/!#_status
+Value: primary
 ––– input –––
 export CLUSTER_NAME=replication
 ––– output –––
-––– block: ../base/replication/join-cluster-on-all-nodes –––
 ––– input –––
-mysql -h0 -P1306 -e "CREATE TABLE testrt (title text, content text, gid uint);" && mysql -h0 -P1306 -e "INSERT INTO testrt VALUES(6775836565403860993,'List of HP business laptops','Elitebook Probook',1);" && mysql -h0 -P1306 -e "INSERT INTO testrt VALUES(6775836565403860994,'List of Dell business laptops','Latitude Precision Vostro',2);" && mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;" && mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
+for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
+––– output –––
+––– input –––
+mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
+––– output –––
+*************************** 1. row ***************************
+Counter: cluster_#!/[a-z]+/!#_status
+Value: primary
+––– input –––
+mysql -h0 -P1306 -e "CREATE TABLE testrt (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;"
+––– output –––
+––– input –––
+mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
 ––– output –––
 +-----------------------------+--------+
 | Counter                     | Value  |
 +-----------------------------+--------+
 | cluster_replication_indexes | testrt |
 +-----------------------------+--------+
 ––– input –––
-mysql -h0 -P1306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860993, 'iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
 ––– output –––
-*************************** 1. row ***************************
-id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
-*************************** 2. row ***************************
-id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+0
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860994, 'Galaxy S21 Ultra', 128, 'black', 2021, 1199.99, 1099.99, 0, '1609459200000', (4,5,6), (1234567890123456789, 9876543210987654321), '{\"features\": [\"Dynamic AMOLED 2X\", \"Exynos 2100\", \"108MP camera\"]}', (0.5, 0.4, 0.3, 0.2));"; echo $?
+––– output –––
+0
+––– input –––
+mysql -h0 -P1306 -e "SHOW CREATE TABLE testrt;"
+––– output –––
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Table  | Create Table                                                                                                                                                                                                                                                                                                                  |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| testrt | CREATE TABLE testrt (
+id bigint,
+model text,
+storage_capacity integer,
+color string attribute,
+release_year integer,
+price float,
+discounted_price float,
+sold bool,
+date_added timestamp,
+product_codes multi,
+values multi64,
+additional_info json,
+vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='L2'
+) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/stop-searchd –––
 ––– input –––
-mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES(6775836565403860995,'List of HP business laptops','Macbook',3);"; echo $?
+searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860995, 'Google Pixel 6', 128, 'sorta seafoam', 2021, 699.99, 599.99, 1, '1635317932000', (33,34,35), (623456764345678976, 98765409877866654097, 1109876543450987650986), '{\"features\": [\"Google Tensor chip\", \"Flat OLED display\", \"Dual-camera system\"]}', (0.823448, 0.362478, 0.187971, 0.509821));"; echo $?
 ––– output –––
 0
 ––– input –––
 export INSTANCE=5
 ––– output –––
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 sleep 5; mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
 ––– output –––
 *************************** 1. row ***************************
 id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
+model: iPhone 13 Pro
+storage_capacity: 256
+color: silver
+release_year: 2021
+price: 1099.989990
+discounted_price: 989.989990
+sold: 1
+date_added: 2224442480
+product_codes: 1,2,3
+values: 523456764345678976,9223372036854775807
+additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
+vector: 0.773448,0.312478,0.137971,0.459821
 *************************** 2. row ***************************
 id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+model: Galaxy S21 Ultra
+storage_capacity: 128
+color: black
+release_year: 2021
+price: 1199.989990
+discounted_price: 1099.989990
+sold: 0
+date_added: 3141431296
+product_codes: 4,5,6
+values: 1234567890123456789,9223372036854775807
+additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
+vector: 0.500000,0.400000,0.300000,0.200000
 *************************** 3. row ***************************
 id: 6775836565403860995
-title: List of HP business laptops
-content: Macbook
-gid: 3
+model: Google Pixel 6
+storage_capacity: 128
+color: sorta seafoam
+release_year: 2021
+price: 699.989990
+discounted_price: 599.989990
+sold: 1
+date_added: 3230359520
+product_codes: 33,34,35
+values: 623456764345678976,9223372036854775807
+additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
+vector: 0.823448,0.362478,0.187971,0.509821
 ––– input –––
 export INSTANCE=2
 ––– output –––
-––– block: ../base/replication/stop-searchd –––
 ––– input –––
-mysql -h0 -P3306 -e "INSERT INTO replication:testrt VALUES(6775836565403860996,'NEW','TABLE',4);"; echo $?
+searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
+[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
+––– input –––
+mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860996, 'OnePlus 9', 256, 'winter mist', 2021, 729.99, 629.99, 0, '1648044532000', (36,37,38), (723456764345678976, 98765409877866654096, 1109876543450987650985), '{\"features\": [\"Qualcomm Snapdragon 888\", \"Fluid AMOLED display\", \"Hasselblad Camera for Mobile\"]}', (0.021106, 0.918278, 0.261892, 0.074594));"; echo $?
 ––– output –––
 0
-––– block: ../base/replication/start-searchd-precach –––
+––– input –––
+mkdir -p /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+chmod -R 777 /tmp/manticore-${INSTANCE}
+––– output –––
+––– input –––
+stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
+––– output –––
+Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
+Copyright (c) 2001-2016, Andrew Aksyonoff
+Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
+Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
+[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
+starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
+listening on all interfaces for mysql, port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+listening on all interfaces for sphinx and http(s), port=%{NUMBER}
+––– input –––
+if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
+––– output –––
+Accepting connections!
 ––– input –––
 sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
 ––– output –––
 *************************** 1. row ***************************
 id: 6775836565403860993
-title: List of HP business laptops
-content: Elitebook Probook
-gid: 1
+model: iPhone 13 Pro
+storage_capacity: 256
+color: silver
+release_year: 2021
+price: 1099.989990
+discounted_price: 989.989990
+sold: 1
+date_added: 2224442480
+product_codes: 1,2,3
+values: 523456764345678976,9223372036854775807
+additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
+vector: 0.773448,0.312478,0.137971,0.459821
 *************************** 2. row ***************************
 id: 6775836565403860994
-title: List of Dell business laptops
-content: Latitude Precision Vostro
-gid: 2
+model: Galaxy S21 Ultra
+storage_capacity: 128
+color: black
+release_year: 2021
+price: 1199.989990
+discounted_price: 1099.989990
+sold: 0
+date_added: 3141431296
+product_codes: 4,5,6
+values: 1234567890123456789,9223372036854775807
+additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
+vector: 0.500000,0.400000,0.300000,0.200000
 *************************** 3. row ***************************
 id: 6775836565403860995
-title: List of HP business laptops
-content: Macbook
-gid: 3
+model: Google Pixel 6
+storage_capacity: 128
+color: sorta seafoam
+release_year: 2021
+price: 699.989990
+discounted_price: 599.989990
+sold: 1
+date_added: 3230359520
+product_codes: 33,34,35
+values: 623456764345678976,9223372036854775807
+additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
+vector: 0.823448,0.362478,0.187971,0.509821
 *************************** 4. row ***************************
 id: 6775836565403860996
-title: NEW
-content: TABLE
-gid: 4
+model: OnePlus 9
+storage_capacity: 256
+color: winter mist
+release_year: 2021
+price: 729.989990
+discounted_price: 629.989990
+sold: 0
+date_added: 3072057632
+product_codes: 36,37,38
+values: 723456764345678976,9223372036854775807
+additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
+vector: 0.021106,0.918278,0.261892,0.074594
+––– input –––
+sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
+––– output –––
+*************************** 1. row ***************************
+id: 6775836565403860993
+model: iPhone 13 Pro
+storage_capacity: 256
+color: silver
+release_year: 2021
+price: 1099.989990
+discounted_price: 989.989990
+sold: 1
+date_added: 2224442480
+product_codes: 1,2,3
+values: 523456764345678976,9223372036854775807
+additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
+vector: 0.773448,0.312478,0.137971,0.459821
+*************************** 2. row ***************************
+id: 6775836565403860994
+model: Galaxy S21 Ultra
+storage_capacity: 128
+color: black
+release_year: 2021
+price: 1199.989990
+discounted_price: 1099.989990
+sold: 0
+date_added: 3141431296
+product_codes: 4,5,6
+values: 1234567890123456789,9223372036854775807
+additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
+vector: 0.500000,0.400000,0.300000,0.200000
+*************************** 3. row ***************************
+id: 6775836565403860995
+model: Google Pixel 6
+storage_capacity: 128
+color: sorta seafoam
+release_year: 2021
+price: 699.989990
+discounted_price: 599.989990
+sold: 1
+date_added: 3230359520
+product_codes: 33,34,35
+values: 623456764345678976,9223372036854775807
+additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
+vector: 0.823448,0.362478,0.187971,0.509821
+*************************** 4. row ***************************
+id: 6775836565403860996
+model: OnePlus 9
+storage_capacity: 256
+color: winter mist
+release_year: 2021
+price: 729.989990
+discounted_price: 629.989990
+sold: 0
+date_added: 3072057632
+product_codes: 36,37,38
+values: 723456764345678976,9223372036854775807
+additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
+vector: 0.021106,0.918278,0.261892,0.074594
+––– input –––
+sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
path: test/clt-tests/replication/replication-test.rec
user: login: sanikolaev
body: Why did you call `mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"` 3 times?
created_at: 2024-12-20T05:34:25Z
author_association: COLLABORATOR
diff_hunk: @@ -54,6 +57,15 @@ Value: primary
 echo 'fast => faster' > /tmp/wordforms.txt
 ––– output –––
 ––– input –––
+iconv -f UTF-8 -t UTF-8 -c /tmp/stopwords.txt -o /tmp/stopwords.txt; iconv -f UTF-8 -t UTF-8 -c /tmp/exceptions.txt -o /tmp/exceptions.txt;iconv -f UTF-8 -t UTF-8 -c /tmp/wordforms.txt -o /tmp/wordforms.txt
path: test/clt-tests/replication/test-replication-with-mysqldump.rec
user: login: sanikolaev
body: Figure out why this iconv call is needed and get rid of it.
created_at: 2025-03-13T04:48:04Z
author_association: COLLABORATOR
diff_hunk: @@ -54,6 +57,15 @@ Value: primary
 echo 'fast => faster' > /tmp/wordforms.txt
 ––– output –––
 ––– input –––
+iconv -f UTF-8 -t UTF-8 -c /tmp/stopwords.txt -o /tmp/stopwords.txt; iconv -f UTF-8 -t UTF-8 -c /tmp/exceptions.txt -o /tmp/exceptions.txt;iconv -f UTF-8 -t UTF-8 -c /tmp/wordforms.txt -o /tmp/wordforms.txt
+––– output –––
+––– input –––
+grep -axv '.*' /tmp/stopwords.txt && echo "stopwords.txt: НЕ UTF-8" || echo "stopwords.txt: UTF-8"; grep -axv '.*' /tmp/exceptions.txt && echo "exceptions.txt: НЕ UTF-8" || echo "exceptions.txt: UTF-8"; grep -axv '.*' /tmp/wordforms.txt && echo "wordforms.txt: НЕ UTF-8" || echo "wordforms.txt: UTF-8"
path: test/clt-tests/replication/test-replication-with-mysqldump.rec
user: login: sanikolaev
body: "НЕ UTF-8" ? Do you really need it at all?
created_at: 2025-03-13T04:48:42Z
author_association: COLLABORATOR

PR comments:
user: login: github-actions[bot]
created_at: 2024-12-05T02:18:53Z
body: ## clt
👎 CLT tests in `test/clt-tests/replication/`
✅ OK: 1
❌ Failed: 1
⏳ Duration: 39s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/12171812098) for commit [1f25614](https://github.com/manticoresoftware/manticoresearch/commit/1f25614352d314c88a21fb24e1c1b7da88350a7f)
Failed tests:
<details>
<summary>test/clt-tests/replication/replication-test.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE testrt (title text, content text, gid uint);"
––– output –––
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;"
––– output –––
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+ +-----------------------------+--------+
+ | Counter                     | Value  |
+ +-----------------------------+--------+
+ | cluster_replication_indexes | testrt |
+ +-----------------------------+--------+
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES(6775836565403860993,'List of HP business laptops','Elitebook Probook',1);"
––– output –––
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES(6775836565403860994,'List of Dell business laptops','Latitude Precision Vostro',2);"
––– output –––
––– input –––
mysql -h0 -P1306 -e "SHOW CREATE TABLE testrt;"
––– output –––
+ +--------+--------------------------------------------------------------------------+
+ | Table  | Create Table                                                             |
+ +--------+--------------------------------------------------------------------------+
+ | testrt | CREATE TABLE testrt (
+ id bigint,
+ title text,
+ content text,
+ gid integer
+ ) |
+ +--------+--------------------------------------------------------------------------+
––– input –––
export INSTANCE=5
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES(6775836565403860995,'List of HP business laptops','Macbook',3);"; echo $?
––– output –––
0
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5; mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
––– input –––
export INSTANCE=2
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P3306 -e "INSERT INTO replication:testrt VALUES(6775836565403860996,'NEW','TABLE',4);"; echo $?
––– output –––
0
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
––– input –––
export INSTANCE=4
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
sleep 5;mysql -h0 -P2306 -e "DELETE FROM replication:testrt WHERE id = 6775836565403860994"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_2306.txt;
––– output –––
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5;mysql -h0 -P1306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_1306.txt;
––– output –––
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_3306.txt;
––– output –––
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_4306.txt;
––– output –––
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_5306.txt;
––– output –––
––– input –––
diff /tmp/output_1306.txt /tmp/output_2306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_3306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_4306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_5306.txt; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO replication:testrt SET content='Updated Content', title='List of Dell business laptops', gid=2 WHERE id=6775836565403860994;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysqldump -etc -h0 -P1306 --skip-comments manticore testrt > /tmp/manticore_backup.sql
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication DROP testrt;" && for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "DROP TABLE testrt;"; done && for port in 1306 2306 3306 4306 5306; do echo "Checking tables on port $port"; mysql -h0 -P$port -e "SHOW TABLES;"; done
––– output –––
Checking tables on port 1306
Checking tables on port 2306
Checking tables on port 3306
Checking tables on port 4306
Checking tables on port 5306
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE testrt (title text, content text, gid uint);"
––– output –––
––– input –––
mysql -h0 -P1306 < /tmp/manticore_backup.sql && mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;" && for port in 1306 2306 3306 4306 5306; do echo "Checking tables on port $port"; mysql -h0 -P$port -e "SHOW TABLES;"; mysql -h0 -P$port -e "SELECT * FROM testrt ORDER BY id ASC\G"; done
––– output –––
Checking tables on port 1306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
Checking tables on port 2306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
Checking tables on port 3306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
Checking tables on port 4306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
Checking tables on port 5306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4

```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2024-12-05T02:19:58Z
body: ## Windows test results
  3 files    3 suites   19m 28s :stopwatch:
994 tests 944 :white_check_mark: 50 :zzz: 0 :x:
998 runs  948 :white_check_mark: 50 :zzz: 0 :x:

Results for commit d81b77bc.

[test-results]:data:application/gzip;base64,H4sIAH8dUWcC/03Myw7CIBCF4VdpWLtgFAR8GcM1IbbFcFk1vrvTWlsWs/i/Sc5CQhx9IY/hdhlIabEe4VrWNaYZE+AuUfBX169S7F/P0qxdiXX0im8kTg8JOo4oJ/icU94lt/k3Kvc4N0/pJjfoFrfuB22aplgxiJNghDBWMQ8A2ngqufIOXGAST1nHqbhSTj5fAGW6aggBAAA=

:recycle: This comment has been updated with latest results.
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2024-12-05T02:28:32Z
body: ## clt
👎 CLT tests in `test/clt-tests/replication/`
✅ OK: 1
❌ Failed: 1
⏳ Duration: 36s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/12171812098) for commit [1f25614](https://github.com/manticoresoftware/manticoresearch/commit/1f25614352d314c88a21fb24e1c1b7da88350a7f)
Failed tests:
<details>
<summary>test/clt-tests/replication/replication-test.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE testrt (title text, content text, gid uint);"
––– output –––
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;"
––– output –––
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+ +-----------------------------+--------+
+ | Counter                     | Value  |
+ +-----------------------------+--------+
+ | cluster_replication_indexes | testrt |
+ +-----------------------------+--------+
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES(6775836565403860993,'List of HP business laptops','Elitebook Probook',1);"
––– output –––
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES(6775836565403860994,'List of Dell business laptops','Latitude Precision Vostro',2);"
––– output –––
––– input –––
mysql -h0 -P1306 -e "SHOW CREATE TABLE testrt;"
––– output –––
+ +--------+--------------------------------------------------------------------------+
+ | Table  | Create Table                                                             |
+ +--------+--------------------------------------------------------------------------+
+ | testrt | CREATE TABLE testrt (
+ id bigint,
+ title text,
+ content text,
+ gid integer
+ ) |
+ +--------+--------------------------------------------------------------------------+
––– input –––
export INSTANCE=5
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES(6775836565403860995,'List of HP business laptops','Macbook',3);"; echo $?
––– output –––
0
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5; mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
––– input –––
export INSTANCE=2
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P3306 -e "INSERT INTO replication:testrt VALUES(6775836565403860996,'NEW','TABLE',4);"; echo $?
––– output –––
0
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
––– input –––
export INSTANCE=4
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
sleep 5;mysql -h0 -P2306 -e "DELETE FROM replication:testrt WHERE id = 6775836565403860994"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_2306.txt;
––– output –––
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5;mysql -h0 -P1306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_1306.txt;
––– output –––
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_3306.txt;
––– output –––
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_4306.txt;
––– output –––
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_5306.txt;
––– output –––
––– input –––
diff /tmp/output_1306.txt /tmp/output_2306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_3306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_4306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_5306.txt; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO replication:testrt SET content='Updated Content', title='List of Dell business laptops', gid=2 WHERE id=6775836565403860994;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysqldump -etc -h0 -P1306 --skip-comments manticore testrt > /tmp/manticore_backup.sql
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication DROP testrt;" && for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "DROP TABLE testrt;"; done && for port in 1306 2306 3306 4306 5306; do echo "Checking tables on port $port"; mysql -h0 -P$port -e "SHOW TABLES;"; done
––– output –––
Checking tables on port 1306
Checking tables on port 2306
Checking tables on port 3306
Checking tables on port 4306
Checking tables on port 5306
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE testrt (title text, content text, gid uint);"
––– output –––
––– input –––
mysql -h0 -P1306 < /tmp/manticore_backup.sql && mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;" && for port in 1306 2306 3306 4306 5306; do echo "Checking tables on port $port"; mysql -h0 -P$port -e "SHOW TABLES;"; mysql -h0 -P$port -e "SELECT * FROM testrt ORDER BY id ASC\G"; done
––– output –––
Checking tables on port 1306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
Checking tables on port 2306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
Checking tables on port 3306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
Checking tables on port 4306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
Checking tables on port 5306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4

```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2024-12-10T23:31:13Z
body: ## clt
👎 CLT tests in `test/clt-tests/replication/`
✅ OK: 1
❌ Failed: 1
⏳ Duration: 41s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/12266401608) for commit [2fd46c0](https://github.com/manticoresoftware/manticoresearch/commit/2fd46c0cd20cbdcace46eecae43502ba55c48f7e)
Failed tests:
<details>
<summary>test/clt-tests/replication/replication-test.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE testrt (title text, content text, gid uint);"
––– output –––
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;"
––– output –––
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+ +-----------------------------+--------+
+ | Counter                     | Value  |
+ +-----------------------------+--------+
+ | cluster_replication_indexes | testrt |
+ +-----------------------------+--------+
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES(6775836565403860993,'List of HP business laptops','Elitebook Probook',1);"
––– output –––
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES(6775836565403860994,'List of Dell business laptops','Latitude Precision Vostro',2);"
––– output –––
––– input –––
mysql -h0 -P1306 -e "SHOW CREATE TABLE testrt;"
––– output –––
+ +--------+--------------------------------------------------------------------------+
+ | Table  | Create Table                                                             |
+ +--------+--------------------------------------------------------------------------+
+ | testrt | CREATE TABLE testrt (
+ id bigint,
+ title text,
+ content text,
+ gid integer
+ ) |
+ +--------+--------------------------------------------------------------------------+
––– input –––
export INSTANCE=5
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES(6775836565403860995,'List of HP business laptops','Macbook',3);"; echo $?
––– output –––
0
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5; mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
––– input –––
export INSTANCE=2
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P3306 -e "INSERT INTO replication:testrt VALUES(6775836565403860996,'NEW','TABLE',4);"; echo $?
––– output –––
0
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
––– input –––
export INSTANCE=4
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
sleep 5;mysql -h0 -P2306 -e "DELETE FROM replication:testrt WHERE id = 6775836565403860994"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_2306.txt;
––– output –––
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}/{a,b,c,d,e,f,g,h,i,j}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5;mysql -h0 -P1306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_1306.txt;
––– output –––
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_3306.txt;
––– output –––
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_4306.txt;
––– output –––
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_5306.txt;
––– output –––
––– input –––
diff /tmp/output_1306.txt /tmp/output_2306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_3306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_4306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_5306.txt; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO replication:testrt SET content='Updated Content', title='List of Dell business laptops', gid=2 WHERE id=6775836565403860994;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysqldump -etc -h0 -P1306 --skip-comments manticore testrt > /tmp/manticore_backup.sql
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication DROP testrt;" && for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "DROP TABLE testrt;"; done && for port in 1306 2306 3306 4306 5306; do echo "Checking tables on port $port"; mysql -h0 -P$port -e "SHOW TABLES;"; done
––– output –––
Checking tables on port 1306
Checking tables on port 2306
Checking tables on port 3306
Checking tables on port 4306
Checking tables on port 5306
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE testrt (title text, content text, gid uint);"
––– output –––
––– input –––
mysql -h0 -P1306 < /tmp/manticore_backup.sql && mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;" && for port in 1306 2306 3306 4306 5306; do echo "Checking tables on port $port"; mysql -h0 -P$port -e "SHOW TABLES;"; mysql -h0 -P$port -e "SELECT * FROM testrt ORDER BY id ASC\G"; done
––– output –––
Checking tables on port 1306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
Checking tables on port 2306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
Checking tables on port 3306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
Checking tables on port 4306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
Checking tables on port 5306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4

```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2024-12-11T02:34:47Z
body: ## clt
👎 CLT tests in `test/clt-tests/core/
test/clt-tests/expected-errors/`
✅ OK: 28
❌ Failed: 1
⏳ Duration: 355s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/12268364691) for commit [87c47a4](https://github.com/manticoresoftware/manticoresearch/commit/87c47a4b2ac5695d1e35901fe222449761547f84)
Failed tests:
<details>
<summary>test/clt-tests/core/show-settings.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
mysql -h0 -P1306 -e "SHOW SETTINGS;"
––– output –––
+----------------------------+------------------------------------------------------------+
| Setting_name               | Value                                                      |
+----------------------------+------------------------------------------------------------+
| configuration_file         | /.clt/test/clt-tests/base/searchd-with-flexible-ports.conf |
| worker_pid                 | %{NUMBER}                                                         |
| searchd.listen             | 1306:mysql41                                               |
| searchd.listen             | 1312                                                       |
| searchd.listen             | 1308:http                                                  |
- | searchd.log                | /var/log/manticore-1/searchd.log                           |
+ | searchd.log                | /tmp/manticore-1/searchd.log                               |
- | searchd.query_log          | /var/log/manticore-1/query.log                             |
+ | searchd.query_log          | /tmp/manticore-1/query.log                                 |
- | searchd.pid_file           | /var/log/manticore-1/searchd.pid                           |
+ | searchd.pid_file           | /tmp/manticore-1/searchd.pid                               |
- | searchd.data_dir           | /var/log/manticore-1                                       |
+ | searchd.data_dir           | /tmp/manticore-1                                           |
| searchd.query_log_format   | sphinxql                                                   |
| searchd.query_log_commands | 1                                                          |
- | searchd.binlog_path        | /var/log/manticore-1/binlog                                |
+ | searchd.binlog_path        | /tmp/manticore-1/binlog                                    |
| common.plugin_dir          | /usr/local/lib/manticore                                   |
| common.lemmatizer_base     | /usr/share/manticore/morph/                                |
+----------------------------+------------------------------------------------------------+

```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2024-12-17T00:19:36Z
body: ## clt
👎 CLT tests in `test/clt-tests/replication/`
✅ OK: 1
❌ Failed: 1
⏳ Duration: 51s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/12363535709) for commit [b3c1aa5](https://github.com/manticoresoftware/manticoresearch/commit/b3c1aa5bf9d1735efacd33dc12008719b9ed99cb)
Failed tests:
<details>
<summary>test/clt-tests/replication/replication-test.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE testrt (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;"
––– output –––
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+--------+
| Counter                     | Value  |
+-----------------------------+--------+
| cluster_replication_indexes | testrt |
+-----------------------------+--------+
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860993, 'iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860994, 'Galaxy S21 Ultra', 128, 'black', 2021, 1199.99, 1099.99, 0, '1609459200000', (4,5,6), (1234567890123456789, 9876543210987654321), '{\"features\": [\"Dynamic AMOLED 2X\", \"Exynos 2100\", \"108MP camera\"]}', (0.5, 0.4, 0.3, 0.2));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW CREATE TABLE testrt;"
––– output –––
+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table  | Create Table                                                                                                                                                                                                                                                                                                                  |
+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| testrt | CREATE TABLE testrt (
id bigint,
model text,
storage_capacity integer,
color string attribute,
release_year integer,
price float,
discounted_price float,
sold bool,
date_added timestamp,
product_codes multi,
values multi64,
additional_info json,
vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='L2'
) |
+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
––– input –––
export INSTANCE=5
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860995, 'Google Pixel 6', 128, 'sorta seafoam', 2021, 699.99, 599.99, 1, '1635317932000', (33,34,35), (623456764345678976, 98765409877866654097, 1109876543450987650986), '{\"features\": [\"Google Tensor chip\", \"Flat OLED display\", \"Dual-camera system\"]}', (0.823448, 0.362478, 0.187971, 0.509821));"; echo $?
––– output –––
0
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5; mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
––– input –––
export INSTANCE=2
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860996, 'OnePlus 9', 256, 'winter mist', 2021, 729.99, 629.99, 0, '1648044532000', (36,37,38), (723456764345678976, 98765409877866654096, 1109876543450987650985), '{\"features\": [\"Qualcomm Snapdragon 888\", \"Fluid AMOLED display\", \"Hasselblad Camera for Mobile\"]}', (0.021106, 0.918278, 0.261892, 0.074594));"; echo $?
––– output –––
0
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
export INSTANCE=4
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
sleep 5;mysql -h0 -P2306 -e "DELETE FROM replication:testrt WHERE id = 6775836565403860994;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_2306.txt;
––– output –––
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5;mysql -h0 -P1306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_1306.txt;
––– output –––
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_2306.txt;
––– output –––
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_3306.txt;
––– output –––
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_4306.txt;
––– output –––
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_5306.txt;
––– output –––
––– input –––
diff /tmp/output_1306.txt /tmp/output_2306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_3306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_4306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_5306.txt; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO replication:testrt (id, model, storage_capacity, color, release_year, price, discounted_price, sold, date_added, product_codes, values, additional_info, vector) VALUES (6775836565403860993, 'Updated iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"Updated ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM testrt WHERE id=6775836565403860993\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM testrt WHERE id=6775836565403860993\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM testrt WHERE id=6775836565403860993\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM testrt WHERE id=6775836565403860993\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM testrt WHERE id=6775836565403860993\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
––– input –––
mysql -h0 -P1306 -e "FLUSH RAMCHUNK testrt;"
––– output –––
––– input –––
mysql -h0 -P1306 -e 'set global cluster_user=replication'
––– output –––
––– input –––
mysqldump -etc --replace -u replication -h0 -P1306 --skip-comments manticore replication:testrt | mysql -P1306 -h0
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking tables on port $port"; mysql -h0 -P$port -e "SHOW TABLES;"; mysql -h0 -P$port -e "SELECT * FROM testrt ORDER BY id ASC\G"; done
––– output –––
Checking tables on port 1306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 3. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
Checking tables on port 2306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 3. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
Checking tables on port 3306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 3. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
Checking tables on port 4306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 3. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
Checking tables on port 5306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 3. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl_none (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' rt_mem_limit='128M';"; echo $?
––– output –––
0
––– input –––
echo 'the, and, of' > /tmp/stopwords.txt; mysql -h0 -P2306 -e "CREATE TABLE tbl_stopwords (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
echo 'cat => feline, dog => canine' > /tmp/exceptions.txt; mysql -h0 -P3306 -e "CREATE TABLE tbl_exceptions (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' exceptions='/tmp/exceptions.txt' morphology='stem_ru' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
echo 'fast, faster' > /tmp/wordforms.txt; mysql -h0 -P4306 -e "CREATE TABLE tbl_wordforms (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' wordforms='/tmp/wordforms.txt' rt_mem_limit='1024M';"; echo $?
––– output –––
- + 0
+ 0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl_none (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Example text', 42, 3.14, '{\"key\":\"value\",\"list\":[1,2,3]}', (1,2,3), 'string_value', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl_stem_en (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Stemmed text', 24, 1.41, '{\"key\":\"value2\",\"list\":[4,5,6]}', (4,5,6), 'another_string', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl_stem_ru (id, f, a, b, j, m, s, e, d, v, fv) VALUES (3, 'Русский текст', 84, 2.71, '{\"ключ\":\"значение\",\"массив\":[7,8,9]}', (7,8,9), 'строка', 1, '2022-05-20 15:45:00', (234567890123456789, 876543210987654321), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P4306 -e "INSERT INTO tbl_wordforms (id, f, a, b, j, m, s, e, d, v, fv) VALUES (4, 'Fast text', 99, 9.81, '{\"feature\":\"speed\",\"list\":[10,11,12]}', (10,11,12), 'quick_string', 0, '2021-01-01 00:00:00', (345678901234567890, 765432109876543210), (0.5, 0.5, 0.5, 0.5));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "FLUSH RAMCHUNK tbl_none;"
––– output –––
––– input –––
mysql -h0 -P2306 -e "FLUSH RAMCHUNK tbl_stem_en;"
––– output –––
––– input –––
mysql -h0 -P3306 -e "FLUSH RAMCHUNK tbl_stem_ru;"
––– output –––
––– input –––
mysql -h0 -P4306 -e "FLUSH RAMCHUNK tbl_wordforms;"
––– output –––
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD tbl_none;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER replication ADD tbl_stem_en;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "ALTER CLUSTER replication ADD tbl_stem_ru;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P4306 -e "ALTER CLUSTER replication ADD tbl_wordforms;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+-------------------------------------------------------+
| Counter                     | Value                                                 |
+-----------------------------+-------------------------------------------------------+
| cluster_replication_indexes | testrt,tbl_none,tbl_stem_en,tbl_stem_ru,tbl_wordforms |
+-----------------------------+-------------------------------------------------------+
––– input –––
mysqldump -etc --replace -u replication -h0 -P1306 --skip-comments manticore replication:tbl_none replication:tbl_stem_en replication:tbl_stem_ru replication:tbl_wordforms | mysql -P2306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SHOW TABLES;"; done
––– output –––
+---------------+------+
| Table         | Type |
+---------------+------+
| tbl_none      | rt   |
| tbl_stem_en   | rt   |
| tbl_stem_ru   | rt   |
| tbl_wordforms | rt   |
| testrt        | rt   |
+---------------+------+
+---------------+------+
| Table         | Type |
+---------------+------+
| tbl_none      | rt   |
| tbl_stem_en   | rt   |
| tbl_stem_ru   | rt   |
| tbl_stopwords | rt   |
| tbl_wordforms | rt   |
| testrt        | rt   |
+---------------+------+
+----------------+------+
| Table          | Type |
+----------------+------+
| tbl_exceptions | rt   |
| tbl_none       | rt   |
| tbl_stem_en    | rt   |
| tbl_stem_ru    | rt   |
| tbl_wordforms  | rt   |
| testrt         | rt   |
+----------------+------+
+---------------+------+
| Table         | Type |
+---------------+------+
| tbl_none      | rt   |
| tbl_stem_en   | rt   |
| tbl_stem_ru   | rt   |
| tbl_wordforms | rt   |
| testrt        | rt   |
+---------------+------+
+---------------+------+
| Table         | Type |
+---------------+------+
| tbl_none      | rt   |
| tbl_stem_en   | rt   |
| tbl_stem_ru   | rt   |
| tbl_wordforms | rt   |
| testrt        | rt   |
+---------------+------+
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM tbl_none;"; mysql -h0 -P$port -e "SELECT * FROM tbl_stem_en;"; mysql -h0 -P$port -e "SELECT * FROM tbl_stem_ru;"; mysql -h0 -P$port -e "SELECT * FROM tbl_wordforms;"; done
––– output –––
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j                              | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Example text |   42 | 3.140000 | {"key":"value","list":[1,2,3]} | 1,2,3 | string_value |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
| id   | f            | s              | d                   | a    | b        | j                               | m     | e    | v                                     | fv   |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
|    2 | Stemmed text | another_string | 2023-11-15 08:30:00 |   24 | 1.410000 | {"key":"value2","list":[4,5,6]} | 4,5,6 |    0 | 123456789012345678,987654321098765432 | 0    |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
| id   | f                         | s            | d                   | a    | b        | j                                                      | m     | e    | v                                     | fv   |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
|    3 | Русский текст             | строка       | 2022-05-20 15:45:00 |   84 | 2.710000 | {"ключ":"значение","массив":[7,8,9]}                   | 7,8,9 |    1 | 234567890123456789,876543210987654321 | 0    |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f         | a    | b        | j                                     | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    4 | Fast text |   99 | 9.810000 | {"feature":"speed","list":[10,11,12]} | 10,11,12 | quick_string |    0 |    0 | 345678901234567890,765432109876543210 | 0.500000,0.500000,0.500000,0.500000 |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j                              | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Example text |   42 | 3.140000 | {"key":"value","list":[1,2,3]} | 1,2,3 | string_value |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
| id   | f            | s              | d                   | a    | b        | j                               | m     | e    | v                                     | fv   |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
|    2 | Stemmed text | another_string | 2023-11-15 08:30:00 |   24 | 1.410000 | {"key":"value2","list":[4,5,6]} | 4,5,6 |    0 | 123456789012345678,987654321098765432 | 0    |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
| id   | f                         | s            | d                   | a    | b        | j                                                      | m     | e    | v                                     | fv   |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
|    3 | Русский текст             | строка       | 2022-05-20 15:45:00 |   84 | 2.710000 | {"ключ":"значение","массив":[7,8,9]}                   | 7,8,9 |    1 | 234567890123456789,876543210987654321 | 0    |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f         | a    | b        | j                                     | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    4 | Fast text |   99 | 9.810000 | {"feature":"speed","list":[10,11,12]} | 10,11,12 | quick_string |    0 |    0 | 345678901234567890,765432109876543210 | 0.500000,0.500000,0.500000,0.500000 |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j                              | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Example text |   42 | 3.140000 | {"key":"value","list":[1,2,3]} | 1,2,3 | string_value |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
| id   | f            | s              | d                   | a    | b        | j                               | m     | e    | v                                     | fv   |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
|    2 | Stemmed text | another_string | 2023-11-15 08:30:00 |   24 | 1.410000 | {"key":"value2","list":[4,5,6]} | 4,5,6 |    0 | 123456789012345678,987654321098765432 | 0    |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
| id   | f                         | s            | d                   | a    | b        | j                                                      | m     | e    | v                                     | fv   |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
|    3 | Русский текст             | строка       | 2022-05-20 15:45:00 |   84 | 2.710000 | {"ключ":"значение","массив":[7,8,9]}                   | 7,8,9 |    1 | 234567890123456789,876543210987654321 | 0    |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f         | a    | b        | j                                     | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    4 | Fast text |   99 | 9.810000 | {"feature":"speed","list":[10,11,12]} | 10,11,12 | quick_string |    0 |    0 | 345678901234567890,765432109876543210 | 0.500000,0.500000,0.500000,0.500000 |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j                              | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Example text |   42 | 3.140000 | {"key":"value","list":[1,2,3]} | 1,2,3 | string_value |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
| id   | f            | s              | d                   | a    | b        | j                               | m     | e    | v                                     | fv   |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
|    2 | Stemmed text | another_string | 2023-11-15 08:30:00 |   24 | 1.410000 | {"key":"value2","list":[4,5,6]} | 4,5,6 |    0 | 123456789012345678,987654321098765432 | 0    |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
| id   | f                         | s            | d                   | a    | b        | j                                                      | m     | e    | v                                     | fv   |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
|    3 | Русский текст             | строка       | 2022-05-20 15:45:00 |   84 | 2.710000 | {"ключ":"значение","массив":[7,8,9]}                   | 7,8,9 |    1 | 234567890123456789,876543210987654321 | 0    |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f         | a    | b        | j                                     | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    4 | Fast text |   99 | 9.810000 | {"feature":"speed","list":[10,11,12]} | 10,11,12 | quick_string |    0 |    0 | 345678901234567890,765432109876543210 | 0.500000,0.500000,0.500000,0.500000 |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j                              | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Example text |   42 | 3.140000 | {"key":"value","list":[1,2,3]} | 1,2,3 | string_value |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
| id   | f            | s              | d                   | a    | b        | j                               | m     | e    | v                                     | fv   |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
|    2 | Stemmed text | another_string | 2023-11-15 08:30:00 |   24 | 1.410000 | {"key":"value2","list":[4,5,6]} | 4,5,6 |    0 | 123456789012345678,987654321098765432 | 0    |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
| id   | f                         | s            | d                   | a    | b        | j                                                      | m     | e    | v                                     | fv   |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
|    3 | Русский текст             | строка       | 2022-05-20 15:45:00 |   84 | 2.710000 | {"ключ":"значение","массив":[7,8,9]}                   | 7,8,9 |    1 | 234567890123456789,876543210987654321 | 0    |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f         | a    | b        | j                                     | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    4 | Fast text |   99 | 9.810000 | {"feature":"speed","list":[10,11,12]} | 10,11,12 | quick_string |    0 |    0 | 345678901234567890,765432109876543210 | 0.500000,0.500000,0.500000,0.500000 |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do if [ $port1 -ne $port2 ]; then diff <(mysql -h0 -P$port1 -e "SELECT * FROM tbl_none;") <(mysql -h0 -P$port2 -e "SELECT * FROM tbl_none;"); diff <(mysql -h0 -P$port1 -e "SELECT * FROM tbl_stem_en;") <(mysql -h0 -P$port2 -e "SELECT * FROM tbl_stem_en;"); diff <(mysql -h0 -P$port1 -e "SELECT * FROM tbl_stem_ru;") <(mysql -h0 -P$port2 -e "SELECT * FROM tbl_stem_ru;"); diff <(mysql -h0 -P$port1 -e "SELECT * FROM tbl_wordforms;") <(mysql -h0 -P$port2 -e "SELECT * FROM tbl_wordforms;"); fi; done; done
––– output –––
––– input –––
export INSTANCE=1
––– output –––
––– input –––
echo "index tbl_plain { type = plain; path = /var/lib/manticore/tbl_plain; rt_mem_limit = 512M; rt_field = f; rt_attr_uint = a; rt_attr_float = b; rt_attr_multi = m; rt_attr_string = s; rt_attr_bool = e; rt_attr_timestamp = d; rt_attr_multi_64 = v; rt_attr_json = j; rt_attr_vector = fv float_vector; }" > /var/lib/manticore/tbl_plain.conf; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl_plain (id, f, a, b, m, s, e, d, v, j, fv) VALUES (1, 'Plain example', 42, 3.14, (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), '{\"key\":\"value\"}', (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD tbl_plain;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+-----------------------------------------------------------------+
| Counter                     | Value                                                           |
+-----------------------------+-----------------------------------------------------------------+
| cluster_replication_indexes | testrt,tbl_none,tbl_stem_en,tbl_stem_ru,tbl_wordforms,tbl_plain |
+-----------------------------+-----------------------------------------------------------------+
––– input –––
mysqldump -etc --replace -u replication -h0 -P1306 --skip-comments manticore replication:tbl_plain | mysql -h0 -P2306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM tbl_plain;"; echo $?; done
––– output –––
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
| id   | f             | s            | d                   | a    | b        | m     | e    | v                                     | j               | fv   |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
|    1 | Plain example | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | 1,2,3 |    1 | 123456789012345678,987654321098765432 | {"key":"value"} | 0    |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
0
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
| id   | f             | s            | d                   | a    | b        | m     | e    | v                                     | j               | fv   |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
|    1 | Plain example | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | 1,2,3 |    1 | 123456789012345678,987654321098765432 | {"key":"value"} | 0    |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
0
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
| id   | f             | s            | d                   | a    | b        | m     | e    | v                                     | j               | fv   |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
|    1 | Plain example | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | 1,2,3 |    1 | 123456789012345678,987654321098765432 | {"key":"value"} | 0    |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
0
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
| id   | f             | s            | d                   | a    | b        | m     | e    | v                                     | j               | fv   |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
|    1 | Plain example | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | 1,2,3 |    1 | 123456789012345678,987654321098765432 | {"key":"value"} | 0    |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
0
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
| id   | f             | s            | d                   | a    | b        | m     | e    | v                                     | j               | fv   |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
|    1 | Plain example | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | 1,2,3 |    1 | 123456789012345678,987654321098765432 | {"key":"value"} | 0    |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
0
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SHOW TABLES;"; done
––– output –––
+---------------+------+
| Table         | Type |
+---------------+------+
| tbl_none      | rt   |
| tbl_plain     | rt   |
| tbl_stem_en   | rt   |
| tbl_stem_ru   | rt   |
| tbl_wordforms | rt   |
| testrt        | rt   |
+---------------+------+
+---------------+------+
| Table         | Type |
+---------------+------+
| tbl_none      | rt   |
| tbl_plain     | rt   |
| tbl_stem_en   | rt   |
| tbl_stem_ru   | rt   |
| tbl_stopwords | rt   |
| tbl_wordforms | rt   |
| testrt        | rt   |
+---------------+------+
+----------------+------+
| Table          | Type |
+----------------+------+
| tbl_exceptions | rt   |
| tbl_none       | rt   |
| tbl_plain      | rt   |
| tbl_stem_en    | rt   |
| tbl_stem_ru    | rt   |
| tbl_wordforms  | rt   |
| testrt         | rt   |
+----------------+------+
+---------------+------+
| Table         | Type |
+---------------+------+
| tbl_none      | rt   |
| tbl_plain     | rt   |
| tbl_stem_en   | rt   |
| tbl_stem_ru   | rt   |
| tbl_wordforms | rt   |
| testrt        | rt   |
+---------------+------+
+---------------+------+
| Table         | Type |
+---------------+------+
| tbl_none      | rt   |
| tbl_plain     | rt   |
| tbl_stem_en   | rt   |
| tbl_stem_ru   | rt   |
| tbl_wordforms | rt   |
| testrt        | rt   |
+---------------+------+
––– input –––
for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do if [ $port1 -ne $port2 ]; then diff <(mysql -h0 -P$port1 -e "SELECT * FROM tbl_plain;") <(mysql -h0 -P$port2 -e "SELECT * FROM tbl_plain;"); fi; done; done
––– output –––

```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2024-12-17T00:23:41Z
body: ## clt
👎 CLT tests in `test/clt-tests/core/
test/clt-tests/expected-errors/`
✅ OK: 29
❌ Failed: 1
⏳ Duration: 349s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/12363535709) for commit [b3c1aa5](https://github.com/manticoresoftware/manticoresearch/commit/b3c1aa5bf9d1735efacd33dc12008719b9ed99cb)
Failed tests:
<details>
<summary>test/clt-tests/core/show-settings.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
mysql -h0 -P1306 -e "SHOW SETTINGS;"
––– output –––
+----------------------------+------------------------------------------------------------+
| Setting_name               | Value                                                      |
+----------------------------+------------------------------------------------------------+
| configuration_file         | /.clt/test/clt-tests/base/searchd-with-flexible-ports.conf |
| worker_pid                 | %{NUMBER}                                                         |
| searchd.listen             | 1306:mysql41                                               |
| searchd.listen             | 1312                                                       |
| searchd.listen             | 1308:http                                                  |
- | searchd.log                | /var/log/manticore-1/searchd.log                           |
+ | searchd.log                | /tmp/manticore-1/searchd.log                               |
- | searchd.query_log          | /var/log/manticore-1/query.log                             |
+ | searchd.query_log          | /tmp/manticore-1/query.log                                 |
- | searchd.pid_file           | /var/log/manticore-1/searchd.pid                           |
+ | searchd.pid_file           | /tmp/manticore-1/searchd.pid                               |
- | searchd.data_dir           | /var/log/manticore-1                                       |
+ | searchd.data_dir           | /tmp/manticore-1                                           |
| searchd.query_log_format   | sphinxql                                                   |
| searchd.query_log_commands | 1                                                          |
- | searchd.binlog_path        | /var/log/manticore-1/binlog                                |
+ | searchd.binlog_path        | /tmp/manticore-1/binlog                                    |
| common.plugin_dir          | /usr/local/lib/manticore                                   |
| common.lemmatizer_base     | /usr/share/manticore/morph/                                |
+----------------------------+------------------------------------------------------------+

```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2024-12-17T00:43:25Z
body: ## clt
👎 CLT tests in `test/clt-tests/replication/`
✅ OK: 1
❌ Failed: 1
⏳ Duration: 52s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/12363879618) for commit [4865b3c](https://github.com/manticoresoftware/manticoresearch/commit/4865b3c8d2891c241e454dfb57f80be1823b7898)
Failed tests:
<details>
<summary>test/clt-tests/replication/replication-test.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE testrt (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;"
––– output –––
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+--------+
| Counter                     | Value  |
+-----------------------------+--------+
| cluster_replication_indexes | testrt |
+-----------------------------+--------+
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860993, 'iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860994, 'Galaxy S21 Ultra', 128, 'black', 2021, 1199.99, 1099.99, 0, '1609459200000', (4,5,6), (1234567890123456789, 9876543210987654321), '{\"features\": [\"Dynamic AMOLED 2X\", \"Exynos 2100\", \"108MP camera\"]}', (0.5, 0.4, 0.3, 0.2));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW CREATE TABLE testrt;"
––– output –––
+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table  | Create Table                                                                                                                                                                                                                                                                                                                  |
+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| testrt | CREATE TABLE testrt (
id bigint,
model text,
storage_capacity integer,
color string attribute,
release_year integer,
price float,
discounted_price float,
sold bool,
date_added timestamp,
product_codes multi,
values multi64,
additional_info json,
vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='L2'
) |
+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
––– input –––
export INSTANCE=5
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860995, 'Google Pixel 6', 128, 'sorta seafoam', 2021, 699.99, 599.99, 1, '1635317932000', (33,34,35), (623456764345678976, 98765409877866654097, 1109876543450987650986), '{\"features\": [\"Google Tensor chip\", \"Flat OLED display\", \"Dual-camera system\"]}', (0.823448, 0.362478, 0.187971, 0.509821));"; echo $?
––– output –––
0
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5; mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
––– input –––
export INSTANCE=2
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860996, 'OnePlus 9', 256, 'winter mist', 2021, 729.99, 629.99, 0, '1648044532000', (36,37,38), (723456764345678976, 98765409877866654096, 1109876543450987650985), '{\"features\": [\"Qualcomm Snapdragon 888\", \"Fluid AMOLED display\", \"Hasselblad Camera for Mobile\"]}', (0.021106, 0.918278, 0.261892, 0.074594));"; echo $?
––– output –––
0
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
export INSTANCE=4
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
sleep 5;mysql -h0 -P2306 -e "DELETE FROM replication:testrt WHERE id = 6775836565403860994;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_2306.txt;
––– output –––
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5;mysql -h0 -P1306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_1306.txt;
––– output –––
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_2306.txt;
––– output –––
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_3306.txt;
––– output –––
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_4306.txt;
––– output –––
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_5306.txt;
––– output –––
––– input –––
diff /tmp/output_1306.txt /tmp/output_2306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_3306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_4306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_5306.txt; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO replication:testrt (id, model, storage_capacity, color, release_year, price, discounted_price, sold, date_added, product_codes, values, additional_info, vector) VALUES (6775836565403860993, 'Updated iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"Updated ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM testrt WHERE id=6775836565403860993\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM testrt WHERE id=6775836565403860993\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM testrt WHERE id=6775836565403860993\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM testrt WHERE id=6775836565403860993\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM testrt WHERE id=6775836565403860993\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
––– input –––
mysql -h0 -P1306 -e "FLUSH RAMCHUNK testrt;"
––– output –––
––– input –––
mysql -h0 -P1306 -e 'set global cluster_user=replication'
––– output –––
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:testrt | mysql -P1306 -h0
––– output –––
+ -- Warning: version string returned by server is incorrect.
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking tables on port $port"; mysql -h0 -P$port -e "SHOW TABLES;"; mysql -h0 -P$port -e "SELECT * FROM testrt ORDER BY id ASC\G"; done
––– output –––
Checking tables on port 1306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 3. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
Checking tables on port 2306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 3. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
Checking tables on port 3306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 3. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
Checking tables on port 4306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 3. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
Checking tables on port 5306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 3. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl_none (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' rt_mem_limit='128M';"; echo $?
––– output –––
0
––– input –––
echo 'the, and, of' > /tmp/stopwords.txt; mysql -h0 -P2306 -e "CREATE TABLE tbl_stopwords (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
echo 'cat => feline, dog => canine' > /tmp/exceptions.txt; mysql -h0 -P3306 -e "CREATE TABLE tbl_exceptions (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' exceptions='/tmp/exceptions.txt' morphology='stem_ru' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
echo 'fast, faster' > /tmp/wordforms.txt; mysql -h0 -P4306 -e "CREATE TABLE tbl_wordforms (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' wordforms='/tmp/wordforms.txt' rt_mem_limit='1024M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl_none (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Example text', 42, 3.14, '{\"key\":\"value\",\"list\":[1,2,3]}', (1,2,3), 'string_value', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl_stem_en (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Stemmed text', 24, 1.41, '{\"key\":\"value2\",\"list\":[4,5,6]}', (4,5,6), 'another_string', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl_stem_ru (id, f, a, b, j, m, s, e, d, v, fv) VALUES (3, 'Русский текст', 84, 2.71, '{\"ключ\":\"значение\",\"массив\":[7,8,9]}', (7,8,9), 'строка', 1, '2022-05-20 15:45:00', (234567890123456789, 876543210987654321), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P4306 -e "INSERT INTO tbl_wordforms (id, f, a, b, j, m, s, e, d, v, fv) VALUES (4, 'Fast text', 99, 9.81, '{\"feature\":\"speed\",\"list\":[10,11,12]}', (10,11,12), 'quick_string', 0, '2021-01-01 00:00:00', (345678901234567890, 765432109876543210), (0.5, 0.5, 0.5, 0.5));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "FLUSH RAMCHUNK tbl_none;"
––– output –––
––– input –––
mysql -h0 -P2306 -e "FLUSH RAMCHUNK tbl_stem_en;"
––– output –––
––– input –––
mysql -h0 -P3306 -e "FLUSH RAMCHUNK tbl_stem_ru;"
––– output –––
––– input –––
mysql -h0 -P4306 -e "FLUSH RAMCHUNK tbl_wordforms;"
––– output –––
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD tbl_none;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER replication ADD tbl_stem_en;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "ALTER CLUSTER replication ADD tbl_stem_ru;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P4306 -e "ALTER CLUSTER replication ADD tbl_wordforms;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+-------------------------------------------------------+
| Counter                     | Value                                                 |
+-----------------------------+-------------------------------------------------------+
| cluster_replication_indexes | testrt,tbl_none,tbl_stem_en,tbl_stem_ru,tbl_wordforms |
+-----------------------------+-------------------------------------------------------+
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_none replication:tbl_stem_en replication:tbl_stem_ru replication:tbl_wordforms | mysql -P2306 -h0; echo $?
––– output –––
- 0
+ -- Warning: version string returned by server is incorrect.
+ 0
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SHOW TABLES;"; done
––– output –––
+---------------+------+
| Table         | Type |
+---------------+------+
| tbl_none      | rt   |
| tbl_stem_en   | rt   |
| tbl_stem_ru   | rt   |
| tbl_wordforms | rt   |
| testrt        | rt   |
+---------------+------+
+---------------+------+
| Table         | Type |
+---------------+------+
| tbl_none      | rt   |
| tbl_stem_en   | rt   |
| tbl_stem_ru   | rt   |
| tbl_stopwords | rt   |
| tbl_wordforms | rt   |
| testrt        | rt   |
+---------------+------+
+----------------+------+
| Table          | Type |
+----------------+------+
| tbl_exceptions | rt   |
| tbl_none       | rt   |
| tbl_stem_en    | rt   |
| tbl_stem_ru    | rt   |
| tbl_wordforms  | rt   |
| testrt         | rt   |
+----------------+------+
+---------------+------+
| Table         | Type |
+---------------+------+
| tbl_none      | rt   |
| tbl_stem_en   | rt   |
| tbl_stem_ru   | rt   |
| tbl_wordforms | rt   |
| testrt        | rt   |
+---------------+------+
+---------------+------+
| Table         | Type |
+---------------+------+
| tbl_none      | rt   |
| tbl_stem_en   | rt   |
| tbl_stem_ru   | rt   |
| tbl_wordforms | rt   |
| testrt        | rt   |
+---------------+------+
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM tbl_none;"; mysql -h0 -P$port -e "SELECT * FROM tbl_stem_en;"; mysql -h0 -P$port -e "SELECT * FROM tbl_stem_ru;"; mysql -h0 -P$port -e "SELECT * FROM tbl_wordforms;"; done
––– output –––
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j                              | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Example text |   42 | 3.140000 | {"key":"value","list":[1,2,3]} | 1,2,3 | string_value |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
| id   | f            | s              | d                   | a    | b        | j                               | m     | e    | v                                     | fv   |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
|    2 | Stemmed text | another_string | 2023-11-15 08:30:00 |   24 | 1.410000 | {"key":"value2","list":[4,5,6]} | 4,5,6 |    0 | 123456789012345678,987654321098765432 | 0    |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
| id   | f                         | s            | d                   | a    | b        | j                                                      | m     | e    | v                                     | fv   |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
|    3 | Русский текст             | строка       | 2022-05-20 15:45:00 |   84 | 2.710000 | {"ключ":"значение","массив":[7,8,9]}                   | 7,8,9 |    1 | 234567890123456789,876543210987654321 | 0    |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f         | a    | b        | j                                     | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    4 | Fast text |   99 | 9.810000 | {"feature":"speed","list":[10,11,12]} | 10,11,12 | quick_string |    0 |    0 | 345678901234567890,765432109876543210 | 0.500000,0.500000,0.500000,0.500000 |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j                              | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Example text |   42 | 3.140000 | {"key":"value","list":[1,2,3]} | 1,2,3 | string_value |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
| id   | f            | s              | d                   | a    | b        | j                               | m     | e    | v                                     | fv   |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
|    2 | Stemmed text | another_string | 2023-11-15 08:30:00 |   24 | 1.410000 | {"key":"value2","list":[4,5,6]} | 4,5,6 |    0 | 123456789012345678,987654321098765432 | 0    |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
| id   | f                         | s            | d                   | a    | b        | j                                                      | m     | e    | v                                     | fv   |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
|    3 | Русский текст             | строка       | 2022-05-20 15:45:00 |   84 | 2.710000 | {"ключ":"значение","массив":[7,8,9]}                   | 7,8,9 |    1 | 234567890123456789,876543210987654321 | 0    |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f         | a    | b        | j                                     | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    4 | Fast text |   99 | 9.810000 | {"feature":"speed","list":[10,11,12]} | 10,11,12 | quick_string |    0 |    0 | 345678901234567890,765432109876543210 | 0.500000,0.500000,0.500000,0.500000 |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j                              | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Example text |   42 | 3.140000 | {"key":"value","list":[1,2,3]} | 1,2,3 | string_value |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
| id   | f            | s              | d                   | a    | b        | j                               | m     | e    | v                                     | fv   |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
|    2 | Stemmed text | another_string | 2023-11-15 08:30:00 |   24 | 1.410000 | {"key":"value2","list":[4,5,6]} | 4,5,6 |    0 | 123456789012345678,987654321098765432 | 0    |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
| id   | f                         | s            | d                   | a    | b        | j                                                      | m     | e    | v                                     | fv   |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
|    3 | Русский текст             | строка       | 2022-05-20 15:45:00 |   84 | 2.710000 | {"ключ":"значение","массив":[7,8,9]}                   | 7,8,9 |    1 | 234567890123456789,876543210987654321 | 0    |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f         | a    | b        | j                                     | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    4 | Fast text |   99 | 9.810000 | {"feature":"speed","list":[10,11,12]} | 10,11,12 | quick_string |    0 |    0 | 345678901234567890,765432109876543210 | 0.500000,0.500000,0.500000,0.500000 |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j                              | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Example text |   42 | 3.140000 | {"key":"value","list":[1,2,3]} | 1,2,3 | string_value |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
| id   | f            | s              | d                   | a    | b        | j                               | m     | e    | v                                     | fv   |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
|    2 | Stemmed text | another_string | 2023-11-15 08:30:00 |   24 | 1.410000 | {"key":"value2","list":[4,5,6]} | 4,5,6 |    0 | 123456789012345678,987654321098765432 | 0    |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
| id   | f                         | s            | d                   | a    | b        | j                                                      | m     | e    | v                                     | fv   |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
|    3 | Русский текст             | строка       | 2022-05-20 15:45:00 |   84 | 2.710000 | {"ключ":"значение","массив":[7,8,9]}                   | 7,8,9 |    1 | 234567890123456789,876543210987654321 | 0    |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f         | a    | b        | j                                     | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    4 | Fast text |   99 | 9.810000 | {"feature":"speed","list":[10,11,12]} | 10,11,12 | quick_string |    0 |    0 | 345678901234567890,765432109876543210 | 0.500000,0.500000,0.500000,0.500000 |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j                              | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Example text |   42 | 3.140000 | {"key":"value","list":[1,2,3]} | 1,2,3 | string_value |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
| id   | f            | s              | d                   | a    | b        | j                               | m     | e    | v                                     | fv   |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
|    2 | Stemmed text | another_string | 2023-11-15 08:30:00 |   24 | 1.410000 | {"key":"value2","list":[4,5,6]} | 4,5,6 |    0 | 123456789012345678,987654321098765432 | 0    |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
| id   | f                         | s            | d                   | a    | b        | j                                                      | m     | e    | v                                     | fv   |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
|    3 | Русский текст             | строка       | 2022-05-20 15:45:00 |   84 | 2.710000 | {"ключ":"значение","массив":[7,8,9]}                   | 7,8,9 |    1 | 234567890123456789,876543210987654321 | 0    |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f         | a    | b        | j                                     | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    4 | Fast text |   99 | 9.810000 | {"feature":"speed","list":[10,11,12]} | 10,11,12 | quick_string |    0 |    0 | 345678901234567890,765432109876543210 | 0.500000,0.500000,0.500000,0.500000 |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do if [ $port1 -ne $port2 ]; then diff <(mysql -h0 -P$port1 -e "SELECT * FROM tbl_none;") <(mysql -h0 -P$port2 -e "SELECT * FROM tbl_none;"); diff <(mysql -h0 -P$port1 -e "SELECT * FROM tbl_stem_en;") <(mysql -h0 -P$port2 -e "SELECT * FROM tbl_stem_en;"); diff <(mysql -h0 -P$port1 -e "SELECT * FROM tbl_stem_ru;") <(mysql -h0 -P$port2 -e "SELECT * FROM tbl_stem_ru;"); diff <(mysql -h0 -P$port1 -e "SELECT * FROM tbl_wordforms;") <(mysql -h0 -P$port2 -e "SELECT * FROM tbl_wordforms;"); fi; done; done
––– output –––
––– input –––
export INSTANCE=1
––– output –––
––– input –––
echo "index tbl_plain { type = plain; path = /var/lib/manticore/tbl_plain; rt_mem_limit = 512M; rt_field = f; rt_attr_uint = a; rt_attr_float = b; rt_attr_multi = m; rt_attr_string = s; rt_attr_bool = e; rt_attr_timestamp = d; rt_attr_multi_64 = v; rt_attr_json = j; rt_attr_vector = fv float_vector; }" > /var/lib/manticore/tbl_plain.conf; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl_plain (id, f, a, b, m, s, e, d, v, j, fv) VALUES (1, 'Plain example', 42, 3.14, (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), '{\"key\":\"value\"}', (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD tbl_plain;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+-----------------------------------------------------------------+
| Counter                     | Value                                                           |
+-----------------------------+-----------------------------------------------------------------+
| cluster_replication_indexes | testrt,tbl_none,tbl_stem_en,tbl_stem_ru,tbl_wordforms,tbl_plain |
+-----------------------------+-----------------------------------------------------------------+
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_plain | mysql -h0 -P2306; echo $?
––– output –––
- 0
+ -- Warning: version string returned by server is incorrect.
+ 0
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM tbl_plain;"; echo $?; done
––– output –––
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
| id   | f             | s            | d                   | a    | b        | m     | e    | v                                     | j               | fv   |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
|    1 | Plain example | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | 1,2,3 |    1 | 123456789012345678,987654321098765432 | {"key":"value"} | 0    |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
0
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
| id   | f             | s            | d                   | a    | b        | m     | e    | v                                     | j               | fv   |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
|    1 | Plain example | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | 1,2,3 |    1 | 123456789012345678,987654321098765432 | {"key":"value"} | 0    |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
0
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
| id   | f             | s            | d                   | a    | b        | m     | e    | v                                     | j               | fv   |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
|    1 | Plain example | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | 1,2,3 |    1 | 123456789012345678,987654321098765432 | {"key":"value"} | 0    |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
0
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
| id   | f             | s            | d                   | a    | b        | m     | e    | v                                     | j               | fv   |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
|    1 | Plain example | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | 1,2,3 |    1 | 123456789012345678,987654321098765432 | {"key":"value"} | 0    |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
0
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
| id   | f             | s            | d                   | a    | b        | m     | e    | v                                     | j               | fv   |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
|    1 | Plain example | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | 1,2,3 |    1 | 123456789012345678,987654321098765432 | {"key":"value"} | 0    |
+------+---------------+--------------+---------------------+------+----------+-------+------+---------------------------------------+-----------------+------+
0
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SHOW TABLES;"; done
––– output –––
+---------------+------+
| Table         | Type |
+---------------+------+
| tbl_none      | rt   |
| tbl_plain     | rt   |
| tbl_stem_en   | rt   |
| tbl_stem_ru   | rt   |
| tbl_wordforms | rt   |
| testrt        | rt   |
+---------------+------+
+---------------+------+
| Table         | Type |
+---------------+------+
| tbl_none      | rt   |
| tbl_plain     | rt   |
| tbl_stem_en   | rt   |
| tbl_stem_ru   | rt   |
| tbl_stopwords | rt   |
| tbl_wordforms | rt   |
| testrt        | rt   |
+---------------+------+
+----------------+------+
| Table          | Type |
+----------------+------+
| tbl_exceptions | rt   |
| tbl_none       | rt   |
| tbl_plain      | rt   |
| tbl_stem_en    | rt   |
| tbl_stem_ru    | rt   |
| tbl_wordforms  | rt   |
| testrt         | rt   |
+----------------+------+
+---------------+------+
| Table         | Type |
+---------------+------+
| tbl_none      | rt   |
| tbl_plain     | rt   |
| tbl_stem_en   | rt   |
| tbl_stem_ru   | rt   |
| tbl_wordforms | rt   |
| testrt        | rt   |
+---------------+------+
+---------------+------+
| Table         | Type |
+---------------+------+
| tbl_none      | rt   |
| tbl_plain     | rt   |
| tbl_stem_en   | rt   |
| tbl_stem_ru   | rt   |
| tbl_wordforms | rt   |
| testrt        | rt   |
+---------------+------+
––– input –––
for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do if [ $port1 -ne $port2 ]; then diff <(mysql -h0 -P$port1 -e "SELECT * FROM tbl_plain;") <(mysql -h0 -P$port2 -e "SELECT * FROM tbl_plain;"); fi; done; done
––– output –––

```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2024-12-17T00:48:33Z
body: ## clt
👎 CLT tests in `test/clt-tests/core/
test/clt-tests/expected-errors/`
✅ OK: 29
❌ Failed: 1
⏳ Duration: 354s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/12363879618) for commit [4865b3c](https://github.com/manticoresoftware/manticoresearch/commit/4865b3c8d2891c241e454dfb57f80be1823b7898)
Failed tests:
<details>
<summary>test/clt-tests/core/show-settings.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
mysql -h0 -P1306 -e "SHOW SETTINGS;"
––– output –––
+----------------------------+------------------------------------------------------------+
| Setting_name               | Value                                                      |
+----------------------------+------------------------------------------------------------+
| configuration_file         | /.clt/test/clt-tests/base/searchd-with-flexible-ports.conf |
| worker_pid                 | %{NUMBER}                                                         |
| searchd.listen             | 1306:mysql41                                               |
| searchd.listen             | 1312                                                       |
| searchd.listen             | 1308:http                                                  |
- | searchd.log                | /var/log/manticore-1/searchd.log                           |
+ | searchd.log                | /tmp/manticore-1/searchd.log                               |
- | searchd.query_log          | /var/log/manticore-1/query.log                             |
+ | searchd.query_log          | /tmp/manticore-1/query.log                                 |
- | searchd.pid_file           | /var/log/manticore-1/searchd.pid                           |
+ | searchd.pid_file           | /tmp/manticore-1/searchd.pid                               |
- | searchd.data_dir           | /var/log/manticore-1                                       |
+ | searchd.data_dir           | /tmp/manticore-1                                           |
| searchd.query_log_format   | sphinxql                                                   |
| searchd.query_log_commands | 1                                                          |
- | searchd.binlog_path        | /var/log/manticore-1/binlog                                |
+ | searchd.binlog_path        | /tmp/manticore-1/binlog                                    |
| common.plugin_dir          | /usr/local/lib/manticore                                   |
| common.lemmatizer_base     | /usr/share/manticore/morph/                                |
+----------------------------+------------------------------------------------------------+

```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2024-12-17T00:57:57Z
body: ## clt
👎 CLT tests in `test/clt-tests/core/
test/clt-tests/expected-errors/`
✅ OK: 29
❌ Failed: 1
⏳ Duration: 353s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/12363879618) for commit [4865b3c](https://github.com/manticoresoftware/manticoresearch/commit/4865b3c8d2891c241e454dfb57f80be1823b7898)
Failed tests:
<details>
<summary>test/clt-tests/core/show-settings.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
mysql -h0 -P1306 -e "SHOW SETTINGS;"
––– output –––
+----------------------------+------------------------------------------------------------+
| Setting_name               | Value                                                      |
+----------------------------+------------------------------------------------------------+
| configuration_file         | /.clt/test/clt-tests/base/searchd-with-flexible-ports.conf |
| worker_pid                 | %{NUMBER}                                                         |
| searchd.listen             | 1306:mysql41                                               |
| searchd.listen             | 1312                                                       |
| searchd.listen             | 1308:http                                                  |
- | searchd.log                | /var/log/manticore-1/searchd.log                           |
+ | searchd.log                | /tmp/manticore-1/searchd.log                               |
- | searchd.query_log          | /var/log/manticore-1/query.log                             |
+ | searchd.query_log          | /tmp/manticore-1/query.log                                 |
- | searchd.pid_file           | /var/log/manticore-1/searchd.pid                           |
+ | searchd.pid_file           | /tmp/manticore-1/searchd.pid                               |
- | searchd.data_dir           | /var/log/manticore-1                                       |
+ | searchd.data_dir           | /tmp/manticore-1                                           |
| searchd.query_log_format   | sphinxql                                                   |
| searchd.query_log_commands | 1                                                          |
- | searchd.binlog_path        | /var/log/manticore-1/binlog                                |
+ | searchd.binlog_path        | /tmp/manticore-1/binlog                                    |
| common.plugin_dir          | /usr/local/lib/manticore                                   |
| common.lemmatizer_base     | /usr/share/manticore/morph/                                |
+----------------------------+------------------------------------------------------------+

```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2024-12-19T00:51:37Z
body: ## clt
👎 CLT tests in `test/clt-tests/replication/`
✅ OK: 1
❌ Failed: 1
⏳ Duration: 59s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/12403869006) for commit [56f5aa4](https://github.com/manticoresoftware/manticoresearch/commit/56f5aa4f320f9a11868e803085c0c7e62d5a804d)
Failed tests:
<details>
<summary>test/clt-tests/replication/replication-test.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE testrt (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;"
––– output –––
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+--------+
| Counter                     | Value  |
+-----------------------------+--------+
| cluster_replication_indexes | testrt |
+-----------------------------+--------+
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860993, 'iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860994, 'Galaxy S21 Ultra', 128, 'black', 2021, 1199.99, 1099.99, 0, '1609459200000', (4,5,6), (1234567890123456789, 9876543210987654321), '{\"features\": [\"Dynamic AMOLED 2X\", \"Exynos 2100\", \"108MP camera\"]}', (0.5, 0.4, 0.3, 0.2));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW CREATE TABLE testrt;"
––– output –––
+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table  | Create Table                                                                                                                                                                                                                                                                                                                  |
+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| testrt | CREATE TABLE testrt (
id bigint,
model text,
storage_capacity integer,
color string attribute,
release_year integer,
price float,
discounted_price float,
sold bool,
date_added timestamp,
product_codes multi,
values multi64,
additional_info json,
vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='L2'
) |
+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
––– input –––
export INSTANCE=5
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860995, 'Google Pixel 6', 128, 'sorta seafoam', 2021, 699.99, 599.99, 1, '1635317932000', (33,34,35), (623456764345678976, 98765409877866654097, 1109876543450987650986), '{\"features\": [\"Google Tensor chip\", \"Flat OLED display\", \"Dual-camera system\"]}', (0.823448, 0.362478, 0.187971, 0.509821));"; echo $?
––– output –––
0
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5; mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
––– input –––
export INSTANCE=2
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860996, 'OnePlus 9', 256, 'winter mist', 2021, 729.99, 629.99, 0, '1648044532000', (36,37,38), (723456764345678976, 98765409877866654096, 1109876543450987650985), '{\"features\": [\"Qualcomm Snapdragon 888\", \"Fluid AMOLED display\", \"Hasselblad Camera for Mobile\"]}', (0.021106, 0.918278, 0.261892, 0.074594));"; echo $?
––– output –––
0
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860994
model: Galaxy S21 Ultra
storage_capacity: 128
color: black
release_year: 2021
price: 1199.989990
discounted_price: 1099.989990
sold: 0
date_added: 3141431296
product_codes: 4,5,6
values: 1234567890123456789,9223372036854775807
additional_info: {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}
vector: 0.500000,0.400000,0.300000,0.200000
*************************** 3. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 4. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
export INSTANCE=4
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
sleep 5;mysql -h0 -P2306 -e "DELETE FROM replication:testrt WHERE id = 6775836565403860994;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_2306.txt;
––– output –––
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
chmod -R 777 /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
sleep 5;mysql -h0 -P1306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_1306.txt;
––– output –––
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_2306.txt;
––– output –––
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_3306.txt;
––– output –––
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_4306.txt;
––– output –––
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_5306.txt;
––– output –––
––– input –––
diff /tmp/output_1306.txt /tmp/output_2306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_3306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_4306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_5306.txt; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO replication:testrt (id, model, storage_capacity, color, release_year, price, discounted_price, sold, date_added, product_codes, values, additional_info, vector) VALUES (6775836565403860993, 'Updated iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"Updated ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM testrt WHERE id=6775836565403860993\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM testrt WHERE id=6775836565403860993\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM testrt WHERE id=6775836565403860993\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM testrt WHERE id=6775836565403860993\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM testrt WHERE id=6775836565403860993\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
––– input –––
mysql -h0 -P1306 -e "FLUSH RAMCHUNK testrt;"
––– output –––
––– input –––
mysql -h0 -P1306 -e 'set global cluster_user=replication'
––– output –––
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:testrt | mysql -P1306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
0
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking tables on port $port"; mysql -h0 -P$port -e "SHOW TABLES;"; mysql -h0 -P$port -e "SELECT * FROM testrt ORDER BY id ASC\G"; done
––– output –––
Checking tables on port 1306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 3. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
Checking tables on port 2306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 3. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
Checking tables on port 3306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 3. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
Checking tables on port 4306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 3. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
Checking tables on port 5306
+--------+------+
| Table  | Type |
+--------+------+
| testrt | rt   |
+--------+------+
*************************** 1. row ***************************
id: 6775836565403860993
model: Updated iPhone 13 Pro
storage_capacity: 256
color: silver
release_year: 2021
price: 1099.989990
discounted_price: 989.989990
sold: 1
date_added: 2224442480
product_codes: 1,2,3
values: 523456764345678976,9223372036854775807
additional_info: {"features":["Updated ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
vector: 0.773448,0.312478,0.137971,0.459821
*************************** 2. row ***************************
id: 6775836565403860995
model: Google Pixel 6
storage_capacity: 128
color: sorta seafoam
release_year: 2021
price: 699.989990
discounted_price: 599.989990
sold: 1
date_added: 3230359520
product_codes: 33,34,35
values: 623456764345678976,9223372036854775807
additional_info: {"features":["Google Tensor chip","Flat OLED display","Dual-camera system"]}
vector: 0.823448,0.362478,0.187971,0.509821
*************************** 3. row ***************************
id: 6775836565403860996
model: OnePlus 9
storage_capacity: 256
color: winter mist
release_year: 2021
price: 729.989990
discounted_price: 629.989990
sold: 0
date_added: 3072057632
product_codes: 36,37,38
values: 723456764345678976,9223372036854775807
additional_info: {"features":["Qualcomm Snapdragon 888","Fluid AMOLED display","Hasselblad Camera for Mobile"]}
vector: 0.021106,0.918278,0.261892,0.074594
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl_none (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' rt_mem_limit='128M';"; echo $?
––– output –––
0
––– input –––
echo 'the, and, of' > /tmp/stopwords.txt; mysql -h0 -P2306 -e "CREATE TABLE tbl_stopwords (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
echo 'cat => feline, dog => canine' > /tmp/exceptions.txt; mysql -h0 -P3306 -e "CREATE TABLE tbl_exceptions (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' exceptions='/tmp/exceptions.txt' morphology='stem_ru' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
echo 'fast, faster' > /tmp/wordforms.txt; mysql -h0 -P4306 -e "CREATE TABLE tbl_wordforms (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' wordforms='/tmp/wordforms.txt' rt_mem_limit='1024M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P5306 -e "CREATE TABLE tbl_rowwise_stem_ru (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' morphology='stem_ru' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P5306 -e "INSERT INTO tbl_rowwise (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Rowwise example', 42, 3.14, '{\"key\":\"value\",\"list\":[1,2,3]}', (1,2,3), 'row_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P5306 -e "FLUSH RAMCHUNK tbl_rowwise;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P5306 -e "ALTER CLUSTER replication ADD tbl_rowwise;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P5306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+--------------------+
| Counter                     | Value              |
+-----------------------------+--------------------+
| cluster_replication_indexes | testrt,tbl_rowwise |
+-----------------------------+--------------------+
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_rowwise | mysql -h0 -P5306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl_none (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Example text', 42, 3.14, '{\"key\":\"value\",\"list\":[1,2,3]}', (1,2,3), 'string_value', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl_stem_en (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Stemmed text', 24, 1.41, '{\"key\":\"value2\",\"list\":[4,5,6]}', (4,5,6), 'another_string', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl_stem_ru (id, f, a, b, j, m, s, e, d, v, fv) VALUES (3, 'Русский текст', 84, 2.71, '{\"ключ\":\"значение\",\"массив\":[7,8,9]}', (7,8,9), 'строка', 1, '2022-05-20 15:45:00', (234567890123456789, 876543210987654321), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P4306 -e "INSERT INTO tbl_wordforms (id, f, a, b, j, m, s, e, d, v, fv) VALUES (4, 'Fast text', 99, 9.81, '{\"feature\":\"speed\",\"list\":[10,11,12]}', (10,11,12), 'quick_string', 0, '2021-01-01 00:00:00', (345678901234567890, 765432109876543210), (0.5, 0.5, 0.5, 0.5));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "FLUSH RAMCHUNK tbl_none;"
––– output –––
––– input –––
mysql -h0 -P2306 -e "FLUSH RAMCHUNK tbl_stem_en;"
––– output –––
––– input –––
mysql -h0 -P3306 -e "FLUSH RAMCHUNK tbl_stem_ru;"
––– output –––
––– input –––
mysql -h0 -P4306 -e "FLUSH RAMCHUNK tbl_wordforms;"
––– output –––
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD tbl_none;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER replication ADD tbl_stem_en;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "ALTER CLUSTER replication ADD tbl_stem_ru;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P4306 -e "ALTER CLUSTER replication ADD tbl_wordforms;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+-------------------------------------------------------------------+
| Counter                     | Value                                                             |
+-----------------------------+-------------------------------------------------------------------+
| cluster_replication_indexes | testrt,tbl_rowwise,tbl_none,tbl_stem_en,tbl_stem_ru,tbl_wordforms |
+-----------------------------+-------------------------------------------------------------------+
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_none replication:tbl_stem_en replication:tbl_stem_ru replication:tbl_wordforms | mysql -P2306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
0
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM tbl_none;"; mysql -h0 -P$port -e "SELECT * FROM tbl_stem_en;"; mysql -h0 -P$port -e "SELECT * FROM tbl_stem_ru;"; mysql -h0 -P$port -e "SELECT * FROM tbl_wordforms;"; done
––– output –––
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j                              | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Example text |   42 | 3.140000 | {"key":"value","list":[1,2,3]} | 1,2,3 | string_value |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
| id   | f            | s              | d                   | a    | b        | j                               | m     | e    | v                                     | fv   |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
|    2 | Stemmed text | another_string | 2023-11-15 08:30:00 |   24 | 1.410000 | {"key":"value2","list":[4,5,6]} | 4,5,6 |    0 | 123456789012345678,987654321098765432 | 0    |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
| id   | f                         | s            | d                   | a    | b        | j                                                      | m     | e    | v                                     | fv   |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
|    3 | Русский текст             | строка       | 2022-05-20 15:45:00 |   84 | 2.710000 | {"ключ":"значение","массив":[7,8,9]}                   | 7,8,9 |    1 | 234567890123456789,876543210987654321 | 0    |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f         | a    | b        | j                                     | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    4 | Fast text |   99 | 9.810000 | {"feature":"speed","list":[10,11,12]} | 10,11,12 | quick_string |    0 |    0 | 345678901234567890,765432109876543210 | 0.500000,0.500000,0.500000,0.500000 |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j                              | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Example text |   42 | 3.140000 | {"key":"value","list":[1,2,3]} | 1,2,3 | string_value |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
| id   | f            | s              | d                   | a    | b        | j                               | m     | e    | v                                     | fv   |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
|    2 | Stemmed text | another_string | 2023-11-15 08:30:00 |   24 | 1.410000 | {"key":"value2","list":[4,5,6]} | 4,5,6 |    0 | 123456789012345678,987654321098765432 | 0    |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
| id   | f                         | s            | d                   | a    | b        | j                                                      | m     | e    | v                                     | fv   |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
|    3 | Русский текст             | строка       | 2022-05-20 15:45:00 |   84 | 2.710000 | {"ключ":"значение","массив":[7,8,9]}                   | 7,8,9 |    1 | 234567890123456789,876543210987654321 | 0    |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f         | a    | b        | j                                     | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    4 | Fast text |   99 | 9.810000 | {"feature":"speed","list":[10,11,12]} | 10,11,12 | quick_string |    0 |    0 | 345678901234567890,765432109876543210 | 0.500000,0.500000,0.500000,0.500000 |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j                              | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Example text |   42 | 3.140000 | {"key":"value","list":[1,2,3]} | 1,2,3 | string_value |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
| id   | f            | s              | d                   | a    | b        | j                               | m     | e    | v                                     | fv   |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
|    2 | Stemmed text | another_string | 2023-11-15 08:30:00 |   24 | 1.410000 | {"key":"value2","list":[4,5,6]} | 4,5,6 |    0 | 123456789012345678,987654321098765432 | 0    |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
| id   | f                         | s            | d                   | a    | b        | j                                                      | m     | e    | v                                     | fv   |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
|    3 | Русский текст             | строка       | 2022-05-20 15:45:00 |   84 | 2.710000 | {"ключ":"значение","массив":[7,8,9]}                   | 7,8,9 |    1 | 234567890123456789,876543210987654321 | 0    |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f         | a    | b        | j                                     | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    4 | Fast text |   99 | 9.810000 | {"feature":"speed","list":[10,11,12]} | 10,11,12 | quick_string |    0 |    0 | 345678901234567890,765432109876543210 | 0.500000,0.500000,0.500000,0.500000 |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j                              | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Example text |   42 | 3.140000 | {"key":"value","list":[1,2,3]} | 1,2,3 | string_value |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
| id   | f            | s              | d                   | a    | b        | j                               | m     | e    | v                                     | fv   |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
|    2 | Stemmed text | another_string | 2023-11-15 08:30:00 |   24 | 1.410000 | {"key":"value2","list":[4,5,6]} | 4,5,6 |    0 | 123456789012345678,987654321098765432 | 0    |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
| id   | f                         | s            | d                   | a    | b        | j                                                      | m     | e    | v                                     | fv   |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
|    3 | Русский текст             | строка       | 2022-05-20 15:45:00 |   84 | 2.710000 | {"ключ":"значение","массив":[7,8,9]}                   | 7,8,9 |    1 | 234567890123456789,876543210987654321 | 0    |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f         | a    | b        | j                                     | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    4 | Fast text |   99 | 9.810000 | {"feature":"speed","list":[10,11,12]} | 10,11,12 | quick_string |    0 |    0 | 345678901234567890,765432109876543210 | 0.500000,0.500000,0.500000,0.500000 |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j                              | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Example text |   42 | 3.140000 | {"key":"value","list":[1,2,3]} | 1,2,3 | string_value |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+--------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
| id   | f            | s              | d                   | a    | b        | j                               | m     | e    | v                                     | fv   |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
|    2 | Stemmed text | another_string | 2023-11-15 08:30:00 |   24 | 1.410000 | {"key":"value2","list":[4,5,6]} | 4,5,6 |    0 | 123456789012345678,987654321098765432 | 0    |
+------+--------------+----------------+---------------------+------+----------+---------------------------------+-------+------+---------------------------------------+------+
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
| id   | f                         | s            | d                   | a    | b        | j                                                      | m     | e    | v                                     | fv   |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
|    3 | Русский текст             | строка       | 2022-05-20 15:45:00 |   84 | 2.710000 | {"ключ":"значение","массив":[7,8,9]}                   | 7,8,9 |    1 | 234567890123456789,876543210987654321 | 0    |
+------+---------------------------+--------------+---------------------+------+----------+--------------------------------------------------------+-------+------+---------------------------------------+------+
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f         | a    | b        | j                                     | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    4 | Fast text |   99 | 9.810000 | {"feature":"speed","list":[10,11,12]} | 10,11,12 | quick_string |    0 |    0 | 345678901234567890,765432109876543210 | 0.500000,0.500000,0.500000,0.500000 |
+------+-----------+------+----------+---------------------------------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do if [ $port1 -ne $port2 ]; then diff <(mysql -h0 -P$port1 -e "SELECT * FROM tbl_none;") <(mysql -h0 -P$port2 -e "SELECT * FROM tbl_none;"); diff <(mysql -h0 -P$port1 -e "SELECT * FROM tbl_stem_en;") <(mysql -h0 -P$port2 -e "SELECT * FROM tbl_stem_en;"); diff <(mysql -h0 -P$port1 -e "SELECT * FROM tbl_stem_ru;") <(mysql -h0 -P$port2 -e "SELECT * FROM tbl_stem_ru;"); diff <(mysql -h0 -P$port1 -e "SELECT * FROM tbl_wordforms;") <(mysql -h0 -P$port2 -e "SELECT * FROM tbl_wordforms;"); fi; done; done
––– output –––
––– input –––
export INSTANCE=1
––– output –––
––– input –––
echo "index tbl_plain { type = plain; path = /var/lib/manticore/tbl_plain; rt_mem_limit = 512M; rt_field = f; rt_attr_uint = a; rt_attr_float = b; rt_attr_multi = m; rt_attr_string = s; rt_attr_bool = e; rt_attr_timestamp = d; rt_attr_multi_64 = v; rt_attr_json = j; rt_attr_vector = fv float_vector; }" > /var/lib/manticore/tbl_plain.conf; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl_plain (id, f, a, b, m, s, e, d, v, j, fv) VALUES (1, 'Plain example', 42, 3.14, (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), '{\"key\":\"value\"}', (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD tbl_plain;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+-----------------------------------------------------------------------------+
| Counter                     | Value                                                                       |
+-----------------------------+-----------------------------------------------------------------------------+
| cluster_replication_indexes | testrt,tbl_rowwise,tbl_none,tbl_stem_en,tbl_stem_ru,tbl_wordforms,tbl_plain |
+-----------------------------+-----------------------------------------------------------------------------+
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_plain | mysql -h0 -P2306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
0
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_plain;" | md5sum > /tmp/hash_$port.txt; done; for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
start_time=$(date +%s%3N); mysql -h0 -P1306 -e "INSERT INTO replication:tbl_plain (id, f, a, b, m, s, e, d, v, j, fv) VALUES (2, 'Performance test', 24, 2.71, (4,5,6), 'perf_string', 1, '2024-12-18 12:00:00', (987654321,123456789), '{\"key\":\"test\"}', (0.2,0.3,0.4,0.5));"; end_time=$(date +%s%3N); echo "INSERT took $(($end_time - $start_time)) ms"
––– output –––
+ INSERT took 8 ms
––– input –––
start_time=$(date +%s%3N); mysql -h0 -P1306 -e "REPLACE INTO replication:tbl_plain (id, f, a, b, m, s, e, d, v, j, fv) VALUES (2, 'Updated test', 42, 3.14, (1,2,3), 'updated_string', 0, '2024-12-18 12:00:00', (123456789,987654321), '{\"key\":\"updated\"}', (0.5,0.4,0.3,0.2));"; end_time=$(date +%s%3N); echo "REPLACE took $(($end_time - $start_time)) ms"
––– output –––
+ REPLACE took 6 ms
––– input –––
start_time=$(date +%s%3N); mysql -h0 -P1306 -e "DELETE FROM replication:tbl_plain WHERE id=2;"; end_time=$(date +%s%3N); echo "DELETE took $(($end_time - $start_time)) ms"
––– output –––
+ DELETE took 6 ms
––– input –––
start_time=$(date +%s%3N); mysql -h0 -P1306 -e "FLUSH RAMCHUNK tbl_plain;"; sleep 5; end_time=$(date +%s%3N); echo "FLUSH RAMCHUNK took $(($end_time - $start_time)) ms"; for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_plain;" > /tmp/output_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/output_$port1.txt /tmp/output_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
+ FLUSH RAMCHUNK took 5015 ms
––– input –––
seq 1 100 | xargs -P10 -I{} mysql -h0 -P1306 -e "REPLACE INTO replication:tbl_plain (id, f) VALUES ({}, 'test');"
––– output –––

```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-01-06T00:29:39Z
body: ## clt
👎 CLT tests in `test/clt-tests/replication/`
✅ OK: 1
❌ Failed: 1
⏳ Duration: 27s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/12624176815) for commit [952566a](https://github.com/manticoresoftware/manticoresearch/commit/952566a3855acdd533c0424a70d3e072c307b590)
Failed tests:
<details>
<summary>test/clt-tests/replication/replication-with-mysqldump.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE testrt (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO testrt VALUES (6775836565403860993, 'iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO testrt VALUES (6775836565403860994, 'Galaxy S21 Ultra', 128, 'black', 2021, 1199.99, 1099.99, 0, '1609459200000', (4,5,6), (1234567890123456789, 9876543210987654321), '{\"features\": [\"Dynamic AMOLED 2X\", \"Exynos 2100\", \"108MP camera\"]}', (0.5, 0.4, 0.3, 0.2));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;"
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+--------+
| Counter                     | Value  |
+-----------------------------+--------+
| cluster_replication_indexes | testrt |
+-----------------------------+--------+
––– input –––
export INSTANCE=5
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860995, 'Google Pixel 6', 128, 'sorta seafoam', 2021, 699.99, 599.99, 1, '1635317932000', (33,34,35), (623456764345678976, 98765409877866654097, 1109876543450987650986), '{\"features\": [\"Google Tensor chip\", \"Flat OLED display\", \"Dual-camera system\"]}', (0.823448, 0.362478, 0.187971, 0.509821));"; echo $?
––– output –––
0
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
export INSTANCE=2
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860996, 'OnePlus 9', 256, 'winter mist', 2021, 729.99, 629.99, 0, '1648044532000', (36,37,38), (723456764345678976, 98765409877866654096, 1109876543450987650985), '{\"features\": [\"Qualcomm Snapdragon 888\", \"Fluid AMOLED display\", \"Hasselblad Camera for Mobile\"]}', (0.021106, 0.918278, 0.261892, 0.074594));"; echo $?
––– output –––
0
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
export INSTANCE=4
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P2306 -e "DELETE FROM replication:testrt WHERE id = 6775836565403860994;"; echo $?
––– output –––
0
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO replication:testrt (id, model, storage_capacity, color, release_year, price, discounted_price, sold, date_added, product_codes, values, additional_info, vector) VALUES (6775836565403860993, 'Updated iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"Updated ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysql -h0 -P1306 -e "FLUSH RAMCHUNK testrt;"
––– output –––
––– input –––
mysql -h0 -P1306 -e 'set global cluster_user=replication'
––– output –––
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:testrt | mysql -P1306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't execute 'show fields from `replication:testrt`': no such table 'replication:testrt' (1064)
+ 0
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM testrt ORDER BY id ASC;" | md5sum | awk '{print $1}' > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl_none (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' rt_mem_limit='128M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl_none (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Example text', 42, 3.14, '{\"key\":\"value\",\"list\":[1,2,3]}', (1,2,3), 'string_value', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD tbl_none;"; echo $?
––– output –––
0
––– input –––
echo 'the, and, of' > /tmp/stopwords.txt; mysql -h0 -P2306 -e "CREATE TABLE tbl_stopwords (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl_stopwords (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Stemmed text', 24, 1.41, '{\"key\":\"value2\",\"list\":[4,5,6]}', (4,5,6), 'another_string', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER replication ADD tbl_stopwords;"; echo $?
––– output –––
0
––– input –––
echo 'cat => feline, dog => canine' > /tmp/exceptions.txt; mysql -h0 -P3306 -e "CREATE TABLE tbl_exceptions (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' exceptions='/tmp/exceptions.txt' morphology='stem_ru' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl_exceptions (id, f, a, b, j, m, s, e, d, v, fv) VALUES (3, 'Русский текст', 84, 2.71, '{\"ключ\":\"значение\",\"массив\":[7,8,9]}', (7,8,9), 'строка', 1, '2022-05-20 15:45:00', (234567890123456789, 876543210987654321), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "ALTER CLUSTER replication ADD tbl_exceptions;"; echo $?
––– output –––
+ 0
––– input –––
echo 'fast, faster' > /tmp/wordforms.txt; mysql -h0 -P4306 -e "CREATE TABLE tbl_wordforms (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' wordforms='/tmp/wordforms.txt' rt_mem_limit='1024M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P4306 -e "INSERT INTO tbl_wordforms (id, f, a, b, j, m, s, e, d, v, fv) VALUES (4, 'Fast text', 99, 9.81, '{\"feature\":\"speed\",\"list\":[10,11,12]}', (10,11,12), 'quick_string', 0, '2021-01-01 00:00:00', (345678901234567890, 765432109876543210), (0.5, 0.5, 0.5, 0.5));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P4306 -e "ALTER CLUSTER replication ADD tbl_wordforms;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P5306 -e "CREATE TABLE tbl_rowwise_stem_ru (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' morphology='stem_ru' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P5306 -e "INSERT INTO tbl_rowwise_stem_ru (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Stemmed text', 24, 1.41, '{\"key\":\"value2\",\"list\":[4,5,6]}', (4,5,6), 'another_string', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P5306 -e "ALTER CLUSTER replication ADD tbl_rowwise_stem_ru;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+--------------------------------------------------------------------------------+
| Counter                     | Value                                                                          |
+-----------------------------+--------------------------------------------------------------------------------+
| cluster_replication_indexes | testrt,tbl_none,tbl_stopwords,tbl_exceptions,tbl_wordforms,tbl_rowwise_stem_ru |
+-----------------------------+--------------------------------------------------------------------------------+
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_none ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_exceptions ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_wordforms ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_rowwise_stem_ru ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_rowwise_stem_ru | mysql -h0 -P5306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't execute 'show fields from `replication:tbl_rowwise_stem_ru`': no such table 'replication:tbl_rowwise_stem_ru' (1064)
+ 0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl_stem_en (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Stemmed text', 24, 1.41, '{\"key\":\"value2\",\"list\":[4,5,6]}', (4,5,6), 'another_string', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl_stem_ru (id, f, a, b, j, m, s, e, d, v, fv) VALUES (3, 'Русский текст', 84, 2.71, '{\"ключ\":\"значение\",\"массив\":[7,8,9]}', (7,8,9), 'строка', 1, '2022-05-20 15:45:00', (234567890123456789, 876543210987654321), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "FLUSH RAMCHUNK testrt;"
––– output –––
––– input –––
mysql -h0 -P2306 -e "FLUSH RAMCHUNK tbl_stopwords;"
––– output –––
––– input –––
mysql -h0 -P3306 -e "FLUSH RAMCHUNK tbl_rowwise_stem_ru;"
––– output –––
––– input –––
mysql -h0 -P4306 -e "FLUSH RAMCHUNK tbl_wordforms;"
––– output –––
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_none replication:tbl_stopwords replication:tbl_exceptions replication:tbl_wordforms | mysql -P2306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't execute 'show fields from `replication:tbl_none`': no such table 'replication:tbl_none' (1064)
+ 0
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM tbl_wordforms ORDER BY id ASC;" | md5sum | awk '{print $1}' > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
export INSTANCE=1
––– output –––
––– input –––
echo "index tbl_plain { type = plain; path = /var/lib/manticore/tbl_plain; rt_mem_limit = 512M; rt_field = f; rt_attr_uint = a; rt_attr_float = b; rt_attr_multi = m; rt_attr_string = s; rt_attr_bool = e; rt_attr_timestamp = d; rt_attr_multi_64 = v; rt_attr_json = j; rt_attr_vector = fv float_vector; }" > /var/lib/manticore/tbl_plain.conf; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl_plain (id, f, a, b, m, s, e, d, v, j, fv) VALUES (1, 'Plain example', 42, 3.14, (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), '{\"key\":\"value\"}', (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD tbl_plain;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+------------------------------------------------------------------------------------------+
| Counter                     | Value                                                                                    |
+-----------------------------+------------------------------------------------------------------------------------------+
| cluster_replication_indexes | testrt,tbl_none,tbl_stopwords,tbl_exceptions,tbl_wordforms,tbl_rowwise_stem_ru,tbl_plain |
+-----------------------------+------------------------------------------------------------------------------------------+
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_plain | mysql -h0 -P1306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't execute 'show fields from `replication:tbl_plain`': no such table 'replication:tbl_plain' (1064)
+ 0
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM tbl_wordforms ORDER BY id ASC;" | md5sum | awk '{print $1}' > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––

```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-01-06T15:17:24Z
body: ## clt
👎 CLT tests in `test/clt-tests/replication/`
✅ OK: 1
❌ Failed: 1
⏳ Duration: 25s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/12634831223) for commit [2543204](https://github.com/manticoresoftware/manticoresearch/commit/2543204fecc465a07103794362cc49712ee510f5)
Failed tests:
<details>
<summary>test/clt-tests/replication/replication-with-mysqldump.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE testrt (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO testrt VALUES (6775836565403860993, 'iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO testrt VALUES (6775836565403860994, 'Galaxy S21 Ultra', 128, 'black', 2021, 1199.99, 1099.99, 0, '1609459200000', (4,5,6), (1234567890123456789, 9876543210987654321), '{\"features\": [\"Dynamic AMOLED 2X\", \"Exynos 2100\", \"108MP camera\"]}', (0.5, 0.4, 0.3, 0.2));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;"
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SET GLOBAL cluster_user = 'replication';"; done
––– output –––
––– input –––
for port in 1306 2306 3306 4306 5306; do timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW VARIABLES LIKE 'cluster_user';\" | grep -q '| cluster_user  | replication |'; do sleep 1; done" && echo "Port $port: cluster_user is replication." || { echo "Port $port: cluster_user is not replication."; exit 1; }; done
––– output –––
Port 1306: cluster_user is replication.
Port 2306: cluster_user is replication.
Port 3306: cluster_user is replication.
Port 4306: cluster_user is replication.
Port 5306: cluster_user is replication.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+--------+
| Counter                     | Value  |
+-----------------------------+--------+
| cluster_replication_indexes | testrt |
+-----------------------------+--------+
––– input –––
export INSTANCE=5
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860995, 'Google Pixel 6', 128, 'sorta seafoam', 2021, 699.99, 599.99, 1, '1635317932000', (33,34,35), (623456764345678976, 98765409877866654097, 1109876543450987650986), '{\"features\": [\"Google Tensor chip\", \"Flat OLED display\", \"Dual-camera system\"]}', (0.823448, 0.362478, 0.187971, 0.509821));"; echo $?
––– output –––
0
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
export INSTANCE=2
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860996, 'OnePlus 9', 256, 'winter mist', 2021, 729.99, 629.99, 0, '1648044532000', (36,37,38), (723456764345678976, 98765409877866654096, 1109876543450987650985), '{\"features\": [\"Qualcomm Snapdragon 888\", \"Fluid AMOLED display\", \"Hasselblad Camera for Mobile\"]}', (0.021106, 0.918278, 0.261892, 0.074594));"; echo $?
––– output –––
0
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
export INSTANCE=4
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P2306 -e "DELETE FROM replication:testrt WHERE id = 6775836565403860994;"; echo $?
––– output –––
0
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO replication:testrt (id, model, storage_capacity, color, release_year, price, discounted_price, sold, date_added, product_codes, values, additional_info, vector) VALUES (6775836565403860993, 'Updated iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"Updated ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:testrt | mysql -P1306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't execute 'show fields from `replication:testrt`': no such table 'replication:testrt' (1064)
+ 0
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM testrt ORDER BY id ASC;" | md5sum | awk '{print $1}' > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl_none (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' rt_mem_limit='128M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl_none (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Example text', 42, 3.14, '{\"key\":\"value\",\"list\":[1,2,3]}', (1,2,3), 'string_value', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD tbl_none;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "FLUSH RAMCHUNK tbl_none;"
––– output –––
––– input –––
echo 'the, and, of' > /tmp/stopwords.txt; mysql -h0 -P2306 -e "CREATE TABLE tbl_stopwords (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl_stopwords (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Stemmed text', 24, 1.41, '{\"key\":\"value2\",\"list\":[4,5,6]}', (4,5,6), 'another_string', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER replication ADD tbl_stopwords;"; echo $?
––– output –––
0
––– input –––
echo 'cat => feline, dog => canine' > /tmp/exceptions.txt; mysql -h0 -P3306 -e "CREATE TABLE tbl_exceptions (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' exceptions='/tmp/exceptions.txt' morphology='stem_ru' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl_exceptions (id, f, a, b, j, m, s, e, d, v, fv) VALUES (3, 'Русский текст', 84, 2.71, '{\"ключ\":\"значение\",\"массив\":[7,8,9]}', (7,8,9), 'строка', 1, '2022-05-20 15:45:00', (234567890123456789, 876543210987654321), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "ALTER CLUSTER replication ADD tbl_exceptions;"; echo $?
––– output –––
0
––– input –––
echo 'fast, faster' > /tmp/wordforms.txt; mysql -h0 -P4306 -e "CREATE TABLE tbl_wordforms (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' wordforms='/tmp/wordforms.txt' rt_mem_limit='1024M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P4306 -e "INSERT INTO tbl_wordforms (id, f, a, b, j, m, s, e, d, v, fv) VALUES (4, 'Fast text', 99, 9.81, '{\"feature\":\"speed\",\"list\":[10,11,12]}', (10,11,12), 'quick_string', 0, '2021-01-01 00:00:00', (345678901234567890, 765432109876543210), (0.5, 0.5, 0.5, 0.5));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P4306 -e "ALTER CLUSTER replication ADD tbl_wordforms;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P5306 -e "CREATE TABLE tbl_rowwise_stem_ru (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' morphology='stem_ru' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P5306 -e "INSERT INTO tbl_rowwise_stem_ru (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Stemmed text', 24, 1.41, '{\"key\":\"value2\",\"list\":[4,5,6]}', (4,5,6), 'another_string', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P5306 -e "ALTER CLUSTER replication ADD tbl_rowwise_stem_ru;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+--------------------------------------------------------------------------------+
| Counter                     | Value                                                                          |
+-----------------------------+--------------------------------------------------------------------------------+
| cluster_replication_indexes | testrt,tbl_none,tbl_stopwords,tbl_exceptions,tbl_wordforms,tbl_rowwise_stem_ru |
+-----------------------------+--------------------------------------------------------------------------------+
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_none ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_exceptions ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_wordforms ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_rowwise_stem_ru ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_rowwise_stem_ru | mysql -h0 -P5306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't execute 'show fields from `replication:tbl_rowwise_stem_ru`': no such table 'replication:tbl_rowwise_stem_ru' (1064)
+ 0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl_stem_en (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Stemmed text', 24, 1.41, '{\"key\":\"value2\",\"list\":[4,5,6]}', (4,5,6), 'another_string', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl_stem_ru (id, f, a, b, j, m, s, e, d, v, fv) VALUES (3, 'Русский текст', 84, 2.71, '{\"ключ\":\"значение\",\"массив\":[7,8,9]}', (7,8,9), 'строка', 1, '2022-05-20 15:45:00', (234567890123456789, 876543210987654321), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "FLUSH RAMCHUNK testrt;"
––– output –––
––– input –––
mysql -h0 -P2306 -e "FLUSH RAMCHUNK tbl_stopwords;"
––– output –––
––– input –––
mysql -h0 -P3306 -e "FLUSH RAMCHUNK tbl_rowwise_stem_ru;"
––– output –––
––– input –––
mysql -h0 -P4306 -e "FLUSH RAMCHUNK tbl_wordforms;"
––– output –––
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_exceptions | mysql -P1306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't execute 'show fields from `replication:tbl_exceptions`': no such table 'replication:tbl_exceptions' (1064)
+ 0
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P2306 --skip-comments manticore replication:tbl_stopwords | mysql -P2306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't find table: "replication:tbl_stopwords"
+ 0
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P3306 --skip-comments manticore replication:tbl_none | mysql -P3306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't execute 'show fields from `replication:tbl_none`': no such table 'replication:tbl_none' (1064)
+ 0
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P4306 --skip-comments manticore replication:tbl_wordforms | mysql -P4306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't find table: "replication:tbl_wordforms"
+ 0
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P5306 --skip-comments manticore replication:tbl_rowwise_stem_ru | mysql -P5306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't find table: "replication:tbl_rowwise_stem_ru"
+ 0
––– input –––
mysql -h0 -P2306 -e "SHOW TABLES LIKE 'tbl_stopwords';"
––– output –––
+ +---------------+------+
+ | Table         | Type |
+ +---------------+------+
+ | tbl_stopwords | rt   |
+ +---------------+------+
––– input –––
mysql -h0 -P4306 -e "SHOW TABLES LIKE 'tbl_wordforms';"
––– output –––
+ +---------------+------+
+ | Table         | Type |
+ +---------------+------+
+ | tbl_wordforms | rt   |
+ +---------------+------+
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+ +-----------------------------+--------------------------------------------------------------------------------+
+ | Counter                     | Value                                                                          |
+ +-----------------------------+--------------------------------------------------------------------------------+
+ | cluster_replication_indexes | testrt,tbl_none,tbl_stopwords,tbl_exceptions,tbl_wordforms,tbl_rowwise_stem_ru |
+ +-----------------------------+--------------------------------------------------------------------------------+
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM tbl_wordforms ORDER BY id ASC;" | md5sum | awk '{print $1}' > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
export INSTANCE=1
––– output –––
––– input –––
echo "index tbl_plain { type = plain; path = /var/lib/manticore/tbl_plain; rt_mem_limit = 512M; rt_field = f; rt_attr_uint = a; rt_attr_float = b; rt_attr_multi = m; rt_attr_string = s; rt_attr_bool = e; rt_attr_timestamp = d; rt_attr_multi_64 = v; rt_attr_json = j; rt_attr_vector = fv float_vector; }" > /var/lib/manticore/tbl_plain.conf; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl_plain (id, f, a, b, m, s, e, d, v, j, fv) VALUES (1, 'Plain example', 42, 3.14, (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), '{\"key\":\"value\"}', (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD tbl_plain;"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+------------------------------------------------------------------------------------------+
| Counter                     | Value                                                                                    |
+-----------------------------+------------------------------------------------------------------------------------------+
| cluster_replication_indexes | testrt,tbl_none,tbl_stopwords,tbl_exceptions,tbl_wordforms,tbl_rowwise_stem_ru,tbl_plain |
+-----------------------------+------------------------------------------------------------------------------------------+
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_plain | mysql -h0 -P1306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't execute 'show fields from `replication:tbl_plain`': no such table 'replication:tbl_plain' (1064)
+ 0
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM tbl_wordforms ORDER BY id ASC;" | md5sum | awk '{print $1}' > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––

```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-01-06T20:06:42Z
body: ## clt
👎 CLT tests in `test/clt-tests/replication/`
✅ OK: 1
❌ Failed: 1
⏳ Duration: 28s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/12639303907) for commit [3033476](https://github.com/manticoresoftware/manticoresearch/commit/3033476f4222e7a43d893e80e706b4557e8bffdb)
Failed tests:
<details>
<summary>test/clt-tests/replication/replication-with-mysqldump.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE testrt (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO testrt VALUES (6775836565403860993, 'iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO testrt VALUES (6775836565403860994, 'Galaxy S21 Ultra', 128, 'black', 2021, 1199.99, 1099.99, 0, '1609459200000', (4,5,6), (1234567890123456789, 9876543210987654321), '{\"features\": [\"Dynamic AMOLED 2X\", \"Exynos 2100\", \"108MP camera\"]}', (0.5, 0.4, 0.3, 0.2));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;"
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SET GLOBAL cluster_user = 'replication';"; done
––– output –––
––– input –––
for port in 1306 2306 3306 4306 5306; do timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW VARIABLES LIKE 'cluster_user';\" | grep -q '| cluster_user  | replication |'; do sleep 1; done" && echo "Port $port: cluster_user is replication." || { echo "Port $port: cluster_user is not replication."; exit 1; }; done
––– output –––
Port 1306: cluster_user is replication.
Port 2306: cluster_user is replication.
Port 3306: cluster_user is replication.
Port 4306: cluster_user is replication.
Port 5306: cluster_user is replication.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+--------+
| Counter                     | Value  |
+-----------------------------+--------+
| cluster_replication_indexes | testrt |
+-----------------------------+--------+
––– input –––
export INSTANCE=5
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860995, 'Google Pixel 6', 128, 'sorta seafoam', 2021, 699.99, 599.99, 1, '1635317932000', (33,34,35), (623456764345678976, 98765409877866654097, 1109876543450987650986), '{\"features\": [\"Google Tensor chip\", \"Flat OLED display\", \"Dual-camera system\"]}', (0.823448, 0.362478, 0.187971, 0.509821));"; echo $?
––– output –––
0
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
export INSTANCE=2
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860996, 'OnePlus 9', 256, 'winter mist', 2021, 729.99, 629.99, 0, '1648044532000', (36,37,38), (723456764345678976, 98765409877866654096, 1109876543450987650985), '{\"features\": [\"Qualcomm Snapdragon 888\", \"Fluid AMOLED display\", \"Hasselblad Camera for Mobile\"]}', (0.021106, 0.918278, 0.261892, 0.074594));"; echo $?
––– output –––
0
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
export INSTANCE=4
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P2306 -e "DELETE FROM replication:testrt WHERE id = 6775836565403860994;"; echo $?
––– output –––
0
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{SEMVER} %{COMMITDATE}#!/(\sdev)?\s/!#(columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{SEMVER} %{COMMITDATE} dev (columnar %{SEMVER} %{COMMITDATE}) (secondary %{SEMVER} %{COMMITDATE}) (knn %{SEMVER} %{COMMITDATE})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO replication:testrt (id, model, storage_capacity, color, release_year, price, discounted_price, sold, date_added, product_codes, values, additional_info, vector) VALUES (6775836565403860993, 'Updated iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"Updated ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:testrt | mysql -P1306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't execute 'show fields from `replication:testrt`': no such table 'replication:testrt' (1064)
+ 0
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM testrt ORDER BY id ASC;" | md5sum | awk '{print $1}' > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl_none (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' rt_mem_limit='128M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl_none (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Example text', 42, 3.14, '{\"key\":\"value\",\"list\":[1,2,3]}', (1,2,3), 'string_value', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD tbl_none;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "FLUSH RAMCHUNK tbl_none;"
––– output –––
––– input –––
echo 'the, and, of' > /tmp/stopwords.txt; mysql -h0 -P2306 -e "CREATE TABLE tbl_stopwords (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl_stopwords (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Stemmed text', 24, 1.41, '{\"key\":\"value2\",\"list\":[4,5,6]}', (4,5,6), 'another_string', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER replication ADD tbl_stopwords;"; echo $?
––– output –––
0
––– input –––
echo 'cat => feline, dog => canine' > /tmp/exceptions.txt; mysql -h0 -P3306 -e "CREATE TABLE tbl_exceptions (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' exceptions='/tmp/exceptions.txt' morphology='stem_ru' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl_exceptions (id, f, a, b, j, m, s, e, d, v, fv) VALUES (3, 'Русский текст', 84, 2.71, '{\"ключ\":\"значение\",\"массив\":[7,8,9]}', (7,8,9), 'строка', 1, '2022-05-20 15:45:00', (234567890123456789, 876543210987654321), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "ALTER CLUSTER replication ADD tbl_exceptions;"; echo $?
––– output –––
0
––– input –––
echo 'fast, faster' > /tmp/wordforms.txt; mysql -h0 -P4306 -e "CREATE TABLE tbl_wordforms (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' wordforms='/tmp/wordforms.txt' rt_mem_limit='1024M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P4306 -e "INSERT INTO tbl_wordforms (id, f, a, b, j, m, s, e, d, v, fv) VALUES (4, 'Fast text', 99, 9.81, '{\"feature\":\"speed\",\"list\":[10,11,12]}', (10,11,12), 'quick_string', 0, '2021-01-01 00:00:00', (345678901234567890, 765432109876543210), (0.5, 0.5, 0.5, 0.5));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P4306 -e "ALTER CLUSTER replication ADD tbl_wordforms;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P5306 -e "CREATE TABLE tbl_rowwise_stem_ru (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' morphology='stem_ru' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P5306 -e "INSERT INTO tbl_rowwise_stem_ru (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Stemmed text', 24, 1.41, '{\"key\":\"value2\",\"list\":[4,5,6]}', (4,5,6), 'another_string', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P5306 -e "ALTER CLUSTER replication ADD tbl_rowwise_stem_ru;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+--------------------------------------------------------------------------------+
| Counter                     | Value                                                                          |
+-----------------------------+--------------------------------------------------------------------------------+
| cluster_replication_indexes | testrt,tbl_none,tbl_stopwords,tbl_exceptions,tbl_wordforms,tbl_rowwise_stem_ru |
+-----------------------------+--------------------------------------------------------------------------------+
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_none ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_exceptions ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_wordforms ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_rowwise_stem_ru ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_rowwise_stem_ru | mysql -h0 -P5306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't execute 'show fields from `replication:tbl_rowwise_stem_ru`': no such table 'replication:tbl_rowwise_stem_ru' (1064)
+ 0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl_stem_en (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Stemmed text', 24, 1.41, '{\"key\":\"value2\",\"list\":[4,5,6]}', (4,5,6), 'another_string', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl_stem_ru (id, f, a, b, j, m, s, e, d, v, fv) VALUES (3, 'Русский текст', 84, 2.71, '{\"ключ\":\"значение\",\"массив\":[7,8,9]}', (7,8,9), 'строка', 1, '2022-05-20 15:45:00', (234567890123456789, 876543210987654321), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "FLUSH RAMCHUNK testrt;"
––– output –––
––– input –––
mysql -h0 -P2306 -e "FLUSH RAMCHUNK tbl_stopwords;"
––– output –––
––– input –––
mysql -h0 -P3306 -e "FLUSH RAMCHUNK tbl_rowwise_stem_ru;"
––– output –––
––– input –––
mysql -h0 -P4306 -e "FLUSH RAMCHUNK tbl_wordforms;"
––– output –––
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_exceptions | mysql -P1306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't execute 'show fields from `replication:tbl_exceptions`': no such table 'replication:tbl_exceptions' (1064)
+ 0
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_stopwords | mysql -P1306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't execute 'show fields from `replication:tbl_stopwords`': no such table 'replication:tbl_stopwords' (1064)
+ 0
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_none | mysql -P1306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't execute 'show fields from `replication:tbl_none`': no such table 'replication:tbl_none' (1064)
+ 0
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_wordforms | mysql -P1306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't execute 'show fields from `replication:tbl_wordforms`': no such table 'replication:tbl_wordforms' (1064)
+ 0
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_rowwise_stem_ru | mysql -P1306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't execute 'show fields from `replication:tbl_rowwise_stem_ru`': no such table 'replication:tbl_rowwise_stem_ru' (1064)
+ 0
––– input –––
mysql -h0 -P2306 -e "SHOW TABLES LIKE 'tbl_stopwords';"
––– output –––
+ +---------------+------+
+ | Table         | Type |
+ +---------------+------+
+ | tbl_stopwords | rt   |
+ +---------------+------+
––– input –––
mysql -h0 -P4306 -e "SHOW TABLES LIKE 'tbl_wordforms';"
––– output –––
+ +---------------+------+
+ | Table         | Type |
+ +---------------+------+
+ | tbl_wordforms | rt   |
+ +---------------+------+
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+ +-----------------------------+--------------------------------------------------------------------------------+
+ | Counter                     | Value                                                                          |
+ +-----------------------------+--------------------------------------------------------------------------------+
+ | cluster_replication_indexes | testrt,tbl_none,tbl_stopwords,tbl_exceptions,tbl_wordforms,tbl_rowwise_stem_ru |
+ +-----------------------------+--------------------------------------------------------------------------------+
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM tbl_wordforms ORDER BY id ASC;" | md5sum | awk '{print $1}' > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
export INSTANCE=1
––– output –––
––– input –––
echo "index tbl_plain { type = plain; path = /var/lib/manticore/tbl_plain; rt_mem_limit = 512M; rt_field = f; rt_attr_uint = a; rt_attr_float = b; rt_attr_multi = m; rt_attr_string = s; rt_attr_bool = e; rt_attr_timestamp = d; rt_attr_multi_64 = v; rt_attr_json = j; rt_attr_vector = fv float_vector; }" > /var/lib/manticore/tbl_plain.conf; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl_plain (id, f, a, b, m, s, e, d, v, j, fv) VALUES (1, 'Plain example', 42, 3.14, (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), '{\"key\":\"value\"}', (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD tbl_plain;"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+------------------------------------------------------------------------------------------+
| Counter                     | Value                                                                                    |
+-----------------------------+------------------------------------------------------------------------------------------+
| cluster_replication_indexes | testrt,tbl_none,tbl_stopwords,tbl_exceptions,tbl_wordforms,tbl_rowwise_stem_ru,tbl_plain |
+-----------------------------+------------------------------------------------------------------------------------------+
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_plain | mysql -h0 -P1306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't execute 'show fields from `replication:tbl_plain`': no such table 'replication:tbl_plain' (1064)
+ 0
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM tbl_wordforms ORDER BY id ASC;" | md5sum | awk '{print $1}' > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––

```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-01-26T23:54:23Z
body: ## clt
❌ CLT tests in `test/clt-tests/replication/`
✅ OK: 1
❌ Failed: 1
⏳ Duration: 25s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/12979402183) for commit [a0bac29](https://github.com/manticoresoftware/manticoresearch/commit/a0bac293107e438299608730d465eb8aa6cc7da1)
Failed tests:
<details>
<summary>test/clt-tests/replication/replication-with-mysqldump.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE testrt (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO testrt VALUES (6775836565403860993, 'iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO testrt VALUES (6775836565403860994, 'Galaxy S21 Ultra', 128, 'black', 2021, 1199.99, 1099.99, 0, '1609459200000', (4,5,6), (1234567890123456789, 9876543210987654321), '{\"features\": [\"Dynamic AMOLED 2X\", \"Exynos 2100\", \"108MP camera\"]}', (0.5, 0.4, 0.3, 0.2));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;"
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SET GLOBAL cluster_user = 'replication';"; done
––– output –––
––– input –––
for port in 1306 2306 3306 4306 5306; do timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW VARIABLES LIKE 'cluster_user';\" | grep -q '| cluster_user  | replication |'; do sleep 1; done" && echo "Port $port: cluster_user is replication." || { echo "Port $port: cluster_user is not replication."; exit 1; }; done
––– output –––
Port 1306: cluster_user is replication.
Port 2306: cluster_user is replication.
Port 3306: cluster_user is replication.
Port 4306: cluster_user is replication.
Port 5306: cluster_user is replication.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+--------+
| Counter                     | Value  |
+-----------------------------+--------+
| cluster_replication_indexes | testrt |
+-----------------------------+--------+
––– input –––
export INSTANCE=5
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860995, 'Google Pixel 6', 128, 'sorta seafoam', 2021, 699.99, 599.99, 1, '1635317932000', (33,34,35), (623456764345678976, 98765409877866654097, 1109876543450987650986), '{\"features\": [\"Google Tensor chip\", \"Flat OLED display\", \"Dual-camera system\"]}', (0.823448, 0.362478, 0.187971, 0.509821));"; echo $?
––– output –––
0
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
export INSTANCE=2
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES (6775836565403860996, 'OnePlus 9', 256, 'winter mist', 2021, 729.99, 629.99, 0, '1648044532000', (36,37,38), (723456764345678976, 98765409877866654096, 1109876543450987650985), '{\"features\": [\"Qualcomm Snapdragon 888\", \"Fluid AMOLED display\", \"Hasselblad Camera for Mobile\"]}', (0.021106, 0.918278, 0.261892, 0.074594));"; echo $?
––– output –––
0
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
export INSTANCE=4
––– output –––
––– input –––
searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mysql -h0 -P2306 -e "DELETE FROM replication:testrt WHERE id = 6775836565403860994;"; echo $?
––– output –––
0
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /tmp/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on all interfaces for mysql, port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
listening on all interfaces for sphinx and http(s), port=%{NUMBER}
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /tmp/manticore-${INSTANCE}/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
Accepting connections!
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO replication:testrt (id, model, storage_capacity, color, release_year, price, discounted_price, sold, date_added, product_codes, values, additional_info, vector) VALUES (6775836565403860993, 'Updated iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"Updated ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:testrt ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:testrt | mysql -P1306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
0
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM testrt ORDER BY id ASC;" | md5sum | awk '{print $1}' > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl_none (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' rt_mem_limit='128M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl_none (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Example text', 42, 3.14, '{\"key\":\"value\",\"list\":[1,2,3]}', (1,2,3), 'string_value', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD tbl_none;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "FLUSH RAMCHUNK tbl_none;"
––– output –––
––– input –––
echo 'the, and, of' > /tmp/stopwords.txt; mysql -h0 -P2306 -e "CREATE TABLE tbl_stopwords (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl_stopwords (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Stemmed text', 24, 1.41, '{\"key\":\"value2\",\"list\":[4,5,6]}', (4,5,6), 'another_string', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER replication ADD tbl_stopwords;"; echo $?
––– output –––
0
––– input –––
echo 'cat => feline, dog => canine' > /tmp/exceptions.txt; mysql -h0 -P3306 -e "CREATE TABLE tbl_exceptions (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' exceptions='/tmp/exceptions.txt' morphology='stem_ru' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl_exceptions (id, f, a, b, j, m, s, e, d, v, fv) VALUES (3, 'Русский текст', 84, 2.71, '{\"ключ\":\"значение\",\"массив\":[7,8,9]}', (7,8,9), 'строка', 1, '2022-05-20 15:45:00', (234567890123456789, 876543210987654321), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "ALTER CLUSTER replication ADD tbl_exceptions;"; echo $?
––– output –––
0
––– input –––
echo 'fast, faster' > /tmp/wordforms.txt; mysql -h0 -P4306 -e "CREATE TABLE tbl_wordforms (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' wordforms='/tmp/wordforms.txt' rt_mem_limit='1024M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P4306 -e "INSERT INTO tbl_wordforms (id, f, a, b, j, m, s, e, d, v, fv) VALUES (4, 'Fast text', 99, 9.81, '{\"feature\":\"speed\",\"list\":[10,11,12]}', (10,11,12), 'quick_string', 0, '2021-01-01 00:00:00', (345678901234567890, 765432109876543210), (0.5, 0.5, 0.5, 0.5));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P4306 -e "ALTER CLUSTER replication ADD tbl_wordforms;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P5306 -e "CREATE TABLE tbl_rowwise_stem_ru (id INT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' morphology='stem_ru' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P5306 -e "INSERT INTO tbl_rowwise_stem_ru (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Stemmed text', 24, 1.41, '{\"key\":\"value2\",\"list\":[4,5,6]}', (4,5,6), 'another_string', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P5306 -e "ALTER CLUSTER replication ADD tbl_rowwise_stem_ru;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+--------------------------------------------------------------------------------+
| Counter                     | Value                                                                          |
+-----------------------------+--------------------------------------------------------------------------------+
| cluster_replication_indexes | testrt,tbl_none,tbl_stopwords,tbl_exceptions,tbl_wordforms,tbl_rowwise_stem_ru |
+-----------------------------+--------------------------------------------------------------------------------+
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_none ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_exceptions ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_wordforms ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM replication:tbl_rowwise_stem_ru ORDER BY id ASC;" | md5sum > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_rowwise_stem_ru | mysql -h0 -P5306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl_stem_en (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Stemmed text', 24, 1.41, '{\"key\":\"value2\",\"list\":[4,5,6]}', (4,5,6), 'another_string', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl_stem_ru (id, f, a, b, j, m, s, e, d, v, fv) VALUES (3, 'Русский текст', 84, 2.71, '{\"ключ\":\"значение\",\"массив\":[7,8,9]}', (7,8,9), 'строка', 1, '2022-05-20 15:45:00', (234567890123456789, 876543210987654321), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "FLUSH RAMCHUNK testrt;"
––– output –––
––– input –––
mysql -h0 -P2306 -e "FLUSH RAMCHUNK tbl_stopwords;"
––– output –––
––– input –––
mysql -h0 -P3306 -e "FLUSH RAMCHUNK tbl_rowwise_stem_ru;"
––– output –––
––– input –––
mysql -h0 -P4306 -e "FLUSH RAMCHUNK tbl_wordforms;"
––– output –––
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_exceptions | mysql -P1306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
0
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_stopwords | mysql -P1306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
0
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_none | mysql -P1306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
0
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_wordforms | mysql -P1306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
0
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_rowwise_stem_ru | mysql -P1306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
0
––– input –––
mysql -h0 -P2306 -e "SHOW TABLES LIKE 'tbl_stopwords';"
––– output –––
+ +---------------+------+
+ | Table         | Type |
+ +---------------+------+
+ | tbl_stopwords | rt   |
+ +---------------+------+
––– input –––
mysql -h0 -P4306 -e "SHOW TABLES LIKE 'tbl_wordforms';"
––– output –––
+ +---------------+------+
+ | Table         | Type |
+ +---------------+------+
+ | tbl_wordforms | rt   |
+ +---------------+------+
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+ +-----------------------------+--------------------------------------------------------------------------------+
+ | Counter                     | Value                                                                          |
+ +-----------------------------+--------------------------------------------------------------------------------+
+ | cluster_replication_indexes | testrt,tbl_none,tbl_stopwords,tbl_exceptions,tbl_wordforms,tbl_rowwise_stem_ru |
+ +-----------------------------+--------------------------------------------------------------------------------+
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM tbl_wordforms ORDER BY id ASC;" | md5sum | awk '{print $1}' > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––
––– input –––
export INSTANCE=1
––– output –––
––– input –––
echo "index tbl_plain { type = plain; path = /var/lib/manticore/tbl_plain; rt_mem_limit = 512M; rt_field = f; rt_attr_uint = a; rt_attr_float = b; rt_attr_multi = m; rt_attr_string = s; rt_attr_bool = e; rt_attr_timestamp = d; rt_attr_multi_64 = v; rt_attr_json = j; rt_attr_vector = fv float_vector; }" > /var/lib/manticore/tbl_plain.conf; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl_plain (id, f, a, b, m, s, e, d, v, j, fv) VALUES (1, 'Plain example', 42, 3.14, (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), '{\"key\":\"value\"}', (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD tbl_plain;"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+------------------------------------------------------------------------------------------+
| Counter                     | Value                                                                                    |
+-----------------------------+------------------------------------------------------------------------------------------+
| cluster_replication_indexes | testrt,tbl_none,tbl_stopwords,tbl_exceptions,tbl_wordforms,tbl_rowwise_stem_ru,tbl_plain |
+-----------------------------+------------------------------------------------------------------------------------------+
––– input –––
mysqldump -etc --replace --column-statistics=0 -u replication -h0 -P1306 --skip-comments manticore replication:tbl_plain | mysql -h0 -P1306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
0
––– input –––
for port in 1306 2306 3306 4306 5306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
Checking status for port 1306:
Port 1306: Node is synced.
Checking status for port 2306:
Port 2306: Node is synced.
Checking status for port 3306:
Port 3306: Node is synced.
Checking status for port 4306:
Port 4306: Node is synced.
Checking status for port 5306:
Port 5306: Node is synced.
––– input –––
for port in 1306 2306 3306 4306 5306; do mysql -h0 -P$port -e "SELECT * FROM tbl_wordforms ORDER BY id ASC;" | md5sum | awk '{print $1}' > /tmp/hash_$port.txt; done && for port1 in 1306 2306 3306 4306 5306; do for port2 in 1306 2306 3306 4306 5306; do [ $port1 -ne $port2 ] && ! diff /tmp/hash_$port1.txt /tmp/hash_$port2.txt && echo "Mismatch between $port1 and $port2"; done; done
––– output –––

```

</details>
author_association: CONTRIBUTOR
user: login: PavelShilin89
created_at: 2025-02-03T22:33:08Z
body: > You are always testing mysqldump with `--replace` and `-u replication`. Seems like bad coverage to me.

@sanikolaev Added cases with the use of different flags and usernames. Requires review and approval for merge. 
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-02T21:59:00Z
body: ## clt
❌ CLT tests in `test/clt-tests/buddy/`
✅ OK: 7
❌ Failed: 1
⏳ Duration: 105s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13619591673) for commit [4819ade](https://github.com/manticoresoftware/manticoresearch/commit/4819ade0d2628a9456e45c0e63b9a5383fce9d6c)
Failed tests:
<details>
<summary>test/clt-tests/buddy/test-fuzzy-search.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; searchd --stopwait > /dev/null; searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:9312 for sphinx and http(s)
listening on %{IPADDR}:9306 for mysql
listening on %{IPADDR}:9308 for sphinx and http(s)
Buddy started!
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
0
––– input –––
apt-get install jq -y > /dev/null; echo $?
––– output –––
debconf: delaying package configuration, since apt-utils is not installed
0
––– input –––
php -d memory_limit=2G ./test/clt-tests/scripts/load_names_attr.php --batch-size=100000 --concurrency=4 --docs=1000000 --start-id=1 --min-infix-len=2 > /dev/null; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "SHOW CREATE TABLE name;" | grep "min_infix_len='2'" | sed "s/.*\(min_infix_len='2'\).*/\1/"
––– output –––
min_infix_len='2'
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM name;"
––– output –––
+----------+
| count(*) |
+----------+
|  1000000 |
+----------+
––– input –––
mysql -h0 -P9306 -e "OPTIMIZE TABLE name OPTION sync=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('RICH') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+-------------------+------+
| id   | username          | s    |
+------+-------------------+------+
|  196 | BRICE MULLIN      | a    |
|  307 | GRICELDA SKELTON  | a    |
|  363 | LAURICE SOLIZ     | a    |
|  478 | ERICH LLAMAS      | a    |
|  490 | LATRICE MANCILLA  | a    |
|  608 | MAURICE PRATHER   | a    |
|  659 | BRICE OLIVARES    | a    |
|  697 | PATRICE WOOD      | a    |
|  822 | JUNITA RICHARD    | a    |
|  835 | AUREA RICO        | a    |
|  854 | ROXANNE BRICE     | a    |
| 1122 | RICH MOLL         | a    |
| 1134 | JOELLA RICHARD    | a    |
| 1160 | MINDY HEINRICH    | a    |
| 1224 | YADIRA RICHARDSON | a    |
| 1379 | BRICE ALLMAN      | a    |
| 1574 | RICO VALENZUELA   | a    |
| 1602 | BEATRICE LOVE     | a    |
| 1822 | RICHELLE ROE      | a    |
| 2136 | CHIQUITA RICHTER  | a    |
+------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('EBGRNA') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+----------------------+------+
| id   | username             | s    |
+------+----------------------+------+
|  675 | CONCEPTION ABERNATHY | a    |
|  964 | BERNARDINA OSHEA     | a    |
| 1354 | VERNA VITALE         | a    |
| 1784 | BERNADETTE HALES     | a    |
| 1839 | BERNARDINA MCMILLAN  | a    |
| 1864 | ERNA ULLOA           | a    |
| 1948 | SAMIRA ABERNATHY     | a    |
| 2238 | JUDI BERNAL          | a    |
| 2446 | MERNA GAITHER        | a    |
| 3065 | BERNADINE HIBBARD    | a    |
| 3195 | BERNADETTE SHELTON   | a    |
| 3688 | VERNA GASTON         | a    |
| 3781 | BERNARDINE WILKINS   | a    |
| 4370 | ERNA VITALE          | a    |
| 4637 | TARSHA HERNANDEZ     | a    |
| 4662 | FERNANDO HOUCK       | a    |
| 5044 | CONSTANCE ABERNATHY  | a    |
| 5580 | LAVERNA GORMAN       | a    |
| 5582 | FERNANDE ISRAEL      | a    |
| 5798 | LAVERNA STORM        | a    |
+------+----------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('ANT') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+-------------------+------+
| id   | username          | s    |
+------+-------------------+------+
|    8 | DAMIAN SOMERS     | a    |
|   16 | TAMI WHELAN       | a    |
|   19 | DARCY SANDBERG    | a    |
|   20 | RANEE BROUGHTON   | a    |
|   21 | STEPHEN ALLMAN    | a    |
|   30 | AMANDA KEY        | a    |
|   37 | ELFRIEDA HANKS    | a    |
|   41 | NANNIE WILLINGHAM | a    |
|   42 | YOULANDA TROUT    | a    |
|   44 | ANTHONY SMOOT     | a    |
|   47 | FRANCIE BUNDY     | a    |
|   51 | LATASHA POLAND    | a    |
|   53 | SHEMEKA DURAND    | a    |
|   54 | LATANYA ARNDT     | a    |
|   56 | JANELLE LASTER    | a    |
|   57 | NANNIE HANNON     | a    |
|   58 | GRANVILLE VALDEZ  | a    |
|   59 | DEDE SPANN        | a    |
|   60 | DANIEL MERRITT    | a    |
|   63 | SAUL HOWLAND      | a    |
+------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('tony') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+--------------------+------+
| id   | username           | s    |
+------+--------------------+------+
|  118 | ANTONIA VANWINKLE  | a    |
|  220 | ANTONIA MELGAR     | a    |
|  391 | KARYL TONEY        | a    |
|  761 | TONYA SHERRILL     | a    |
| 1527 | LEONE TONEY        | a    |
| 2132 | TONIA RAPP         | a    |
| 2195 | TONIE HOANG        | a    |
| 2333 | LATONIA VILLASENOR | a    |
| 2357 | TONIE BARNHILL     | a    |
| 2430 | TONIA BOSTICK      | a    |
| 2584 | TONI SPENCE        | a    |
| 2725 | ANTONIETTA CINTRON | a    |
| 2881 | ANTONINA HASKELL   | a    |
| 3318 | TONY DUPRE         | a    |
| 3582 | ANTONIETTA BAEZ    | a    |
| 3858 | TONEY SCHOEN       | a    |
| 4366 | ROCHEL TONEY       | a    |
| 4608 | ANTONIA DRISCOLL   | a    |
| 4657 | TONYA PARRIS       | a    |
| 4800 | TONY WEISS         | a    |
+------+--------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
+--------+-------------------+------+
| id     | username          | s    |
+--------+-------------------+------+
| 999973 | KEITH SNOW        | a    |
| 999855 | DOROTHA WISEMAN   | a    |
| 999723 | SCOTT OLSON       | a    |
| 999264 | RUTHANN GREENE    | a    |
| 999250 | MINH LANDERS      | a    |
| 999127 | MALENA RUTHERFORD | a    |
| 999120 | RUTHANNE CARDOSO  | a    |
| 998893 | IRWIN SOUTHARD    | a    |
| 998691 | MITCHELL SEITZ    | a    |
| 998539 | ELSA SEITZ        | a    |
| 998526 | SCOTT CARRION     | a    |
| 997945 | RUTHE SCHENK      | a    |
| 997815 | MINH GOODWIN      | a    |
| 997558 | ARTIE SOUTH       | a    |
| 997189 | BETTY SOUTHERN    | a    |
| 997187 | SUSAN SCOTT       | a    |
| 997098 | OTHA FAJARDO      | a    |
| 997074 | SCOTT FLANDERS    | a    |
| 996804 | SCOTT ENOS        | a    |
| 996461 | EDRA HIGGINBOTHAM | a    |
+--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
+--------+-------------------+------+
| id     | username          | s    |
+--------+-------------------+------+
| 999973 | KEITH SNOW        | a    |
| 999855 | DOROTHA WISEMAN   | a    |
| 999723 | SCOTT OLSON       | a    |
| 999264 | RUTHANN GREENE    | a    |
| 999250 | MINH LANDERS      | a    |
| 999127 | MALENA RUTHERFORD | a    |
| 999120 | RUTHANNE CARDOSO  | a    |
| 998893 | IRWIN SOUTHARD    | a    |
| 998691 | MITCHELL SEITZ    | a    |
| 998539 | ELSA SEITZ        | a    |
| 998526 | SCOTT CARRION     | a    |
| 997945 | RUTHE SCHENK      | a    |
| 997815 | MINH GOODWIN      | a    |
| 997558 | ARTIE SOUTH       | a    |
| 997189 | BETTY SOUTHERN    | a    |
| 997187 | SUSAN SCOTT       | a    |
| 997098 | OTHA FAJARDO      | a    |
| 997074 | SCOTT FLANDERS    | a    |
| 996804 | SCOTT ENOS        | a    |
| 996461 | EDRA HIGGINBOTHAM | a    |
+--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMYTH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
+--------+-------------------+------+
| id     | username          | s    |
+--------+-------------------+------+
| 999973 | KEITH SNOW        | a    |
| 999964 | CANDACE BOOTH     | a    |
| 999855 | DOROTHA WISEMAN   | a    |
| 999723 | SCOTT OLSON       | a    |
| 999264 | RUTHANN GREENE    | a    |
| 999197 | HEATH MCNAMARA    | a    |
| 999127 | MALENA RUTHERFORD | a    |
| 999120 | RUTHANNE CARDOSO  | a    |
| 999013 | HEATHER HAMMOCK   | a    |
| 998893 | IRWIN SOUTHARD    | a    |
| 998526 | SCOTT CARRION     | a    |
| 998000 | EDYTH CARLISLE    | a    |
| 997945 | RUTHE SCHENK      | a    |
| 997558 | ARTIE SOUTH       | a    |
| 997544 | HEATHER CLAUSEN   | a    |
| 997189 | BETTY SOUTHERN    | a    |
| 997187 | SUSAN SCOTT       | a    |
| 997098 | OTHA FAJARDO      | a    |
| 997074 | SCOTT FLANDERS    | a    |
| 996804 | SCOTT ENOS        | a    |
+--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy="1";"
––– output –––
+--------+-------------------+------+
| id     | username          | s    |
+--------+-------------------+------+
| 999973 | KEITH SNOW        | a    |
| 999855 | DOROTHA WISEMAN   | a    |
| 999723 | SCOTT OLSON       | a    |
| 999264 | RUTHANN GREENE    | a    |
| 999250 | MINH LANDERS      | a    |
| 999127 | MALENA RUTHERFORD | a    |
| 999120 | RUTHANNE CARDOSO  | a    |
| 998893 | IRWIN SOUTHARD    | a    |
| 998691 | MITCHELL SEITZ    | a    |
| 998539 | ELSA SEITZ        | a    |
| 998526 | SCOTT CARRION     | a    |
| 997945 | RUTHE SCHENK      | a    |
| 997815 | MINH GOODWIN      | a    |
| 997558 | ARTIE SOUTH       | a    |
| 997189 | BETTY SOUTHERN    | a    |
| 997187 | SUSAN SCOTT       | a    |
| 997098 | OTHA FAJARDO      | a    |
| 997074 | SCOTT FLANDERS    | a    |
| 996804 | SCOTT ENOS        | a    |
| 996461 | EDRA HIGGINBOTHAM | a    |
+--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('john') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
+--------+------------------------+------+
| id     | username               | s    |
+--------+------------------------+------+
| 999961 | JONELL ENRIGHT         | a    |
| 999932 | JONELL NIX             | a    |
| 999926 | JONAH BURNSIDE         | a    |
| 999922 | LAVONNA JONAS          | a    |
| 999860 | JOHNETTA DO            | a    |
| 999552 | JOHNNY CARNES          | a    |
| 999548 | JOHNATHAN PEPPER       | a    |
| 999509 | JOHNATHAN STUBBLEFIELD | a    |
| 999171 | JOHNNY ABRAMS          | a    |
| 999033 | AGNUS STJOHN           | a    |
| 998835 | SCARLETT JONAS         | a    |
| 998798 | JOHNATHON READ         | a    |
| 998467 | JOHNSON JEAN           | a    |
| 998393 | JOHN BACH              | a    |
| 998306 | JOHNNY TAFOYA          | a    |
| 998304 | JONG SAUER             | a    |
| 998303 | JONATHON DUPRE         | a    |
| 998278 | JOHNNIE LOR            | a    |
| 998181 | JONA ELROD             | a    |
| 998154 | JONG YORK              | a    |
+--------+------------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('jane') AND id BETWEEN 10000 AND 20000 ORDER BY username ASC OPTION fuzzy=1;"
––– output –––
+-------+--------------------+------+
| id    | username           | s    |
+-------+--------------------+------+
| 10028 | ANJANETTE PORTILLO | a    |
| 10056 | JANETTE LYNCH      | a    |
| 10629 | LANETTE SWAIN      | a    |
| 10874 | JANESSA MONTEZ     | a    |
| 10977 | RUTHANN LANEY      | a    |
| 11038 | DESIRE LANE        | a    |
| 11056 | LANELLE WATTS      | a    |
| 11397 | MELITA LANE        | a    |
| 11415 | MARYJANE HOLTZ     | a    |
| 11569 | JANETH SELBY       | a    |
| 11758 | JANETTE GANTT      | a    |
| 11834 | JANELLE DRIGGERS   | a    |
| 12100 | JAE COBLE          | a    |
| 12171 | JAE MEARS          | a    |
| 12185 | JANESSA BALTAZAR   | a    |
| 12237 | JANENE APODACA     | a    |
| 12490 | LANELLE ARNDT      | a    |
| 12536 | JANENE WALDRON     | a    |
| 12540 | ANJANETTE STAGGS   | a    |
| 12642 | HERSHEL LANEY      | a    |
+-------+--------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('EBGRNA') AND id BETWEEN 1000 AND 2000 ORDER BY username ASC OPTION fuzzy=1;"
––– output –––
+------+---------------------+------+
| id   | username            | s    |
+------+---------------------+------+
| 1354 | VERNA VITALE        | a    |
| 1784 | BERNADETTE HALES    | a    |
| 1839 | BERNARDINA MCMILLAN | a    |
| 1864 | ERNA ULLOA          | a    |
| 1948 | SAMIRA ABERNATHY    | a    |
+------+---------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SARA') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+------------------+------+
| id   | username         | s    |
+------+------------------+------+
|  188 | LARA KIRK        | a    |
|  207 | CLARA MORRIS     | a    |
|  351 | KLARA DONALDSON  | a    |
|  990 | ELAINE SARABIA   | a    |
| 1409 | LARA FREDERICK   | a    |
| 1661 | SARA GARNER      | a    |
| 1831 | SARAI ESPINAL    | a    |
| 2074 | VALENTIN SARABIA | a    |
| 2930 | LARA CINTRON     | a    |
| 3045 | KLARA ANDRES     | a    |
| 3373 | KLARA NORTON     | a    |
| 3741 | CRUZ SARABIA     | a    |
| 3780 | RUSSEL LARA      | a    |
| 4700 | HEE SARABIA      | a    |
| 4933 | KLARA GOODING    | a    |
| 5830 | SARAI LINDLEY    | a    |
| 5865 | SARAN KNAPP      | a    |
| 5918 | SARA WAITE       | a    |
| 6635 | CLARA BEALE      | a    |
| 6836 | CLARA BAZAN      | a    |
+------+------------------+------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS fuzziness);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'us,ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 0 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnson |
| jonas   |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS prepend, 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS fuzziness, '' AS layouts, 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 2 AS fuzziness, 'us,ru' AS layouts, 1 AS append, 1 AS prepend, 2 AS expansion_len);" | tail -n +4 | sort
––– output –––
+-------+
| joe   |
| john  |
| jose  |
| joy   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'us' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('al', 'name', 0 AS fuzziness);" | tail -n +4 | sort
––– output –––
+-----------+
| albert    |
| alexander |
| allen     |
| dale      |
| dallas    |
| donald    |
| gale      |
| kendall   |
| marshall  |
| walter    |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('mi', 'name', 0 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| ami     |
| britni  |
| brittni |
| cami    |
| choi    |
| darci   |
| eleni   |
| jami    |
| jani    |
| jeni    |
| joi     |
| kaci    |
| kami    |
| kimi    |
| laci    |
| lani    |
| luci    |
| mancini |
| marci   |
| martini |
| melani  |
| muoi    |
| nanci   |
| neomi   |
| noemi   |
| nohemi  |
| ricci   |
| shani   |
| staci   |
| tammi   |
| toi     |
| tomi    |
| traci   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('ch', 'name', 1 AS fuzziness, 3 AS expansion_len);" | tail -n +4 | sort
––– output –––
+-------+
| chang |
| chi   |
| chong |
| chung |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('зф', 'name', 'us,ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| page    |
| paige   |
| palma   |
| palmer  |
| paris   |
| parker  |
| pat     |
| patrick |
| paul    |
| paz     |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('зф', 'name', 'us' AS layouts);" | tail -n +4 | sort
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('gr', 'name', 1 AS fuzziness, 'ru' AS layouts, 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+------------+
| grace      |
| gracia     |
| grady      |
| graham     |
| grant      |
| gregg      |
| gregory    |
| griffin    |
| grover     |
| montenegro |
––– input –––
mysql -h0 -P9306 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); select * from t where match('somethin') option fuzzy=0;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "select * from t where match('somethin') option fuzzy=0;"
––– output –––
––– input –––
mysql -P9306 -h0 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); call autocomplete('some', 't');"
––– output –––
+-----------+
| query     |
+-----------+
| some      |
| something |
+-----------+
––– input –––
mysql -P9306 -h0 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); call autocomplete('some', 't');"
––– output –––
- +-----------+
+ ERROR 1064 (42000) at line 1: error adding table 't': directory is not empty: /var/lib/manticore/t
- | query     |
- +-----------+
- | some      |
- | something |
- +-----------+
––– input –––
mysql -h0 -P9306 -e "drop table if exists t; create table t(a int);"
––– output –––
+ ERROR 1064 (42000) at line 1: error adding table 't': directory is not empty: /var/lib/manticore/t
––– input –––
mysql -h0 -P9306 -e "select * from t option fuzzy=1;"
––– output –––
ERROR 1064 (42000) at line 1: The 'fuzzy' option requires a full-text query
––– input –––
mysql -h0 -P9306 -e "drop table if exists comment_28798446; create table comment_28798446(id int, content text) min_infix_len='3';"
––– output –––
––– input –––
mysql -h0 -P9306 -e "insert into comment_28798446 values (1, 'business Manticore interaction'), (2, 'buisness Manticore interation'), (3, 'other text content');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('buisness Manticore interation') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('business Manticore interaction') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('Manticore') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('bus', 'comment_28798446', 'ru,us,ua' AS layouts);"
––– output –––
+----------+
| query    |
+----------+
| business |
+----------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('bus', 'comment_28798446', '' AS layouts);"
––– output –––
+----------+
| query    |
+----------+
| business |
+----------+
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS t; DEBUG SLEEP 2; CREATE TABLE t(f TEXT) min_infix_len='2';"
––– output –––
+---------+--------+
| command | result |
+---------+--------+
| sleep   | #!/[0-9]{1}.[0-9]{3}/!#  |
+---------+--------+
––– input –––
mysql -h0 -P9306 -e "INSERT INTO t VALUES (1, 'abcdef'), (2, 'abcd efgh');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcdef'); SHOW META;"
––– output –––
+------+--------+
| id   | f      |
+------+--------+
|    1 | abcdef |
+------+--------+
+----------------+--------+
| Variable_name  | Value  |
+----------------+--------+
| total          | 1      |
| total_found    | 1      |
| total_relation | eq     |
| time           | #!/[0-9]{1}.[0-9]{3}/!#  |
| keyword[0]     | abcdef |
| docs[0]        | 1      |
| hits[0]        | 1      |
+----------------+--------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcef') OPTION fuzzy=1; SHOW META;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| total          | 2     |
| total_found    | 2     |
| total_relation | eq    |
| time           | #!/[0-9]{1}.[0-9]{3}/!# |
+----------------+-------+
––– input –––
grep -A3 "SELECT \* FROM t WHERE MATCH('abcdef')" /var/log/manticore/query.log
––– output –––
/* #!/[A-Za-z]{3}\s+[A-Za-z]{3}\s+[0-9]{1,2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}\s+[0-9]{4}/!# conn %{NUMBER} (127.0.0.1:%{NUMBER}) real #!/[0-9]{1}.[0-9]{3}/!# wall #!/[0-9]{1}.[0-9]{3}/!# found 1 */ SELECT * FROM t WHERE MATCH('abcdef');
/* #!/[A-Za-z]{3}\s+[A-Za-z]{3}\s+[0-9]{1,2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}\s+[0-9]{4}/!# conn %{NUMBER} (127.0.0.1:%{NUMBER}) real #!/[0-9]{1}.[0-9]{3}/!# wall #!/[0-9]{1}.[0-9]{3}/!# found 2 */ SELECT * FROM t WHERE MATCH('abcef') OPTION fuzzy=1;
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('nonexistent'); SHOW META;"
––– output –––
+----------------+-------------+
| Variable_name  | Value       |
+----------------+-------------+
| total          | 0           |
| total_found    | 0           |
| total_relation | eq          |
| time           | #!/[0-9]{1}.[0-9]{3}/!#       |
| keyword[0]     | nonexistent |
| docs[0]        | 0           |
| hits[0]        | 0           |
+----------------+-------------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcdef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('\$#@\!') OPTION fuzzy=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS idx1; CREATE TABLE idx1(value TEXT) min_infix_len='2';"
––– output –––
––– input –––
mysql -h0 -P9306 -e "INSERT INTO idx1(value) VALUES ('340');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('34', 'idx1');"
––– output –––
+-------+
| query |
+-------+
| 340   |
+-------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('3', 'idx1');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('34', 'idx1', 1 AS fuzziness);"
––– output –––
+-------+
| query |
+-------+
| 340   |
+-------+
––– input –––
echo -e "searchd {\nlisten = 9306:mysql\nlisten = 9312\nlisten = 9308:http\nlog = /tmp/searchd.log\nquery_log = /tmp/query.log\npid_file = /tmp/searchd.pid\n}\n\nsource src_idx {\ntype = tsvpipe\ntsvpipe_command = cat /tmp/data.tsv\ntsvpipe_field_string = f\ntsvpipe_attr_bigint = id\n}\n\nindex idx_plain {\ntype = plain\nsource = src_idx\npath = /tmp/idx_plain\nmin_infix_len = 2\n}" > /tmp/manticore_idx.conf
––– output –––
––– input –––
echo -e "1\tabcdef\n2\tabcd efgh\n3\trandom text" > /tmp/data.tsv
––– output –––
––– input –––
mkdir -p /tmp/idx_plain && chmod 777 /tmp/idx_plain
––– output –––
––– input –––
indexer --all --config /tmp/manticore_idx.conf > /dev/null 2>&1
––– output –––
––– input –––
rm -f /tmp/searchd.log; searchd --stopwait > /dev/null; searchd -c /tmp/manticore_idx.conf; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9]{2}:[0-9]{2}.[0-9]{3}/!#] [#!/[0-9]+/!#] using config file '/tmp/manticore_idx.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on all interfaces for mysql, port=9306
listening on all interfaces for sphinx and http(s), port=9312
listening on all interfaces for sphinx and http(s), port=9308
precaching table 'idx_plain'
precached 1 tables in #!/[0-9]{1,2}.[0-9]+/!# sec
Buddy started!
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES;"
––– output –––
+-----------+-------+
| Table     | Type  |
+-----------+-------+
| idx_plain | local |
+-----------+-------+
––– input –––
mysql -h0 -P9306 -e "SHOW TABLE idx_plain SETTINGS;"
––– output –––
+---------------+-------------------+
| Variable_name | Value             |
+---------------+-------------------+
| settings      | min_infix_len = 2 |
+---------------+-------------------+
––– input –––
mysql -h0 -P9306 -e "show version\G;"
––– output –––
*************************** 1. row ***************************
Component: Daemon
Version: %{VERSION}
*************************** 2. row ***************************
Component: Columnar
Version: columnar %{VERSION}
*************************** 3. row ***************************
Component: Secondary
Version: secondary %{VERSION}
*************************** 4. row ***************************
Component: KNN
Version: knn %{VERSION}
*************************** 5. row ***************************
Component: Buddy
Version: buddy %{VERSION}
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcdef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('nonexistent') OPTION fuzzy=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('abc', 'idx_plain');"
––– output –––
+--------+
| query  |
+--------+
| abcd   |
| abcdef |
+--------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('ran', 'idx_plain');"
––– output –––
+--------+
| query  |
+--------+
| random |
+--------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('zzz', 'idx_plain');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcdef') OPTION fuzzy=0;"
––– output –––
+------+--------+
| id   | f      |
+------+--------+
|    1 | abcdef |
+------+--------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcd efgh') OPTION fuzzy=0;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    2 | abcd efgh |
+------+-----------+

```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-06T10:06:49Z
body: ## clt
❌ CLT tests in `test/clt-tests/replication/`
✅ OK: 1
❌ Failed: 1
⏳ Duration: 14s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13695839392) for commit [f98e9c7](https://github.com/manticoresoftware/manticoresearch/commit/f98e9c7a0fa19a2b036ae4d39c93c600ec9889f3)
Failed tests:
<details>
<summary>test/clt-tests/replication/replication-with-mysqldump.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export CLUSTER_NAME=c
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
echo 'the, and, of' > /tmp/stopwords.txt
––– output –––
––– input –––
echo 'cat => feline' > /tmp/exceptions.txt
––– output –––
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl1 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' exceptions='/tmp/exceptions.txt' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_0.txt
morphology = stem_en
stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_0.txt
rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl1 VALUES (1, 'The cat runs', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
echo 'fast => faster' > /tmp/wordforms.txt
––– output –––
––– input –––
mysql -h0 -P2306 -e "CREATE TABLE tbl2 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' morphology='stem_ru' wordforms='/tmp/wordforms.txt' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
morphology = stem_ru
wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
rt_mem_limit = 536870912
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (1, 'Русский fast текст', 84, 2.71, '{\"ключ\":\"значение\"}', (4,5,6), 'строка', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (2, 'Быстрый прыжок', 19, 1.62, '{\"действие\":\"прыжок\",\"число\":3}', (7,8,9), 'пример', 1, '2024-06-10 15:45:00', (345678901234567890, 567890123456789012), (0.8, 0.7, 0.6, 0.5));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"
––– output –––
––– input –––
mysql -h0 -P3306 -e "CREATE TABLE tbl3 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "SHOW TABLE tbl3 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
rt_mem_limit = 536870912
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Plain example', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "ALTER CLUSTER c ADD tbl3;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+----------------+
| Counter           | Value          |
+-------------------+----------------+
| cluster_c_indexes | tbl1,tbl2,tbl3 |
+-------------------+----------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 2306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 3306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO c:tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysqldump -etc --replace -u cluster -h0 -P1306 --skip-comments manticore c:tbl1 | mysql -h0 -P1306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do mysql -h0 -P$port -e "SET GLOBAL cluster_user = 'new_username';"; done
––– output –––
––– input –––
for port in 1306 2306 3306; do timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW VARIABLES LIKE 'cluster_user';\" | grep -q '| cluster_user  | new_username |'; do sleep 1; done" && echo "Port $port: cluster_user is new_username." || { echo "Port $port: cluster_user is not new_username."; exit 1; }; done
––– output –––
Port 1306: cluster_user is new_username.
Port 2306: cluster_user is new_username.
Port 3306: cluster_user is new_username.
––– input –––
mysql -h0 -P2306 -e "DELETE FROM c:tbl2 WHERE id = 2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO c:tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'New plain entry', 50, 5.5, '{\"new\":\"entry\"}', (10,11,12), 'new_string', 0, '2025-03-02 10:00:00', (111222333444555666, 777888999000111222), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysqldump -etc --replace --net-buffer-length=16M -u new_username -h0 -P2306 --skip-comments manticore c:tbl1 c:tbl2 c:tbl3 | mysql -h0 -P3306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 2306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 3306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "SHOW TABLE c:tbl3 on port $port:"; mysql -h0 -P$port -e "SHOW TABLE c:tbl1 SETTINGS\G;"; done
––– output –––
SHOW TABLE c:tbl3 on port 1306:
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_0.txt
morphology = stem_en
stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_0.txt
rt_mem_limit = 268435456
SHOW TABLE c:tbl3 on port 2306:
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-2/tbl1/exceptions_chunk0_0.txt
morphology = stem_en
stopwords = /var/log/manticore-2/tbl1/stopwords_chunk0_0.txt
rt_mem_limit = 268435456
SHOW TABLE c:tbl3 on port 3306:
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-3/tbl1/exceptions_chunk0_0.txt
morphology = stem_en
stopwords = /var/log/manticore-3/tbl1/stopwords_chunk0_0.txt
rt_mem_limit = 268435456
––– input –––
for port in 1306 2306 3306; do echo "SHOW TABLE c:tbl2 on port $port:"; mysql -h0 -P$port -e "SHOW TABLE c:tbl2 SETTINGS\G;"; done
––– output –––
SHOW TABLE c:tbl2 on port 1306:
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
morphology = stem_ru
wordforms = /var/log/manticore-1/tbl2/wordforms_chunk0_0.txt
rt_mem_limit = 536870912
SHOW TABLE c:tbl2 on port 2306:
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
morphology = stem_ru
wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
rt_mem_limit = 536870912
SHOW TABLE c:tbl2 on port 3306:
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
morphology = stem_ru
wordforms = /var/log/manticore-3/tbl2/wordforms_chunk0_0.txt
rt_mem_limit = 536870912
––– input –––
for port in 1306 2306 3306; do echo "SHOW TABLE c:tbl3 on port $port:"; mysql -h0 -P$port -e "SHOW TABLE c:tbl3 SETTINGS\G;"; done
––– output –––
SHOW TABLE c:tbl3 on port 1306:
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
rt_mem_limit = 536870912
SHOW TABLE c:tbl3 on port 2306:
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
rt_mem_limit = 536870912
SHOW TABLE c:tbl3 on port 3306:
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
rt_mem_limit = 536870912
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM c:tbl1 WHERE MATCH('feline') ORDER BY id ASC;"
––– output –––
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM c:tbl1 WHERE MATCH('the') ORDER BY id ASC;"
––– output –––
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM c:tbl1 WHERE MATCH('runs') ORDER BY id ASC;"
––– output –––
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM c:tbl3 WHERE MATCH('example') ORDER BY id ASC;"
––– output –––
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM c:tbl1 WHERE MATCH('feline') ORDER BY id ASC;"
––– output –––
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM c:tbl1 WHERE MATCH('the') ORDER BY id ASC;"
––– output –––
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM c:tbl1 WHERE MATCH('feline') ORDER BY id ASC;"
––– output –––
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM c:tbl1 WHERE MATCH('the') ORDER BY id ASC;"
––– output –––
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+----------------+
| Counter           | Value          |
+-------------------+----------------+
| cluster_c_indexes | tbl1,tbl2,tbl3 |
+-------------------+----------------+
––– input –––
mysqldump -etc --replace --ignore-table=manticore.tbl2 --net-buffer-length=16M -u new_username -h0 -P2306 --skip-comments manticore c:tbl1 c:tbl2 c:tbl3 > dump.sql
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c DROP tbl2;"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do mysql -h0 -P$port -e "DROP TABLE tbl2;"; done
––– output –––
––– input –––
for port in 1306 2306 3306; do mysql -h0 -P$port -e "SHOW TABLES LIKE 'tbl2';" | grep -q 'tbl2' && echo "Port $port: tbl2 EXISTS" || echo "Port $port: tbl2 NOT FOUND"; done
––– output –––
Port 1306: tbl2 NOT FOUND
Port 2306: tbl2 NOT FOUND
Port 3306: tbl2 NOT FOUND
––– input –––
mysql -h0 -P1306 -u new_username < dump.sql
––– output –––
ERROR 1064 (42000) at line 21: table 'tbl2' absent
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE c:tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_0.txt
morphology = stem_en
stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_0.txt
rt_mem_limit = 268435456
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
Data from c:tbl2 on port 2306:
ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
Data from c:tbl2 on port 3306:
ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 2306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 3306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
rm -f /tmp/stopwords.txt /tmp/exceptions.txt /tmp/wordforms.txt /var/lib/manticore/tbl3.conf dump.sql
––– output –––
```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-11T13:44:58Z
body: ## clt
❌ CLT tests in `test/clt-tests/indexer/`
✅ OK: 0
❌ Failed: 2
⏳ Duration: 12s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13789124175) for commit [87e3b59](https://github.com/manticoresoftware/manticoresearch/commit/87e3b59fc10d0af760c579b22a5bd12a7354e484)
Failed tests:
<details>
<summary>test/clt-tests/indexer/test-max-iosize.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...Tue Mar 11 13:44:53.192 2025] [21] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:44:53.218 2025] [21] using config file '/etc/manticoresearch/manticore.conf' (273 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:9306 for mysql127.0.0.1:9312 for sphinx and http(s)
~ listening on %{IPADDR}:9308 for sphinx and http(s)127.0.0.1:9306 for mysql
- Buddy started!
+ listening on 127.0.0.1:9308 for sphinx and http(s)
+ Buddy started!
––– input –––
for n in $(seq 1 10000); do echo "$n,abc"; done > /tmp/csv
––– output –––
––– input –––
echo -e 'indexer {\n    max_iops = 100\n}\nsource src {\n    type = csvpipe\n    csvpipe_command = cat /tmp/csv\n    csvpipe_field = f\n}\n\nindex idx {\n    type = plain\n    source = src\n    path = /tmp/idx\n}' > plain_min.conf
––– output –––
––– input –––
cat plain_min.conf
––– output –––
indexer {
max_iops = 100
}
source src {
type = csvpipe
csvpipe_command = cat /tmp/csv
csvpipe_field = f
}
index idx {
type = plain
source = src
path = /tmp/idx
}
––– input –––
indexer -c plain_min.conf idx|grep reads|awk '{print $2}'
––– output –––
3
```

</details>
<details>
<summary>test/clt-tests/indexer/test-max-iops.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...Tue Mar 11 13:44:52.141 2025] [21] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:44:52.166 2025] [21] using config file '/etc/manticoresearch/manticore.conf' (273 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:9306 for mysql127.0.0.1:9312 for sphinx and http(s)
~ listening on %{IPADDR}:9308 for sphinx and http(s)127.0.0.1:9306 for mysql
- Buddy started!
+ listening on 127.0.0.1:9308 for sphinx and http(s)
+ Buddy started!
––– input –––
(for n in `seq 1 100`; do echo "$n,abc"; done) > /tmp/csv
––– output –––
––– input –––
echo -e 'indexer {\n    max_iops = 100\n}\nsource src {\n    type = csvpipe\n    csvpipe_command = cat /tmp/csv\n    csvpipe_field = f\n}\n\nindex idx {\n    type = plain\n    source = src\n    path = /tmp/idx\n}' > plain_min.conf
––– output –––
––– input –––
cat plain_min.conf
––– output –––
indexer {
max_iops = 100
}
source src {
type = csvpipe
csvpipe_command = cat /tmp/csv
csvpipe_field = f
}
index idx {
type = plain
source = src
path = /tmp/idx
}
––– input –––
indexer -c plain_min.conf idx|grep reads|awk '{print $2}'
––– output –––
3
```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-11T13:45:37Z
body: ## clt
❌ CLT tests in `test/clt-tests/plugins/`
✅ OK: 0
❌ Failed: 1
⏳ Duration: 14s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13789124175) for commit [87e3b59](https://github.com/manticoresoftware/manticoresearch/commit/87e3b59fc10d0af760c579b22a5bd12a7354e484)
Failed tests:
<details>
<summary>test/clt-tests/plugins/test-enable-disable-buddy-plugin.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...Tue Mar 11 13:45:32.764 2025] [21] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:45:32.790 2025] [21] using config file '/etc/manticoresearch/manticore.conf' (273 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:9306 for mysql127.0.0.1:9312 for sphinx and http(s)
~ listening on %{IPADDR}:9308 for sphinx and http(s)127.0.0.1:9306 for mysql
- Buddy started!
+ listening on 127.0.0.1:9308 for sphinx and http(s)
+ Buddy started!
––– input –––
mysql -h0 -P9306 -e "SHOW QUERIES\G"|grep "1. row"
––– output –––
*************************** 1. row ***************************
––– input –––
mysql -h0 -P9306 -e "DISABLE BUDDY PLUGIN manticoresoftware/buddy-plugin-show"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SHOW QUERIES"
––– output –––
ERROR 1064 (42000) at line 1: Plugin 'show' is disabled
––– input –––
mysql -h0 -P9306 -e "ENABLE BUDDY PLUGIN manticoresoftware/buddy-plugin-show"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SHOW QUERIES\G"|grep "1. row"
––– output –––
*************************** 1. row ***************************
––– input –––
mysql -h0 -P9306 -e "create table t (id bigint, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2')"
––– output –––
+ ERROR 1064 (42000) at line 1: error adding table 't': knn library not loaded
––– input –––
mysql -h0 -P9306 -e "select id, knn_dist() from t where knn ( image_vector, 5, 1 );"
––– output –––
+ ERROR 1064 (42000) at line 1: unknown local table(s) 't' in search request
––– input –––
mysql -h0 -P9306 -e "DISABLE BUDDY PLUGIN manticoresoftware/buddy-plugin-knn"
––– output –––
––– input –––
mysql -h0 -P9306 -e "select id, knn_dist() from t where knn ( image_vector, 5, 1 );"
––– output –––
ERROR 1064 (42000) at line 1: Plugin 'knn' is disabled
––– input –––
mysql -h0 -P9306 -e "ENABLE BUDDY PLUGIN manticoresoftware/buddy-plugin-knn"
––– output –––
––– input –––
mysql -h0 -P9306 -e "select id, knn_dist() from t where knn ( image_vector, 5, 1 );"
––– output –––
+ ERROR 1064 (42000) at line 1: unknown local table(s) 't' in search request

```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-11T13:46:48Z
body: ## clt
❌ CLT tests in `test/clt-tests/buddy/`
✅ OK: 0
❌ Failed: 8
⏳ Duration: 114s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13789124175) for commit [87e3b59](https://github.com/manticoresoftware/manticoresearch/commit/87e3b59fc10d0af760c579b22a5bd12a7354e484)
Failed tests:
<details>
<summary>test/clt-tests/buddy/test-knn-search-by-doc-id.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...Tue Mar 11 13:46:44.549 2025] [21] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:44.574 2025] [21] using config file '/etc/manticoresearch/manticore.conf' (273 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:9306 for mysql127.0.0.1:9312 for sphinx and http(s)
~ listening on %{IPADDR}:9308 for sphinx and http(s)127.0.0.1:9306 for mysql
- Buddy started!
+ listening on 127.0.0.1:9308 for sphinx and http(s)
+ Buddy started!
––– input –––
curl -s localhost:9308/cli -d "create table test ( test_vector float_vector knn_type='hnsw' knn_dims='2' hnsw_similarity='l2' )" > /dev/null 2>&1; echo $?
––– output –––
0
––– input –––
curl -s localhost:9308/cli -d 'insert into test values ( 2, (0.2,0.3) ), ( 3, (0.2,0.7) ), ( 4, (0.3,0.5) ), ( 5, (0.5,0.5) ), ( 6, (0.7,0.2) ), ( 10, (0.9,0.9) )' > /dev/null 2>&1; echo $?
––– output –––
0
––– input –––
curl -s localhost:9308/search -d '{"index":"test","knn":{"field":"test_vector","doc_id":3,"k":5}}'; echo $?
––– output –––
~ {"took":%{NUMBER},"timed_out":false,"hits":{"total":%{NUMBER},"total_relation":"eq","hits":[{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{2}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{2}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]+/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{1}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{2}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}}]}error":"unknown local table(s) 'test' in search request"}0

```

</details>
<details>
<summary>test/clt-tests/buddy/test-fuzzy-trailing-semicolon.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...Tue Mar 11 13:46:38.569 2025] [21] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:38.595 2025] [21] using config file '/etc/manticoresearch/manticore.conf' (273 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:9306 for mysql127.0.0.1:9312 for sphinx and http(s)
~ listening on %{IPADDR}:9308 for sphinx and http(s)127.0.0.1:9306 for mysql
- Buddy started!
+ listening on 127.0.0.1:9308 for sphinx and http(s)
+ Buddy started!
––– input –––
mysql -P9306 -h0 -e "drop table if exists t; create table t(f text);"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "INSERT INTO t(id, f) VALUES (1, 'ящик'), (2, 'коробка');"; echo $?
––– output –––
0
––– input –––
curl -s "0:9308/sql?mode=raw" -d "select * from t where match('ящик') option fuzzy=1;"; echo $?
––– output –––
{"error":"Fuzzy search requires min_infix_len to be set"}0
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS t; CREATE TABLE t(f TEXT) min_infix_len='2';"
––– output –––
––– input –––
mysql -h0 -P9306 -e "INSERT INTO t(id, f) VALUES (1, 'ящик'), (2, 'коробка');"; echo $?
––– output –––
0
––– input –––
curl -s "0:9308/sql?mode=raw" -d "select * from t where match('ящик') option fuzzy=1;"; echo $?
––– output –––
[{"total":1,"error":"","warning":"","columns":[{"id":{"type":"long long"}},{"f":{"type":"string"}}],"data":[{"id":1,"f":"ящик"}]}]0
```

</details>
<details>
<summary>test/clt-tests/buddy/test-fuzzy-search-negative.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...Tue Mar 11 13:45:02.398 2025] [21] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:45:02.424 2025] [21] using config file '/etc/manticoresearch/manticore.conf' (273 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:9306 for mysql127.0.0.1:9312 for sphinx and http(s)
~ listening on %{IPADDR}:9308 for sphinx and http(s)127.0.0.1:9306 for mysql
- Buddy started!
+ listening on 127.0.0.1:9308 for sphinx and http(s)
+ Buddy started!
––– input –––
php -d memory_limit=2G ./test/clt-tests/scripts/load_names_attr.php --batch-size=1000 --concurrency=4 --docs=5000000 --start-id=1 > /dev/null; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM name;"
––– output –––
+----------+
| count(*) |
+----------+
|  5000000 |
+----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('RICH') OPTION fuzzy=-1;"
––– output –––
ERROR 1064 (42000) at line 1: P01: syntax error, unexpected '-' near '-1'
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') OPTION fuzzy='0';"
––– output –––
ERROR 1064 (42000) at line 1: Invalid value for option 'fuzzy'
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMYTH') OPTION fuzzy='2';"
––– output –––
ERROR 1064 (42000) at line 1: Invalid value for option 'fuzzy'
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('john') OPTION fuzzy=a;"
––– output –––
ERROR 1064 (42000) at line 1: Invalid value for option 'fuzzy'
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('jane') OPTION fuzzy=@;"
––– output –––
ERROR 1064 (42000) at line 1: Invalid value for option 'fuzzy'
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('j', 'name', 'us' AS layouts);"
––– output –––
ERROR 1064 (42000) at line 1: Autocomplete requires min_infix_len to be set
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE(123, 'name', 'us' AS layouts);"
––– output –––
ERROR 1064 (42000) at line 1: Failed to parse query
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('', 'name', 'us' AS layouts);"
––– output –––
ERROR 1064 (42000) at line 1: Autocomplete requires min_infix_len to be set
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('@#$', 'name', 'us' AS layouts);"
––– output –––
ERROR 1064 (42000) at line 1: Autocomplete requires min_infix_len to be set
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('thisisaverylonginputstring', 'name', 'us' AS layouts);"
––– output –––
ERROR 1064 (42000) at line 1: Autocomplete requires min_infix_len to be set
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'non_existing_table', 'us' AS layouts);"
––– output –––
ERROR 1064 (42000) at line 1: no such table 'non_existing_table'
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 123 AS layouts);"
––– output –––
ERROR 1064 (42000) at line 1: Autocomplete requires min_infix_len to be set
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test WHERE MATCH('hello') OPTION fuzzy=1 layouts='';"
––– output –––
ERROR 1064 (42000) at line 1: Invalid options in query string, make sure they are separated by commas
```

</details>
<details>
<summary>test/clt-tests/buddy/test-fuzzy-search-non-min-infix-len.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...Tue Mar 11 13:45:43.167 2025] [21] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:45:43.192 2025] [21] using config file '/etc/manticoresearch/manticore.conf' (273 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:9306 for mysql127.0.0.1:9312 for sphinx and http(s)
~ listening on %{IPADDR}:9308 for sphinx and http(s)127.0.0.1:9306 for mysql
- Buddy started!
+ listening on 127.0.0.1:9308 for sphinx and http(s)
+ Buddy started!
––– input –––
mysql -h0 -P9306 -e "create table test (id bigint, value text);"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'test', 'us' AS layouts);"
––– output –––
ERROR 1064 (42000) at line 1: Autocomplete requires min_infix_len to be set
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test WHERE MATCH('RICH') OPTION fuzzy=1;"
––– output –––
ERROR 1064 (42000) at line 1: Fuzzy search requires min_infix_len to be set
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE test min_infix_len='2';"
––– output –––
––– input –––
sleep 30; mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'test', 'us' AS layouts);"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test WHERE MATCH('RICH') OPTION fuzzy=1;"
––– output –––
```

</details>
<details>
<summary>test/clt-tests/buddy/test-inconsistency-in-error-messages.rec</summary>

```diff
––– input –––
echo -e 'common {\n\tplugin_dir = /usr/local/lib/manticore\n\tlemmatizer_base = /usr/share/manticore/morph/\n}\n\nsearchd {\n\tlisten = 9306:mysql41\n\tlisten = 9312\n\tlisten = 9308:http\n\tlog = /var/log/manticore/searchd.log\n\tquery_log = /var/log/manticore/query.log\n\tpid_file = /var/log/manticore/searchd.pid\n\tdata_dir = /var/log/manticore\n\tquery_log_format = sphinxql\n\tquery_log_commands = 1\n\tbuddy_path =\n}\n' > manticore.conf
––– output –––
––– input –––
stdbuf -oL searchd --config ./manticore.conf
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/.clt/manticore.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:39.485 2025] [19] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:39.510 2025] [19] using config file '/.clt/manticore.conf' (390 chars)...
- listening on all interfaces for mysql, port=9306
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on all interfaces for sphinx and http(s), port=9312mysql, port=9306
~ listening on all interfaces for sphinx and http(s), port=930812
+ listening on all interfaces for sphinx and http(s), port=9308
––– input –––
mysql -h0 -P9306 -e "drop table if exists a; drop table if exists test; create table a (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');create table test type='distributed' local='a';"
––– output –––
+ ERROR 1064 (42000) at line 1: error adding table 'a': knn library not loaded
––– input –––
for i in {1..100}; do response=$(curl -s -X POST http://localhost:9308/insert -d '{"table": "test", "id": 1, "doc": {"model": "iPhone 13 Pro", "storage_capacity": 256, "color": "silver", "release_year": 2021, "price": 1099.99, "discounted_price": 989.99, "sold": 1, "date_added": 1591362342000, "product_codes": [1,2,3], "values": [523456764345678976,98765409877866654098,1109876543450987650987], "additional_info": {"features": ["ProMotion display", "A15 Bionic chip", "Ceramic Shield front cover"]}, "vector": [0.773448,0.312478,0.137971,0.459821]}}'); if [[ "$response" != *'"error":{"type":"action_request_validation_exception","reason":"table '\''test'\'' does not support INSERT","table":"test"},"status":409'* ]]; then echo "Mismatch found at iteration $i: $response"; exit 1; fi; done; echo "All 100 requests returned the same error"
––– output –––
- All 100 requests returned the same error
+ Mismatch found at iteration 1: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 2: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 3: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 4: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 5: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 6: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 7: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 8: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 9: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 10: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 11: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 12: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 13: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 14: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 15: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 16: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 17: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 18: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 19: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 20: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 21: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 22: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 23: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 24: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 25: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 26: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 27: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 28: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 29: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 30: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 31: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 32: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 33: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 34: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 35: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 36: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 37: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 38: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 39: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 40: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 41: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 42: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 43: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 44: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 45: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 46: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 47: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 48: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 49: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 50: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 51: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 52: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 53: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 54: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 55: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 56: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 57: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 58: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 59: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 60: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 61: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 62: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 63: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 64: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 65: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 66: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 67: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 68: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 69: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 70: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 71: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 72: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 73: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 74: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 75: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 76: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 77: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 78: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 79: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 80: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 81: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 82: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 83: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 84: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 85: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 86: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 87: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 88: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 89: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 90: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 91: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 92: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 93: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 94: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 95: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 96: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 97: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 98: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 99: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ Mismatch found at iteration 100: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 11: exit: command not found
+ All 100 requests returned the same error

```

</details>
<details>
<summary>test/clt-tests/buddy/test-inconsistent-comunication-with-buddy.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...Tue Mar 11 13:46:40.909 2025] [21] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:40.936 2025] [21] using config file '/etc/manticoresearch/manticore.conf' (273 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:9306 for mysql127.0.0.1:9312 for sphinx and http(s)
~ listening on %{IPADDR}:9308 for sphinx and http(s)127.0.0.1:9306 for mysql
- Buddy started!
+ listening on 127.0.0.1:9308 for sphinx and http(s)
+ Buddy started!
––– input –––
apt-get install jq -y > /dev/null; echo $?
––– output –––
debconf: delaying package configuration, since apt-utils is not installed
0
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW TABLES"; echo
––– output –––
[{
"columns":[{"Table":{"type":"string"}},{"Type":{"type":"string"}}],
"data":[
],
"total":%{NUMBER},
"error":"",
"warning":""
}]
––– input –––
curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20TABLES"; echo
––– output –––
[{
"columns":[{"Table":{"type":"string"}},{"Type":{"type":"string"}}],
"data":[
],
"total":%{NUMBER},
"error":"",
"warning":""
}]
––– input –––
curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW TABLES"; echo
––– output –––
[{
"columns":[{"Table":{"type":"string"}},{"Type":{"type":"string"}}],
"data":[
],
"total":%{NUMBER},
"error":"",
"warning":""
}]
––– input –––
curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20TABLES"; echo
––– output –––
[{
"columns":[{"Table":{"type":"string"}},{"Type":{"type":"string"}}],
"data":[
],
"total":%{NUMBER},
"error":"",
"warning":""
}]
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW VARIABLES"; echo
––– output –––
[{
"columns":[{"Variable_name":{"type":"string"}},{"Value":{"type":"string"}}],
"data":[
{"Variable_name":"autocommit","Value":"%{NUMBER}"},
{"Variable_name":"auto_optimize","Value":"%{NUMBER}"},
{"Variable_name":"optimize_cutoff","Value":"%{NUMBER}"},
{"Variable_name":"collation_connection","Value":"libc_ci"},
{"Variable_name":"query_log_format","Value":"sphinxql"},
{"Variable_name":"session_read_only","Value":"%{NUMBER}"},
{"Variable_name":"log_level","Value":"info"},
{"Variable_name":"max_allowed_packet","Value":"134217728"},
{"Variable_name":"character_set_client","Value":"utf8"},
{"Variable_name":"character_set_connection","Value":"utf8"},
{"Variable_name":"grouping_in_utc","Value":"%{NUMBER}"},
{"Variable_name":"timezone","Value":"/etc/localtime"},
{"Variable_name":"last_insert_id","Value":""},
{"Variable_name":"pseudo_sharding","Value":"%{NUMBER}"},
{"Variable_name":"secondary_indexes","Value":"%{NUMBER}"},
{"Variable_name":"accurate_aggregation","Value":"%{NUMBER}"},
{"Variable_name":"distinct_precision_threshold","Value":"3500"},
{"Variable_name":"threads_ex_effective","Value":""},
{"Variable_name":"cluster_user","Value":"cluster"},
{"Variable_name":"thread_stack","Value":"%{NUMBER}"},
{"Variable_name":"threads_ex","Value":""},
{"Variable_name":"user","Value":""}
],
"total":%{NUMBER},
"error":"",
"warning":""
}]
––– input –––
curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20VARIABLES"; echo
––– output –––
[{
"columns":[{"Variable_name":{"type":"string"}},{"Value":{"type":"string"}}],
"data":[
{"Variable_name":"autocommit","Value":"%{NUMBER}"},
{"Variable_name":"auto_optimize","Value":"%{NUMBER}"},
{"Variable_name":"optimize_cutoff","Value":"%{NUMBER}"},
{"Variable_name":"collation_connection","Value":"libc_ci"},
{"Variable_name":"query_log_format","Value":"sphinxql"},
{"Variable_name":"session_read_only","Value":"%{NUMBER}"},
{"Variable_name":"log_level","Value":"info"},
{"Variable_name":"max_allowed_packet","Value":"134217728"},
{"Variable_name":"character_set_client","Value":"utf8"},
{"Variable_name":"character_set_connection","Value":"utf8"},
{"Variable_name":"grouping_in_utc","Value":"%{NUMBER}"},
{"Variable_name":"timezone","Value":"/etc/localtime"},
{"Variable_name":"last_insert_id","Value":""},
{"Variable_name":"pseudo_sharding","Value":"%{NUMBER}"},
{"Variable_name":"secondary_indexes","Value":"%{NUMBER}"},
{"Variable_name":"accurate_aggregation","Value":"%{NUMBER}"},
{"Variable_name":"distinct_precision_threshold","Value":"3500"},
{"Variable_name":"threads_ex_effective","Value":""},
{"Variable_name":"cluster_user","Value":"cluster"},
{"Variable_name":"thread_stack","Value":"%{NUMBER}"},
{"Variable_name":"threads_ex","Value":""},
{"Variable_name":"user","Value":""}
],
"total":%{NUMBER},
"error":"",
"warning":""
}]
––– input –––
curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW VARIABLES"; echo
––– output –––
[{
"columns":[{"Variable_name":{"type":"string"}},{"Value":{"type":"string"}}],
"data":[
{"Variable_name":"autocommit","Value":"%{NUMBER}"},
{"Variable_name":"auto_optimize","Value":"%{NUMBER}"},
{"Variable_name":"optimize_cutoff","Value":"%{NUMBER}"},
{"Variable_name":"collation_connection","Value":"libc_ci"},
{"Variable_name":"query_log_format","Value":"sphinxql"},
{"Variable_name":"session_read_only","Value":"%{NUMBER}"},
{"Variable_name":"log_level","Value":"info"},
{"Variable_name":"max_allowed_packet","Value":"134217728"},
{"Variable_name":"character_set_client","Value":"utf8"},
{"Variable_name":"character_set_connection","Value":"utf8"},
{"Variable_name":"grouping_in_utc","Value":"%{NUMBER}"},
{"Variable_name":"timezone","Value":"/etc/localtime"},
{"Variable_name":"last_insert_id","Value":""},
{"Variable_name":"pseudo_sharding","Value":"%{NUMBER}"},
{"Variable_name":"secondary_indexes","Value":"%{NUMBER}"},
{"Variable_name":"accurate_aggregation","Value":"%{NUMBER}"},
{"Variable_name":"distinct_precision_threshold","Value":"3500"},
{"Variable_name":"threads_ex_effective","Value":""},
{"Variable_name":"cluster_user","Value":"cluster"},
{"Variable_name":"thread_stack","Value":"%{NUMBER}"},
{"Variable_name":"threads_ex","Value":""},
{"Variable_name":"user","Value":""}
],
"total":%{NUMBER},
"error":"",
"warning":""
}]
––– input –––
curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20VARIABLES"; echo
––– output –––
[{
"columns":[{"Variable_name":{"type":"string"}},{"Value":{"type":"string"}}],
"data":[
{"Variable_name":"autocommit","Value":"%{NUMBER}"},
{"Variable_name":"auto_optimize","Value":"%{NUMBER}"},
{"Variable_name":"optimize_cutoff","Value":"%{NUMBER}"},
{"Variable_name":"collation_connection","Value":"libc_ci"},
{"Variable_name":"query_log_format","Value":"sphinxql"},
{"Variable_name":"session_read_only","Value":"%{NUMBER}"},
{"Variable_name":"log_level","Value":"info"},
{"Variable_name":"max_allowed_packet","Value":"134217728"},
{"Variable_name":"character_set_client","Value":"utf8"},
{"Variable_name":"character_set_connection","Value":"utf8"},
{"Variable_name":"grouping_in_utc","Value":"%{NUMBER}"},
{"Variable_name":"timezone","Value":"/etc/localtime"},
{"Variable_name":"last_insert_id","Value":""},
{"Variable_name":"pseudo_sharding","Value":"%{NUMBER}"},
{"Variable_name":"secondary_indexes","Value":"%{NUMBER}"},
{"Variable_name":"accurate_aggregation","Value":"%{NUMBER}"},
{"Variable_name":"distinct_precision_threshold","Value":"3500"},
{"Variable_name":"threads_ex_effective","Value":""},
{"Variable_name":"cluster_user","Value":"cluster"},
{"Variable_name":"thread_stack","Value":"%{NUMBER}"},
{"Variable_name":"threads_ex","Value":""},
{"Variable_name":"user","Value":""}
],
"total":%{NUMBER},
"error":"",
"warning":""
}]
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW META"; echo
––– output –––
[{
"columns":[{"Variable_name":{"type":"string"}},{"Value":{"type":"string"}}],
"data":[
{"Variable_name":"total","Value":"%{NUMBER}"},
{"Variable_name":"total_found","Value":"%{NUMBER}"},
{"Variable_name":"total_relation","Value":"eq"},
{"Variable_name":"time","Value":"#!/[0-9]{1}.[0-9]{3}/!#"}
],
"total":%{NUMBER},
"error":"",
"warning":""
}]
––– input –––
curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20META"; echo
––– output –––
[{
"columns":[{"Variable_name":{"type":"string"}},{"Value":{"type":"string"}}],
"data":[
{"Variable_name":"total","Value":"%{NUMBER}"},
{"Variable_name":"total_found","Value":"%{NUMBER}"},
{"Variable_name":"total_relation","Value":"eq"},
{"Variable_name":"time","Value":"#!/[0-9]{1}.[0-9]{3}/!#"}
],
"total":%{NUMBER},
"error":"",
"warning":""
}]
––– input –––
curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW META"; echo
––– output –––
[{
"columns":[{"Variable_name":{"type":"string"}},{"Value":{"type":"string"}}],
"data":[
{"Variable_name":"total","Value":"%{NUMBER}"},
{"Variable_name":"total_found","Value":"%{NUMBER}"},
{"Variable_name":"total_relation","Value":"eq"},
{"Variable_name":"time","Value":"#!/[0-9]{1}.[0-9]{3}/!#"}
],
"total":%{NUMBER},
"error":"",
"warning":""
}]
––– input –––
curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20META"; echo
––– output –––
[{
"columns":[{"Variable_name":{"type":"string"}},{"Value":{"type":"string"}}],
"data":[
{"Variable_name":"total","Value":"%{NUMBER}"},
{"Variable_name":"total_found","Value":"%{NUMBER}"},
{"Variable_name":"total_relation","Value":"eq"},
{"Variable_name":"time","Value":"#!/[0-9]{1}.[0-9]{3}/!#"}
],
"total":%{NUMBER},
"error":"",
"warning":""
}]
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW QUERIES"; echo
––– output –––
[{"total":%{NUMBER},"error":"","warning":"","columns":[{"id":{"type":"long long"}},{"query":{"type":"string"}},{"time":{"type":"string"}},{"protocol":{"type":"string"}},{"host":{"type":"string"}}],"data":[{"id":%{NUMBER},"query":"SHOW QUERIES","time":"%{NUMBER}#!/(s|ms|us)/!# ago","protocol":"http","host":"127.0.0.1:%{NUMBER}"},{"id":%{NUMBER},"query":"select","time":"%{NUMBER}#!/(s|ms|us)/!# ago","protocol":"http","host":"127.0.0.1:%{NUMBER}"},{"id":%{NUMBER},"query":"show_settings","time":"%{NUMBER}#!/(s|ms|us)/!#","protocol":"http","host":"127.0.0.1:%{NUMBER}"}]}]
––– input –––
curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20QUERIES"; echo
––– output –––
[{"total":%{NUMBER},"error":"","warning":"","columns":[{"id":{"type":"long long"}},{"query":{"type":"string"}},{"time":{"type":"string"}},{"protocol":{"type":"string"}},{"host":{"type":"string"}}],"data":[{"id":%{NUMBER},"query":"select","time":"%{NUMBER}#!/(s|ms|us)/!# ago","protocol":"http","host":"127.0.0.1:%{NUMBER}"},{"id":%{NUMBER},"query":"SHOW QUERIES","time":"%{NUMBER}#!/(s|ms|us)/!# ago","protocol":"http","host":"127.0.0.1:%{NUMBER}"},{"id":%{NUMBER},"query":"show_settings","time":"%{NUMBER}#!/(s|ms|us)/!#","protocol":"http","host":"127.0.0.1:%{NUMBER}"}]}]
––– input –––
curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW QUERIES"; echo
––– output –––
[{"total":%{NUMBER},"error":"","warning":"","columns":[{"id":{"type":"long long"}},{"query":{"type":"string"}},{"time":{"type":"string"}},{"protocol":{"type":"string"}},{"host":{"type":"string"}}],"data":[{"id":%{NUMBER},"query":"select","time":"%{NUMBER}#!/(s|ms|us)/!# ago","protocol":"http","host":"127.0.0.1:%{NUMBER}"},{"id":%{NUMBER},"query":"SHOW QUERIES","time":"%{NUMBER}#!/(s|ms|us)/!# ago","protocol":"http","host":"127.0.0.1:%{NUMBER}"},{"id":%{NUMBER},"query":"show_settings","time":"%{NUMBER}#!/(s|ms|us)/!#","protocol":"http","host":"127.0.0.1:%{NUMBER}"}]}]
––– input –––
curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20QUERIES"; echo
––– output –––
[{"total":%{NUMBER},"error":"","warning":"","columns":[{"id":{"type":"long long"}},{"query":{"type":"string"}},{"time":{"type":"string"}},{"protocol":{"type":"string"}},{"host":{"type":"string"}}],"data":[{"id":%{NUMBER},"query":"select","time":"%{NUMBER}#!/(s|ms|us)/!# ago","protocol":"http","host":"127.0.0.1:%{NUMBER}"},{"id":%{NUMBER},"query":"SHOW QUERIES","time":"%{NUMBER}#!/(s|ms|us)/!# ago","protocol":"http","host":"127.0.0.1:%{NUMBER}"},{"id":%{NUMBER},"query":"show_settings","time":"%{NUMBER}#!/(s|ms|us)/!#","protocol":"http","host":"127.0.0.1:%{NUMBER}"}]}]
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW VERSION"; echo
––– output –––
~ [{"total":%{NUMBER},"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"%{VERSION}"},{"Component":"Columnar","Version":"columnar %{VERSION}"},{"Component":"Secondary","Version":"secondary %{VERSION}"},{"Component":"KNN","Version":"knn %{VERSION}"},{"Component":"Buddy","Version":"buddy %{VERSION}4,"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"7.4.7 87e3b59fc@25031113 dev"},{"Component":"Columnar","Version":"columnar 4.1.2 89795db@25030113"},{"Component":"Secondary","Version":"secondary 4.1.2 89795db@25030113"},{"Component":"Buddy","Version":"buddy v3.25.2-gc240bd"}]}]
––– input –––
curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20VERSION"; echo
––– output –––
~ [{"total":%{NUMBER},"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"%{VERSION}"},{"Component":"Columnar","Version":"columnar %{VERSION}"},{"Component":"Secondary","Version":"secondary %{VERSION}"},{"Component":"KNN","Version":"knn %{VERSION}"},{"Component":"Buddy","Version":"buddy %{VERSION}4,"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"7.4.7 87e3b59fc@25031113 dev"},{"Component":"Columnar","Version":"columnar 4.1.2 89795db@25030113"},{"Component":"Secondary","Version":"secondary 4.1.2 89795db@25030113"},{"Component":"Buddy","Version":"buddy v3.25.2-gc240bd"}]}]
––– input –––
curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW VERSION"; echo
––– output –––
~ [{"total":%{NUMBER},"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"%{VERSION}"},{"Component":"Columnar","Version":"columnar %{VERSION}"},{"Component":"Secondary","Version":"secondary %{VERSION}"},{"Component":"KNN","Version":"knn %{VERSION}"},{"Component":"Buddy","Version":"buddy %{VERSION}4,"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"7.4.7 87e3b59fc@25031113 dev"},{"Component":"Columnar","Version":"columnar 4.1.2 89795db@25030113"},{"Component":"Secondary","Version":"secondary 4.1.2 89795db@25030113"},{"Component":"Buddy","Version":"buddy v3.25.2-gc240bd"}]}]
––– input –––
curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20VERSION"; echo
––– output –––
~ [{"total":%{NUMBER},"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"%{VERSION}"},{"Component":"Columnar","Version":"columnar %{VERSION}"},{"Component":"Secondary","Version":"secondary %{VERSION}"},{"Component":"KNN","Version":"knn %{VERSION}"},{"Component":"Buddy","Version":"buddy %{VERSION}4,"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"7.4.7 87e3b59fc@25031113 dev"},{"Component":"Columnar","Version":"columnar 4.1.2 89795db@25030113"},{"Component":"Secondary","Version":"secondary 4.1.2 89795db@25030113"},{"Component":"Buddy","Version":"buddy v3.25.2-gc240bd"}]}]

```

</details>
<details>
<summary>test/clt-tests/buddy/test-fuzzy-search.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...Tue Mar 11 13:46:14.232 2025] [21] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:14.257 2025] [21] using config file '/etc/manticoresearch/manticore.conf' (273 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:9306 for mysql127.0.0.1:9312 for sphinx and http(s)
~ listening on %{IPADDR}:9308 for sphinx and http(s)127.0.0.1:9306 for mysql
- Buddy started!
+ listening on 127.0.0.1:9308 for sphinx and http(s)
+ Buddy started!
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
0
––– input –––
apt-get install jq -y > /dev/null; echo $?
––– output –––
debconf: delaying package configuration, since apt-utils is not installed
0
––– input –––
php -d memory_limit=2G ./test/clt-tests/scripts/load_names_attr.php --batch-size=100000 --concurrency=4 --docs=1000000 --start-id=1 --min-infix-len=2 > /dev/null; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "SHOW CREATE TABLE name;" | grep "min_infix_len='2'" | sed "s/.*\(min_infix_len='2'\).*/\1/"
––– output –––
min_infix_len='2'
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM name;"
––– output –––
+----------+
| count(*) |
+----------+
|  1000000 |
+----------+
––– input –––
mysql -h0 -P9306 -e "OPTIMIZE TABLE name OPTION sync=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('RICH') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+-------------------+------+
| id   | username          | s    |
+------+-------------------+------+
|  196 | BRICE MULLIN      | a    |
|  307 | GRICELDA SKELTON  | a    |
|  363 | LAURICE SOLIZ     | a    |
|  478 | ERICH LLAMAS      | a    |
|  490 | LATRICE MANCILLA  | a    |
|  608 | MAURICE PRATHER   | a    |
|  659 | BRICE OLIVARES    | a    |
|  697 | PATRICE WOOD      | a    |
|  822 | JUNITA RICHARD    | a    |
|  835 | AUREA RICO        | a    |
|  854 | ROXANNE BRICE     | a    |
| 1122 | RICH MOLL         | a    |
| 1134 | JOELLA RICHARD    | a    |
| 1160 | MINDY HEINRICH    | a    |
| 1224 | YADIRA RICHARDSON | a    |
| 1379 | BRICE ALLMAN      | a    |
| 1574 | RICO VALENZUELA   | a    |
| 1602 | BEATRICE LOVE     | a    |
| 1822 | RICHELLE ROE      | a    |
| 2136 | CHIQUITA RICHTER  | a    |
+------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('EBGRNA') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+----------------------+------+
| id   | username             | s    |
+------+----------------------+------+
|  675 | CONCEPTION ABERNATHY | a    |
|  964 | BERNARDINA OSHEA     | a    |
| 1354 | VERNA VITALE         | a    |
| 1784 | BERNADETTE HALES     | a    |
| 1839 | BERNARDINA MCMILLAN  | a    |
| 1864 | ERNA ULLOA           | a    |
| 1948 | SAMIRA ABERNATHY     | a    |
| 2238 | JUDI BERNAL          | a    |
| 2446 | MERNA GAITHER        | a    |
| 3065 | BERNADINE HIBBARD    | a    |
| 3195 | BERNADETTE SHELTON   | a    |
| 3688 | VERNA GASTON         | a    |
| 3781 | BERNARDINE WILKINS   | a    |
| 4370 | ERNA VITALE          | a    |
| 4637 | TARSHA HERNANDEZ     | a    |
| 4662 | FERNANDO HOUCK       | a    |
| 5044 | CONSTANCE ABERNATHY  | a    |
| 5580 | LAVERNA GORMAN       | a    |
| 5582 | FERNANDE ISRAEL      | a    |
| 5798 | LAVERNA STORM        | a    |
+------+----------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('ANT') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+-------------------+------+
| id   | username          | s    |
+------+-------------------+------+
|    8 | DAMIAN SOMERS     | a    |
|   16 | TAMI WHELAN       | a    |
|   19 | DARCY SANDBERG    | a    |
|   20 | RANEE BROUGHTON   | a    |
|   21 | STEPHEN ALLMAN    | a    |
|   30 | AMANDA KEY        | a    |
|   37 | ELFRIEDA HANKS    | a    |
|   41 | NANNIE WILLINGHAM | a    |
|   42 | YOULANDA TROUT    | a    |
|   44 | ANTHONY SMOOT     | a    |
|   47 | FRANCIE BUNDY     | a    |
|   51 | LATASHA POLAND    | a    |
|   53 | SHEMEKA DURAND    | a    |
|   54 | LATANYA ARNDT     | a    |
|   56 | JANELLE LASTER    | a    |
|   57 | NANNIE HANNON     | a    |
|   58 | GRANVILLE VALDEZ  | a    |
|   59 | DEDE SPANN        | a    |
|   60 | DANIEL MERRITT    | a    |
|   63 | SAUL HOWLAND      | a    |
+------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('tony') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+--------------------+------+
| id   | username           | s    |
+------+--------------------+------+
|  118 | ANTONIA VANWINKLE  | a    |
|  220 | ANTONIA MELGAR     | a    |
|  391 | KARYL TONEY        | a    |
|  761 | TONYA SHERRILL     | a    |
| 1527 | LEONE TONEY        | a    |
| 2132 | TONIA RAPP         | a    |
| 2195 | TONIE HOANG        | a    |
| 2333 | LATONIA VILLASENOR | a    |
| 2357 | TONIE BARNHILL     | a    |
| 2430 | TONIA BOSTICK      | a    |
| 2584 | TONI SPENCE        | a    |
| 2725 | ANTONIETTA CINTRON | a    |
| 2881 | ANTONINA HASKELL   | a    |
| 3318 | TONY DUPRE         | a    |
| 3582 | ANTONIETTA BAEZ    | a    |
| 3858 | TONEY SCHOEN       | a    |
| 4366 | ROCHEL TONEY       | a    |
| 4608 | ANTONIA DRISCOLL   | a    |
| 4657 | TONYA PARRIS       | a    |
| 4800 | TONY WEISS         | a    |
+------+--------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
+--------+-------------------+------+
| id     | username          | s    |
+--------+-------------------+------+
| 999973 | KEITH SNOW        | a    |
| 999855 | DOROTHA WISEMAN   | a    |
| 999723 | SCOTT OLSON       | a    |
| 999264 | RUTHANN GREENE    | a    |
| 999250 | MINH LANDERS      | a    |
| 999127 | MALENA RUTHERFORD | a    |
| 999120 | RUTHANNE CARDOSO  | a    |
| 998893 | IRWIN SOUTHARD    | a    |
| 998691 | MITCHELL SEITZ    | a    |
| 998539 | ELSA SEITZ        | a    |
| 998526 | SCOTT CARRION     | a    |
| 997945 | RUTHE SCHENK      | a    |
| 997815 | MINH GOODWIN      | a    |
| 997558 | ARTIE SOUTH       | a    |
| 997189 | BETTY SOUTHERN    | a    |
| 997187 | SUSAN SCOTT       | a    |
| 997098 | OTHA FAJARDO      | a    |
| 997074 | SCOTT FLANDERS    | a    |
| 996804 | SCOTT ENOS        | a    |
| 996461 | EDRA HIGGINBOTHAM | a    |
+--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
+--------+-------------------+------+
| id     | username          | s    |
+--------+-------------------+------+
| 999973 | KEITH SNOW        | a    |
| 999855 | DOROTHA WISEMAN   | a    |
| 999723 | SCOTT OLSON       | a    |
| 999264 | RUTHANN GREENE    | a    |
| 999250 | MINH LANDERS      | a    |
| 999127 | MALENA RUTHERFORD | a    |
| 999120 | RUTHANNE CARDOSO  | a    |
| 998893 | IRWIN SOUTHARD    | a    |
| 998691 | MITCHELL SEITZ    | a    |
| 998539 | ELSA SEITZ        | a    |
| 998526 | SCOTT CARRION     | a    |
| 997945 | RUTHE SCHENK      | a    |
| 997815 | MINH GOODWIN      | a    |
| 997558 | ARTIE SOUTH       | a    |
| 997189 | BETTY SOUTHERN    | a    |
| 997187 | SUSAN SCOTT       | a    |
| 997098 | OTHA FAJARDO      | a    |
| 997074 | SCOTT FLANDERS    | a    |
| 996804 | SCOTT ENOS        | a    |
| 996461 | EDRA HIGGINBOTHAM | a    |
+--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMYTH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
+--------+-------------------+------+
| id     | username          | s    |
+--------+-------------------+------+
| 999973 | KEITH SNOW        | a    |
| 999964 | CANDACE BOOTH     | a    |
| 999855 | DOROTHA WISEMAN   | a    |
| 999723 | SCOTT OLSON       | a    |
| 999264 | RUTHANN GREENE    | a    |
| 999197 | HEATH MCNAMARA    | a    |
| 999127 | MALENA RUTHERFORD | a    |
| 999120 | RUTHANNE CARDOSO  | a    |
| 999013 | HEATHER HAMMOCK   | a    |
| 998893 | IRWIN SOUTHARD    | a    |
| 998526 | SCOTT CARRION     | a    |
| 998000 | EDYTH CARLISLE    | a    |
| 997945 | RUTHE SCHENK      | a    |
| 997558 | ARTIE SOUTH       | a    |
| 997544 | HEATHER CLAUSEN   | a    |
| 997189 | BETTY SOUTHERN    | a    |
| 997187 | SUSAN SCOTT       | a    |
| 997098 | OTHA FAJARDO      | a    |
| 997074 | SCOTT FLANDERS    | a    |
| 996804 | SCOTT ENOS        | a    |
+--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy="1";"
––– output –––
+--------+-------------------+------+
| id     | username          | s    |
+--------+-------------------+------+
| 999973 | KEITH SNOW        | a    |
| 999855 | DOROTHA WISEMAN   | a    |
| 999723 | SCOTT OLSON       | a    |
| 999264 | RUTHANN GREENE    | a    |
| 999250 | MINH LANDERS      | a    |
| 999127 | MALENA RUTHERFORD | a    |
| 999120 | RUTHANNE CARDOSO  | a    |
| 998893 | IRWIN SOUTHARD    | a    |
| 998691 | MITCHELL SEITZ    | a    |
| 998539 | ELSA SEITZ        | a    |
| 998526 | SCOTT CARRION     | a    |
| 997945 | RUTHE SCHENK      | a    |
| 997815 | MINH GOODWIN      | a    |
| 997558 | ARTIE SOUTH       | a    |
| 997189 | BETTY SOUTHERN    | a    |
| 997187 | SUSAN SCOTT       | a    |
| 997098 | OTHA FAJARDO      | a    |
| 997074 | SCOTT FLANDERS    | a    |
| 996804 | SCOTT ENOS        | a    |
| 996461 | EDRA HIGGINBOTHAM | a    |
+--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('john') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
+--------+------------------------+------+
| id     | username               | s    |
+--------+------------------------+------+
| 999961 | JONELL ENRIGHT         | a    |
| 999932 | JONELL NIX             | a    |
| 999926 | JONAH BURNSIDE         | a    |
| 999922 | LAVONNA JONAS          | a    |
| 999860 | JOHNETTA DO            | a    |
| 999552 | JOHNNY CARNES          | a    |
| 999548 | JOHNATHAN PEPPER       | a    |
| 999509 | JOHNATHAN STUBBLEFIELD | a    |
| 999171 | JOHNNY ABRAMS          | a    |
| 999033 | AGNUS STJOHN           | a    |
| 998835 | SCARLETT JONAS         | a    |
| 998798 | JOHNATHON READ         | a    |
| 998467 | JOHNSON JEAN           | a    |
| 998393 | JOHN BACH              | a    |
| 998306 | JOHNNY TAFOYA          | a    |
| 998304 | JONG SAUER             | a    |
| 998303 | JONATHON DUPRE         | a    |
| 998278 | JOHNNIE LOR            | a    |
| 998181 | JONA ELROD             | a    |
| 998154 | JONG YORK              | a    |
+--------+------------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('jane') AND id BETWEEN 10000 AND 20000 ORDER BY username ASC OPTION fuzzy=1;"
––– output –––
+-------+--------------------+------+
| id    | username           | s    |
+-------+--------------------+------+
| 10028 | ANJANETTE PORTILLO | a    |
| 10056 | JANETTE LYNCH      | a    |
| 10629 | LANETTE SWAIN      | a    |
| 10874 | JANESSA MONTEZ     | a    |
| 10977 | RUTHANN LANEY      | a    |
| 11038 | DESIRE LANE        | a    |
| 11056 | LANELLE WATTS      | a    |
| 11397 | MELITA LANE        | a    |
| 11415 | MARYJANE HOLTZ     | a    |
| 11569 | JANETH SELBY       | a    |
| 11758 | JANETTE GANTT      | a    |
| 11834 | JANELLE DRIGGERS   | a    |
| 12100 | JAE COBLE          | a    |
| 12171 | JAE MEARS          | a    |
| 12185 | JANESSA BALTAZAR   | a    |
| 12237 | JANENE APODACA     | a    |
| 12490 | LANELLE ARNDT      | a    |
| 12536 | JANENE WALDRON     | a    |
| 12540 | ANJANETTE STAGGS   | a    |
| 12642 | HERSHEL LANEY      | a    |
+-------+--------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('EBGRNA') AND id BETWEEN 1000 AND 2000 ORDER BY username ASC OPTION fuzzy=1;"
––– output –––
+------+---------------------+------+
| id   | username            | s    |
+------+---------------------+------+
| 1354 | VERNA VITALE        | a    |
| 1784 | BERNADETTE HALES    | a    |
| 1839 | BERNARDINA MCMILLAN | a    |
| 1864 | ERNA ULLOA          | a    |
| 1948 | SAMIRA ABERNATHY    | a    |
+------+---------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SARA') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+------------------+------+
| id   | username         | s    |
+------+------------------+------+
|  188 | LARA KIRK        | a    |
|  207 | CLARA MORRIS     | a    |
|  351 | KLARA DONALDSON  | a    |
|  990 | ELAINE SARABIA   | a    |
| 1409 | LARA FREDERICK   | a    |
| 1661 | SARA GARNER      | a    |
| 1831 | SARAI ESPINAL    | a    |
| 2074 | VALENTIN SARABIA | a    |
| 2930 | LARA CINTRON     | a    |
| 3045 | KLARA ANDRES     | a    |
| 3373 | KLARA NORTON     | a    |
| 3741 | CRUZ SARABIA     | a    |
| 3780 | RUSSEL LARA      | a    |
| 4700 | HEE SARABIA      | a    |
| 4933 | KLARA GOODING    | a    |
| 5830 | SARAI LINDLEY    | a    |
| 5865 | SARAN KNAPP      | a    |
| 5918 | SARA WAITE       | a    |
| 6635 | CLARA BEALE      | a    |
| 6836 | CLARA BAZAN      | a    |
+------+------------------+------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS fuzziness);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'us,ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 0 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnson |
| jonas   |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS prepend, 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS fuzziness, '' AS layouts, 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 2 AS fuzziness, 'us,ru' AS layouts, 1 AS append, 1 AS prepend, 2 AS expansion_len);" | tail -n +4 | sort
––– output –––
+-------+
| joe   |
| john  |
| jose  |
| joy   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'us' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('al', 'name', 0 AS fuzziness);" | tail -n +4 | sort
––– output –––
+-----------+
| albert    |
| alexander |
| allen     |
| dale      |
| dallas    |
| donald    |
| gale      |
| kendall   |
| marshall  |
| walter    |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('mi', 'name', 0 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| ami     |
| britni  |
| brittni |
| cami    |
| choi    |
| darci   |
| eleni   |
| jami    |
| jani    |
| jeni    |
| joi     |
| kaci    |
| kami    |
| kimi    |
| laci    |
| lani    |
| luci    |
| mancini |
| marci   |
| martini |
| melani  |
| muoi    |
| nanci   |
| neomi   |
| noemi   |
| nohemi  |
| ricci   |
| shani   |
| staci   |
| tammi   |
| toi     |
| tomi    |
| traci   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('ch', 'name', 1 AS fuzziness, 3 AS expansion_len);" | tail -n +4 | sort
––– output –––
+-------+
| chang |
| chi   |
| chong |
| chung |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('зф', 'name', 'us,ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| page    |
| paige   |
| palma   |
| palmer  |
| paris   |
| parker  |
| pat     |
| patrick |
| paul    |
| paz     |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('зф', 'name', 'us' AS layouts);" | tail -n +4 | sort
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('gr', 'name', 1 AS fuzziness, 'ru' AS layouts, 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+------------+
| grace      |
| gracia     |
| grady      |
| graham     |
| grant      |
| gregg      |
| gregory    |
| griffin    |
| grover     |
| montenegro |
––– input –––
mysql -h0 -P9306 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); select * from t where match('somethin') option fuzzy=0;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "select * from t where match('somethin') option fuzzy=0;"
––– output –––
––– input –––
mysql -P9306 -h0 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); call autocomplete('some', 't');"
––– output –––
+-----------+
| query     |
+-----------+
| some      |
| something |
+-----------+
––– input –––
mysql -P9306 -h0 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); call autocomplete('some', 't');"
––– output –––
+-----------+
| query     |
+-----------+
| some      |
| something |
+-----------+
––– input –––
mysql -h0 -P9306 -e "drop table if exists t; create table t(a int);"
––– output –––
––– input –––
mysql -h0 -P9306 -e "select * from t option fuzzy=1;"
––– output –––
ERROR 1064 (42000) at line 1: The 'fuzzy' option requires a full-text query
––– input –––
mysql -h0 -P9306 -e "drop table if exists comment_28798446; create table comment_28798446(id int, content text) min_infix_len='3';"
––– output –––
––– input –––
mysql -h0 -P9306 -e "insert into comment_28798446 values (1, 'business Manticore interaction'), (2, 'buisness Manticore interation'), (3, 'other text content');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('buisness Manticore interation') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('business Manticore interaction') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('Manticore') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('bus', 'comment_28798446', 'ru,us,ua' AS layouts);"
––– output –––
+----------+
| query    |
+----------+
| business |
+----------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('bus', 'comment_28798446', '' AS layouts);"
––– output –––
+----------+
| query    |
+----------+
| business |
+----------+
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS t; DEBUG SLEEP 2; CREATE TABLE t(f TEXT) min_infix_len='2';"
––– output –––
+---------+--------+
| command | result |
+---------+--------+
| sleep   | #!/[0-9]{1}.[0-9]{3}/!#  |
+---------+--------+
––– input –––
mysql -h0 -P9306 -e "INSERT INTO t VALUES (1, 'abcdef'), (2, 'abcd efgh');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcdef'); SHOW META;"
––– output –––
+------+--------+
| id   | f      |
+------+--------+
|    1 | abcdef |
+------+--------+
+----------------+--------+
| Variable_name  | Value  |
+----------------+--------+
| total          | 1      |
| total_found    | 1      |
| total_relation | eq     |
| time           | #!/[0-9]{1}.[0-9]{3}/!#  |
| keyword[0]     | abcdef |
| docs[0]        | 1      |
| hits[0]        | 1      |
+----------------+--------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcef') OPTION fuzzy=1; SHOW META;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| total          | 2     |
| total_found    | 2     |
| total_relation | eq    |
| time           | #!/[0-9]{1}.[0-9]{3}/!# |
+----------------+-------+
––– input –––
grep -A3 "SELECT \* FROM t WHERE MATCH('abcdef')" /var/log/manticore/query.log
––– output –––
/* #!/[A-Za-z]{3}\s+[A-Za-z]{3}\s+[0-9]{1,2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}\s+[0-9]{4}/!# conn %{NUMBER} (127.0.0.1:%{NUMBER}) real #!/[0-9]{1}.[0-9]{3}/!# wall #!/[0-9]{1}.[0-9]{3}/!# found 1 */ SELECT * FROM t WHERE MATCH('abcdef');
/* #!/[A-Za-z]{3}\s+[A-Za-z]{3}\s+[0-9]{1,2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}\s+[0-9]{4}/!# conn %{NUMBER} (127.0.0.1:%{NUMBER}) real #!/[0-9]{1}.[0-9]{3}/!# wall #!/[0-9]{1}.[0-9]{3}/!# found 2 */ SELECT * FROM t WHERE MATCH('abcef') OPTION fuzzy=1;
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('nonexistent'); SHOW META;"
––– output –––
+----------------+-------------+
| Variable_name  | Value       |
+----------------+-------------+
| total          | 0           |
| total_found    | 0           |
| total_relation | eq          |
| time           | #!/[0-9]{1}.[0-9]{3}/!#       |
| keyword[0]     | nonexistent |
| docs[0]        | 0           |
| hits[0]        | 0           |
+----------------+-------------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcdef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('\$#@\!') OPTION fuzzy=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS idx1; CREATE TABLE idx1(value TEXT) min_infix_len='2';"
––– output –––
––– input –––
mysql -h0 -P9306 -e "INSERT INTO idx1(value) VALUES ('340');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('34', 'idx1');"
––– output –––
+-------+
| query |
+-------+
| 340   |
+-------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('3', 'idx1');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('34', 'idx1', 1 AS fuzziness);"
––– output –––
+-------+
| query |
+-------+
| 340   |
+-------+
––– input –––
echo -e "searchd {\nlisten = 9306:mysql\nlisten = 9312\nlisten = 9308:http\nlog = /tmp/searchd.log\nquery_log = /tmp/query.log\npid_file = /tmp/searchd.pid\n}\n\nsource src_idx {\ntype = tsvpipe\ntsvpipe_command = cat /tmp/data.tsv\ntsvpipe_field_string = f\ntsvpipe_attr_bigint = id\n}\n\nindex idx_plain {\ntype = plain\nsource = src_idx\npath = /tmp/idx_plain\nmin_infix_len = 2\n}" > /tmp/manticore_idx.conf
––– output –––
––– input –––
echo -e "1\tabcdef\n2\tabcd efgh\n3\trandom text" > /tmp/data.tsv
––– output –––
––– input –––
mkdir -p /tmp/idx_plain && chmod 777 /tmp/idx_plain
––– output –––
––– input –––
indexer --all --config /tmp/manticore_idx.conf > /dev/null 2>&1
––– output –––
––– input –––
rm -f /tmp/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd -c /tmp/manticore_idx.conf; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/tmp/manticore_idx.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:36.340 2025] [408] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:36.366 2025] [408] using config file '/tmp/manticore_idx.conf' (355 chars)...
- listening on all interfaces for mysql, port=9306
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on all interfaces for sphinx and http(s), port=9312mysql, port=9306
~ listening on all interfaces for sphinx and http(s), port=930812
- precaching table 'idx_plain'
+ listening on all interfaces for sphinx and http(s), port=9308
~ precached 1 tables in #!/[0-9]{1,2}.[0-9]+/!# secing table 'idx_plain'
- Buddy started!
+ precached 1 tables in 0.001 sec
+ Buddy started!
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES;"
––– output –––
+-----------+-------+
| Table     | Type  |
+-----------+-------+
| idx_plain | local |
+-----------+-------+
––– input –––
mysql -h0 -P9306 -e "SHOW TABLE idx_plain SETTINGS;"
––– output –––
+---------------+-------------------+
| Variable_name | Value             |
+---------------+-------------------+
| settings      | min_infix_len = 2 |
+---------------+-------------------+
––– input –––
mysql -h0 -P9306 -e "show version\G;"
––– output –––
*************************** 1. row ***************************
Component: Daemon
Version: %{VERSION}
*************************** 2. row ***************************
Component: Columnar
Version: columnar %{VERSION}
*************************** 3. row ***************************
Component: Secondary
Version: secondary %{VERSION}
*************************** 4. row ***************************
~ Component: KNNBuddy
~ Version: knn %{VERSION}buddy v3.25.2-gc240bd
- *************************** 5. row ***************************
- Component: Buddy
- Version: buddy %{VERSION}
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcdef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('nonexistent') OPTION fuzzy=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('abc', 'idx_plain');"
––– output –––
+--------+
| query  |
+--------+
| abcd   |
| abcdef |
+--------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('ran', 'idx_plain');"
––– output –––
+--------+
| query  |
+--------+
| random |
+--------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('zzz', 'idx_plain');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcdef') OPTION fuzzy=0;"
––– output –––
+------+--------+
| id   | f      |
+------+--------+
|    1 | abcdef |
+------+--------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcd efgh') OPTION fuzzy=0;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    2 | abcd efgh |
+------+-----------+
```

</details>
<details>
<summary>test/clt-tests/buddy/test-unserialize-error-absence-kafka-operations.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...Tue Mar 11 13:46:45.410 2025] [21] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:45.435 2025] [21] using config file '/etc/manticoresearch/manticore.conf' (273 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:9306 for mysql127.0.0.1:9312 for sphinx and http(s)
~ listening on %{IPADDR}:9308 for sphinx and http(s)127.0.0.1:9306 for mysql
- Buddy started!
+ listening on 127.0.0.1:9308 for sphinx and http(s)
+ Buddy started!
––– input –––
seq 1 5 | xargs -I{} bash -c "mysql -h0 -P9306 -e 'DROP MATERIALIZED VIEW view_table;' || true; mysql -h0 -P9306 -e 'DROP SOURCE kafka;' || true; mysql -h0 -P9306 -e 'DROP TABLE kafka_test;' || true; mysql -h0 -P9306 -e \"CREATE SOURCE kafka (id bigint, term text, abbrev text, GlossDef json) type=\\\"kafka\\\" broker_list=\\\"kafka:9092\\\" topic_list=\\\"my-data\\\" consumer_group=\\\"manticore\\\" num_consumers=\\\"2\\\" batch=50; CREATE TABLE kafka_test (id bigint, name text, short_name text, received_at text, size multi); CREATE MATERIALIZED VIEW view_table TO kafka_test AS SELECT id, term as name, abbrev as short_name, UTC_TIMESTAMP() as received_at, GlossDef.size as size FROM kafka; SHOW SOURCES; SHOW TABLES; SHOW MVS;\""
––– output –––
ERROR 1064 (42000) at line 1: DROP TABLE failed: unknown table 'kafka_test'
+-------+
| name  |
+-------+
| kafka |
+-------+
+------------+------+
| Table      | Type |
+------------+------+
| kafka_test | rt   |
+------------+------+
+------------+
| name       |
+------------+
| view_table |
+------------+
+-------+
| name  |
+-------+
| kafka |
+-------+
+------------+------+
| Table      | Type |
+------------+------+
| kafka_test | rt   |
+------------+------+
+------------+
| name       |
+------------+
| view_table |
+------------+
+-------+
| name  |
+-------+
| kafka |
+-------+
+------------+------+
| Table      | Type |
+------------+------+
| kafka_test | rt   |
+------------+------+
+------------+
| name       |
+------------+
| view_table |
+------------+
+-------+
| name  |
+-------+
| kafka |
+-------+
+------------+------+
| Table      | Type |
+------------+------+
| kafka_test | rt   |
+------------+------+
+------------+
| name       |
+------------+
| view_table |
+------------+
+-------+
| name  |
+-------+
| kafka |
+-------+
+------------+------+
| Table      | Type |
+------------+------+
| kafka_test | rt   |
+------------+------+
+------------+
| name       |
+------------+
| view_table |
+------------+
––– input –––
tail -n 1000 /var/log/manticore/searchd.log | grep -i "unserialize"
––– output –––
```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-11T13:46:51Z
body: ## clt
❌ CLT tests in `test/clt-tests/sharding/`
✅ OK: 0
❌ Failed: 8
⏳ Duration: 72s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13789124175) for commit [87e3b59](https://github.com/manticoresoftware/manticoresearch/commit/87e3b59fc10d0af760c579b22a5bd12a7354e484)
Failed tests:
<details>
<summary>test/clt-tests/sharding/test-negative-param-validation.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:21.665 2025] [20] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:21.692 2025] [20] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:1306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:1308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:21.831 2025] [55] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:21.859 2025] [55] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:2306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:2308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:21.999 2025] [90] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:22.027 2025] [90] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:3306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:3308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
mysql -h0 -P1306 -e "create table ${CLUSTER_NAME}:tbl1(id bigint) shards=3"
––– output –––
ERROR 1064 (42000) at line 1: Sharded table requires `rf=n`
––– input –––
mysql -h0 -P2306 -e "CREATE TABLE tbl2 shards=5 rf12;"
––– output –––
ERROR 1064 (42000) at line 1: Sharded table requires `rf=n`
```

</details>
<details>
<summary>test/clt-tests/sharding/mre.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:45:46.717 2025] [20] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:45:46.745 2025] [20] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:1306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:1308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:45:46.883 2025] [55] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:45:46.911 2025] [55] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:2306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:2308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export CLUSTER_NAME=c
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
mysql -h0 -P1306 -e "create table ${CLUSTER_NAME}:tbl1(id bigint) shards=3 rf=2 timeout=5;"; echo $?;
––– output –––
0
```

</details>
<details>
<summary>test/clt-tests/sharding/test-drop-sharded-table.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...Tue Mar 11 13:46:09.715 2025] [21] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:09.741 2025] [21] using config file '/etc/manticoresearch/manticore.conf' (273 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:9306 for mysql127.0.0.1:9312 for sphinx and http(s)
~ listening on %{IPADDR}:9308 for sphinx and http(s)127.0.0.1:9306 for mysql
- Buddy started!
+ listening on 127.0.0.1:9308 for sphinx and http(s)
+ Buddy started!
––– input –––
mysql -h0 -P9306 -e "DROP TABLE tbl1;"
––– output –––
ERROR 1064 (42000) at line 1: DROP TABLE failed: unknown table 'tbl1'
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS tbl1;"; echo $?;
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "create table tbl1(id bigint) shards=3 rf=1;"; echo $?;
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES\G"
––– output –––
*************************** 1. row ***************************
Table: tbl1
Type: distributed
––– input –––
mysql -h0 -P9306 -e "DROP TABLE tbl1;"; echo $?;
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES\G"; echo $?;
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "create table tbl1(id bigint) shards=3 rf=1;"; echo $?;
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "drop table if exists tbl1;"; echo $?;
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES\G"; echo $?;
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "create table tbl1(id bigint);"; echo $?;
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES\G"
––– output –––
*************************** 1. row ***************************
Table: tbl1
Type: rt
––– input –––
mysql -h0 -P9306 -e "DROP TABLE tbl1;"; echo $?;
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES\G"; echo $?;
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "DROP TABLE nonexistent_table;"
––– output –––
ERROR 1064 (42000) at line 1: DROP TABLE failed: unknown table 'nonexistent_table'
––– input –––
mysql -h0 -P9306 -e "INSERT INTO tbl1 VALUES (1);" & sleep 1; mysql -h0 -P9306 -e "DROP TABLE tbl1;"
––– output –––
ERROR 1064 (42000) at line 1: Cannot create table with column names missing
ERROR 1064 (42000) at line 1: DROP TABLE failed: unknown table 'tbl1'
––– input –––
LONG_TABLE_NAME=$(printf "tbl%065d" 1)
––– output –––
––– input –––
mysql -h0 -P9306 -e "create table ${LONG_TABLE_NAME}(id bigint) shards=3 rf=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES\G"; echo $?;
––– output –––
*************************** 1. row ***************************
Table: tbl00000000000000000000000000000000000000000000000000000000000000001
Type: distributed
0
––– input –––
mysql -h0 -P9306 -e "DROP TABLE ${LONG_TABLE_NAME};"; echo $?;
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES\G"; echo $?;
––– output –––
0
```

</details>
<details>
<summary>test/clt-tests/sharding/test-negative-sharding-functionality.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:25.679 2025] [20] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:25.706 2025] [20] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:1306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:1308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:25.846 2025] [55] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:25.875 2025] [55] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:2306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:2308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:26.013 2025] [90] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:26.041 2025] [90] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:3306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:3308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
mysql -h0 -P1306 -e "create table c:tbl1 shards=10 rf=2"
––– output –––
ERROR 1064 (42000) at line 1: Cluster 'c' does not exist
––– input –––
mysql -h0 -P1306 -e "create table c:tbl2(id bigint) shards=10 rf=2"
––– output –––
ERROR 1064 (42000) at line 1: Cluster 'c' does not exist
––– input –––
mysql -h0 -P1306 -e "create table ${CLUSTER_NAME}:tbl3(id bigint) shards=10 rf=10"
––– output –––
ERROR 1064 (42000) at line 1: The node count (3) is lower than replication factor (10)
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl4 shards=1000 rf=1000;"
––– output –––
ERROR 1064 (42000) at line 1: You cannot set rf greater than 1 when creating single node sharded table.
```

</details>
<details>
<summary>test/clt-tests/sharding/test-drop-sharded-clustering-table.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:45:52.020 2025] [20] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:45:52.047 2025] [20] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:1306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:1308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:45:52.187 2025] [55] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:45:52.214 2025] [55] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:2306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:2308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export CLUSTER_NAME=c
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
mysql -h0 -P1306 -e "create table ${CLUSTER_NAME}:tbl1(id bigint) shards=3 rf=2;"; echo $?;
––– output –––
0
––– input –––
echo "=== Node 1306 ==="; mysql -h0 -P1306 -e "SHOW TABLES\G" || echo "Node 1306 failed!"; echo "=== Node 2306 ==="; mysql -h0 -P2306 -e "SHOW TABLES\G" || echo "Node 2306 failed!"
––– output –––
=== Node 1306 ===
*************************** 1. row ***************************
Table: tbl1
Type: distributed
=== Node 2306 ===
*************************** 1. row ***************************
Table: tbl1
Type: distributed
––– input –––
mysql -h0 -P1306 -e "DROP TABLE ${CLUSTER_NAME}:tbl1;"; echo $?;
––– output –––
0
––– input –––
echo "=== Node 1306 ==="; mysql -h0 -P1306 -e "SHOW TABLES\G" || echo "Node 1306 failed!"; echo "=== Node 2306 ==="; mysql -h0 -P2306 -e "SHOW TABLES\G" || echo "Node 2306 failed!"
––– output –––
=== Node 1306 ===
=== Node 2306 ===
––– input –––
mysql -h0 -P1306 -e "create table ${CLUSTER_NAME}:Tbl2(id bigint) shards=3 rf=1;"; echo $?
––– output –––
0
––– input –––
echo "=== Node 1306 ==="; mysql -h0 -P1306 -e "SHOW TABLES\G" || echo "Node 1306 failed!"; echo "=== Node 2306 ==="; mysql -h0 -P2306 -e "SHOW TABLES\G" || echo "Node 2306 failed!"
––– output –––
=== Node 1306 ===
*************************** 1. row ***************************
Table: tbl2
Type: distributed
=== Node 2306 ===
*************************** 1. row ***************************
Table: tbl2
Type: distributed
––– input –––
mysql -h0 -P1306 -e "DROP TABLE ${CLUSTER_NAME}:Tbl2;"; echo $?
––– output –––
0
––– input –––
echo "=== Node 1306 ==="; mysql -h0 -P1306 -e "SHOW TABLES\G" || echo "Node 1306 failed!"; echo "=== Node 2306 ==="; mysql -h0 -P2306 -e "SHOW TABLES\G" || echo "Node 2306 failed!"
––– output –––
=== Node 1306 ===
=== Node 2306 ===
––– input –––
mysql -h0 -P1306 -e "create table ${CLUSTER_NAME}:tbl_missing_type(id) shards=3 rf=1;"
––– output –––
––– input –––
echo "=== Node 1306 ==="; mysql -h0 -P1306 -e "SHOW TABLES\G" || echo "Node 1306 failed!"; echo "=== Node 2306 ==="; mysql -h0 -P2306 -e "SHOW TABLES\G" || echo "Node 2306 failed!"
––– output –––
=== Node 1306 ===
*************************** 1. row ***************************
Table: tbl_missing_type
Type: distributed
=== Node 2306 ===
*************************** 1. row ***************************
Table: tbl_missing_type
Type: distributed
––– input –––
mysql -h0 -P1306 -e "DROP TABLE ${CLUSTER_NAME}:tbl_missing_type;"; echo $?
––– output –––
0
––– input –––
echo "=== Node 1306 ==="; mysql -h0 -P1306 -e "SHOW TABLES\G" || echo "Node 1306 failed!"; echo "=== Node 2306 ==="; mysql -h0 -P2306 -e "SHOW TABLES\G" || echo "Node 2306 failed!"
––– output –––
=== Node 1306 ===
=== Node 2306 ===
––– input –––
LONG_TABLE_NAME=$(printf "tbl%065d" 1)
––– output –––
––– input –––
mysql -h0 -P1306 -e "create table ${CLUSTER_NAME}:${LONG_TABLE_NAME}(id bigint) shards=3 rf=1;"
––– output –––
––– input –––
echo "=== Node 1306 ==="; mysql -h0 -P1306 -e "SHOW TABLES\G" || echo "Node 1306 failed!"; echo "=== Node 2306 ==="; mysql -h0 -P2306 -e "SHOW TABLES\G" || echo "Node 2306 failed!"
––– output –––
=== Node 1306 ===
*************************** 1. row ***************************
Table: tbl00000000000000000000000000000000000000000000000000000000000000001
Type: distributed
=== Node 2306 ===
*************************** 1. row ***************************
Table: tbl00000000000000000000000000000000000000000000000000000000000000001
Type: distributed
––– input –––
mysql -h0 -P1306 -e "DROP TABLE ${CLUSTER_NAME}:${LONG_TABLE_NAME};"
––– output –––
––– input –––
echo "=== Node 1306 ==="; mysql -h0 -P1306 -e "SHOW TABLES\G" || echo "Node 1306 failed!"; echo "=== Node 2306 ==="; mysql -h0 -P2306 -e "SHOW TABLES\G" || echo "Node 2306 failed!"
––– output –––
=== Node 1306 ===
=== Node 2306 ===
––– input –––
mysql -h0 -P1306 -e "DROP TABLE ${CLUSTER_NAME}:nonexistent_table;"
––– output –––
ERROR 1064 (42000) at line 1: table 'nonexistent_table' is missing: DROP TABLE failed: table 'nonexistent_table' must exist
––– input –––
mysql -h0 -P1306 -e "DROP TABLE nonexistent_cluster:tbl1;"
––– output –––
ERROR 1064 (42000) at line 1: table 'tbl1' is missing: DROP TABLE failed: table 'tbl1' must exist
––– input –––
mysql -h0 -P1306 -e "DROP TABLE ${CLUSTER_NAME}:tbl1;"
––– output –––
ERROR 1064 (42000) at line 1: table 'tbl1' is missing: DROP TABLE failed: table 'tbl1' must exist
––– input –––
mysql -h0 -P1306 -e "INSERT INTO ${CLUSTER_NAME}:tbl1 VALUES (1);" & sleep 1; mysql -h0 -P1306 -e "DROP TABLE ${CLUSTER_NAME}:tbl1;"
––– output –––
ERROR 1064 (42000) at line 1: Cannot create table with column names missing
ERROR 1064 (42000) at line 1: table 'tbl1' is missing: DROP TABLE failed: table 'tbl1' must exist
```

</details>
<details>
<summary>test/clt-tests/sharding/test-timeout.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:48.579 2025] [20] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:48.606 2025] [20] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:1306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:1308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export CLUSTER_NAME=c
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
mysql -h0 -P1306 -e "create table c:e(id bigint) shards=10 rf=2"
––– output –––
ERROR 1064 (42000) at line 1: The node count for cluster c is too low: 1. You can create local sharded table.
```

</details>
<details>
<summary>test/clt-tests/sharding/test-negative-query-syntax.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:24.727 2025] [20] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:24.754 2025] [20] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:1306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:1308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
mysql -h0 -P1306 -e "create table tbl1 random=5"
––– output –––
ERROR 1064 (42000) at line 1: P03: syntax error, unexpected integer, expecting string near '5'
––– input –––
mysql -h0 -P1306 -e "create table tbl2(id bigint) shards=a rf=b"
––– output –––
ERROR 1064 (42000) at line 1: P03: syntax error, unexpected tablename, expecting string near 'a rf=b'
––– input –––
mysql -h0 -P1306 -e "create table tbl3(id bigint) shards=-10 rf=-1"
––– output –––
ERROR 1064 (42000) at line 1: P03: syntax error, unexpected $undefined, expecting string near '-10 rf=-1'
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl4 shards=abc rf=1;"
––– output –––
ERROR 1064 (42000) at line 1: P03: syntax error, unexpected tablename, expecting string near 'abc rf=1'
```

</details>
<details>
<summary>test/clt-tests/sharding/test-sharding.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...Tue Mar 11 13:46:29.292 2025] [21] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:29.317 2025] [21] using config file '/etc/manticoresearch/manticore.conf' (273 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:9306 for mysql127.0.0.1:9312 for sphinx and http(s)
~ listening on %{IPADDR}:9308 for sphinx and http(s)127.0.0.1:9306 for mysql
- Buddy started!
+ listening on 127.0.0.1:9308 for sphinx and http(s)
+ Buddy started!
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE tbl1;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE tbl2 SHARDS=3 RF=1;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE tbl3(id bigint) shards=4 rf=1;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE tbl4 shards=3 RF=1;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE tbl5 SHARDS=3 rf=1;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "create table tbl6 shards=3 rf=1;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE tbl7 shards=1000 rf=1;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE tbl8 shards = 3 rf = 1;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "CREATE TaBle tbl9(id bigint) ShaRDS=4 rf=1;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES" | tail -n +2 | sort -t'l' -k2n
––– output –––
+-------+-------------+
+-------+-------------+
| Table | Type        |
| tbl1  | rt          |
| tbl2  | distributed |
| tbl3  | distributed |
| tbl4  | distributed |
| tbl5  | distributed |
| tbl6  | distributed |
| tbl7  | distributed |
| tbl8  | distributed |
| tbl9  | distributed |
```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-11T13:47:11Z
body: ## clt
❌ CLT tests in `test/clt-tests/replication/`
✅ OK: 0
❌ Failed: 3
⏳ Duration: 42s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13789124175) for commit [87e3b59](https://github.com/manticoresoftware/manticoresearch/commit/87e3b59fc10d0af760c579b22a5bd12a7354e484)
Failed tests:
<details>
<summary>test/clt-tests/replication/test-replication.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:43.447 2025] [20] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:43.474 2025] [20] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:1306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:1308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:43.612 2025] [55] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:43.640 2025] [55] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:2306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:2308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:43.779 2025] [90] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:43.806 2025] [90] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:3306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:3308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:43.945 2025] [125] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:43.973 2025] [125] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:4306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:4308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:44.111 2025] [160] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:44.138 2025] [160] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:5306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:5308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
export CLUSTER_NAME=replication
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE testrt (title text, content text, gid uint);" && mysql -h0 -P1306 -e "INSERT INTO testrt VALUES(6775836565403860993,'List of HP business laptops','Elitebook Probook',1);" && mysql -h0 -P1306 -e "INSERT INTO testrt VALUES(6775836565403860994,'List of Dell business laptops','Latitude Precision Vostro',2);" && mysql -h0 -P1306 -e "ALTER CLUSTER replication ADD testrt;" && mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_indexes';"
––– output –––
+-----------------------------+--------+
| Counter                     | Value  |
+-----------------------------+--------+
| cluster_replication_indexes | testrt |
+-----------------------------+--------+
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
––– input –––
export INSTANCE=5
––– output –––
––– input –––
stdbuf -oL searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...Tue Mar 11 13:46:47.978 2025] [233] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}Tue Mar 11 13:46:48.006 2025] [233] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
+ [Tue Mar 11 13:46:48.007 2025] [233] stop: successfully sent SIGTERM to pid 166
––– input –––
mysql -h0 -P1306 -e "INSERT INTO replication:testrt VALUES(6775836565403860995,'List of HP business laptops','Macbook',3);"; echo $?
––– output –––
0
––– input –––
export INSTANCE=5
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:48.297 2025] [238] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:48.325 2025] [238] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:5306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:5308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
sleep 5; mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
––– input –––
export INSTANCE=2
––– output –––
––– input –––
stdbuf -oL searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...Tue Mar 11 13:46:53.469 2025] [281] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}Tue Mar 11 13:46:53.496 2025] [281] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
+ [Tue Mar 11 13:46:53.498 2025] [281] stop: successfully sent SIGTERM to pid 61
––– input –––
mysql -h0 -P3306 -e "INSERT INTO replication:testrt VALUES(6775836565403860996,'NEW','TABLE',4);"; echo $?
––– output –––
0
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:53.793 2025] [286] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:53.821 2025] [286] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:2306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:2308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
sleep 5;mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860993
title: List of HP business laptops
content: Elitebook Probook
gid: 1
*************************** 2. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Latitude Precision Vostro
gid: 2
*************************** 3. row ***************************
id: 6775836565403860995
title: List of HP business laptops
content: Macbook
gid: 3
*************************** 4. row ***************************
id: 6775836565403860996
title: NEW
content: TABLE
gid: 4
––– input –––
export INSTANCE=4
––– output –––
––– input –––
stdbuf -oL searchd --stopwait -c test/clt-tests/base/searchd-with-flexible-ports.conf
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...Tue Mar 11 13:46:58.999 2025] [332] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] stop: successfully sent SIGTERM to pid %{NUMBER}Tue Mar 11 13:46:59.026 2025] [332] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
+ [Tue Mar 11 13:46:59.028 2025] [332] stop: successfully sent SIGTERM to pid 131
––– input –––
sleep 5;mysql -h0 -P2306 -e "DELETE FROM replication:testrt WHERE id = 6775836565403860994"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_2306.txt;
––– output –––
––– input –––
export INSTANCE=4
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:47:04.145 2025] [339] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:47:04.172 2025] [339] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:4306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:4308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
sleep 5;mysql -h0 -P1306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_1306.txt;
––– output –––
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_3306.txt;
––– output –––
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_4306.txt;
––– output –––
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM testrt ORDER BY id ASC" > /tmp/output_5306.txt;
––– output –––
––– input –––
diff /tmp/output_1306.txt /tmp/output_2306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_3306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_4306.txt; echo $?
––– output –––
0
––– input –––
diff /tmp/output_1306.txt /tmp/output_5306.txt; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO replication:testrt SET content='Updated Content', title='List of Dell business laptops', gid=2 WHERE id=6775836565403860994;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysql -h0 -P2306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysql -h0 -P3306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysql -h0 -P4306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
––– input –––
mysql -h0 -P5306 -e "SELECT * FROM replication:testrt WHERE id=6775836565403860994\G"
––– output –––
*************************** 1. row ***************************
id: 6775836565403860994
title: List of Dell business laptops
content: Updated Content
gid: 2
```

</details>
<details>
<summary>test/clt-tests/replication/test-replication-with-mysqldump.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:39.020 2025] [20] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:39.048 2025] [20] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:1306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:1308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:39.187 2025] [55] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:39.214 2025] [55] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:2306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:2308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:39.353 2025] [90] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:39.380 2025] [90] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (449 chars)...
- listening on %{IPADDR}:%{NUMBER} for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)127.0.0.1:3306 for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
+ listening on 127.0.0.1:3308 for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export CLUSTER_NAME=c
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
echo 'the, and, of' > /tmp/stopwords.txt
––– output –––
––– input –––
echo 'cat => feline' > /tmp/exceptions.txt
––– output –––
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl1 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' exceptions='/tmp/exceptions.txt' rt_mem_limit='256M';"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: error adding table 'tbl1': knn library not loaded
+ 1
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: SHOW TABLE SETTINGS requires an existing table
- Variable_name: settings
- Value: engine = columnar
- exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_0.txt
- morphology = stem_en
- stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_0.txt
- rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl1 VALUES (1, 'The cat runs', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: Cannot create table with column names missing
+ 1
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"
––– output –––
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 'tbl1'
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
echo 'fast => faster' > /tmp/wordforms.txt
––– output –––
––– input –––
mysql -h0 -P2306 -e "CREATE TABLE tbl2 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' morphology='stem_ru' wordforms='/tmp/wordforms.txt' rt_mem_limit='512M';"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: error adding table 'tbl2': knn library not loaded
+ 1
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: SHOW TABLE SETTINGS requires an existing table
- Variable_name: settings
- Value: engine = rowwise
- morphology = stem_ru
- wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
- rt_mem_limit = 536870912
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (1, 'Русский fast текст', 84, 2.71, '{\"ключ\":\"значение\"}', (4,5,6), 'строка', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: Cannot create table with column names missing
+ 1
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (2, 'Быстрый прыжок', 19, 1.62, '{\"действие\":\"прыжок\",\"число\":3}', (7,8,9), 'пример', 1, '2024-06-10 15:45:00', (345678901234567890, 567890123456789012), (0.8, 0.7, 0.6, 0.5));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: Cannot create table with column names missing
+ 1
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"
––– output –––
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 'tbl2'
––– input –––
mysql -h0 -P3306 -e "CREATE TABLE tbl3 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' rt_mem_limit='512M';"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: error adding table 'tbl3': knn library not loaded
+ 1
––– input –––
mysql -h0 -P3306 -e "SHOW TABLE tbl3 SETTINGS\G;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: SHOW TABLE SETTINGS requires an existing table
- Variable_name: settings
- Value: engine = rowwise
- rt_mem_limit = 536870912
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Plain example', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "ALTER CLUSTER c ADD tbl3;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
~ +-------------------+----------------+
~ | Counter           | Value          |
~ +-------------------+----------------+
~ | cluster_c_indexes | tbl1,tbl2,tbl33  |
~ +-------------------+----------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+ Data from c:tbl1 on port 2306:
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ Data from c:tbl1 on port 3306:
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 3306:
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- | id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+ Data from c:tbl2 on port 2306:
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- |    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+ Data from c:tbl2 on port 3306:
- |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl2 on port 2306:
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
- |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl2 on port 3306:
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
- |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
~ +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
~ | id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                               s            | d                   | a    | b        | j               | m     | e    | v                                     | fv   |
~ +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
~ |    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3 |    1 | 123456789012345678,987654321098765432 | NULL |
~ +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
Data from c:tbl3 on port 2306:
~ +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
~ | id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                               s            | d                   | a    | b        | j               | m     | e    | v                                     | fv   |
~ +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
~ |    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3 |    1 | 123456789012345678,987654321098765432 | NULL |
~ +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
Data from c:tbl3 on port 3306:
~ +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
~ | id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                               s            | d                   | a    | b        | j               | m     | e    | v                                     | fv   |
~ +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
~ |    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3 |    1 | 123456789012345678,987654321098765432 | NULL |
~ +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO c:tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'tbl1' absent
+ 1
––– input –––
mysqldump -etc --replace -u cluster -h0 -P1306 --skip-comments manticore c:tbl1 | mysql -h0 -P1306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
- 0
+ mysqldump: Couldn't find table: "c:tbl1"
+ 0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+ Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do mysql -h0 -P$port -e "SET GLOBAL cluster_user = 'new_username';"; done
––– output –––
––– input –––
for port in 1306 2306 3306; do timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW VARIABLES LIKE 'cluster_user';\" | grep -q '| cluster_user  | new_username |'; do sleep 1; done" && echo "Port $port: cluster_user is new_username." || { echo "Port $port: cluster_user is not new_username."; exit 1; }; done
––– output –––
Port 1306: cluster_user is new_username.
Port 2306: cluster_user is new_username.
Port 3306: cluster_user is new_username.
––– input –––
mysql -h0 -P2306 -e "DELETE FROM c:tbl2 WHERE id = 2;"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: unknown table 'tbl2' in delete request
+ 1
––– input –––
mysql -h0 -P3306 -e "INSERT INTO c:tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'New plain entry', 50, 5.5, '{\"new\":\"entry\"}', (10,11,12), 'new_string', 0, '2025-03-02 10:00:00', (111222333444555666, 777888999000111222), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysqldump -etc --replace --net-buffer-length=16M -u new_username -h0 -P2306 --skip-comments manticore c:tbl1 c:tbl2 c:tbl3 | mysql -h0 -P3306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
- 0
+ mysqldump: Couldn't find table: "c:tbl1"
+ 0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+ Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- | id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+ Data from c:tbl2 on port 2306:
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- |    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+ Data from c:tbl2 on port 3306:
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- Data from c:tbl2 on port 2306:
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl2 on port 3306:
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
~ +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
~ | id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                               s            | d                   | a    | b        | j               | m        | e    | v                                     | fv   |
~ +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
~ |    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3    |    1 | 123456789012345678,987654321098765432 | NULL |
~ |    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000new_string   | 2025-03-02 10:00:00 |   50 | 5.500000 | {"new":"entry"} | 10,11,12 |    0 | 111222333444555666,777888999000111222 | NULL |
~ +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
Data from c:tbl3 on port 2306:
~ +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
~ | id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                               s            | d                   | a    | b        | j               | m        | e    | v                                     | fv   |
~ +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
~ |    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3    |    1 | 123456789012345678,987654321098765432 | NULL |
~ |    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000new_string   | 2025-03-02 10:00:00 |   50 | 5.500000 | {"new":"entry"} | 10,11,12 |    0 | 111222333444555666,777888999000111222 | NULL |
~ +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
Data from c:tbl3 on port 3306:
~ +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
~ | id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                               s            | d                   | a    | b        | j               | m        | e    | v                                     | fv   |
~ +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
~ |    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3    |    1 | 123456789012345678,987654321098765432 | NULL |
~ |    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000new_string   | 2025-03-02 10:00:00 |   50 | 5.500000 | {"new":"entry"} | 10,11,12 |    0 | 111222333444555666,777888999000111222 | NULL |
~ +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+---------------------------------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c DROP tbl1;"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 'tbl1'
+ 1
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
~ +-------------------+-----------+
~ | Counter           | Value     |
~ +-------------------+-----------+
~ | cluster_c_indexes | tbl2,tbl33  |
~ +-------------------+-----------+
––– input –––
echo 'new, stop, words' > /tmp/new_stopwords.txt; echo $?
––– output –––
0
––– input –––
echo 'dog => canine' > /tmp/new_exceptions.txt; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER TABLE tbl1 stopwords='/tmp/new_stopwords.txt' exceptions='/tmp/new_exceptions.txt';"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'tbl1' is not found, or not real-time
+ 1
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: SHOW TABLE SETTINGS requires an existing table
- Variable_name: settings
- Value: engine = columnar
- exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_1.txt
- morphology = stem_en
- stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_1.txt
- rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'tbl1' absent
+ 1
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 'tbl1'
+ 1
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+ Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE c:tbl1 SETTINGS\G;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: SHOW TABLE SETTINGS requires an existing table
- Variable_name: settings
- Value: engine = columnar
- exceptions = /var/log/manticore-2/tbl1/exceptions_chunk0_1.txt
- morphology = stem_en
- stopwords = /var/log/manticore-2/tbl1/stopwords_chunk0_1.txt
- rt_mem_limit = 268435456
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('new runs');"; done
––– output –––
Data from c:tbl1 on port 1306:
- +------+---------------------+----------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f                   | highlight()                |
+ Data from c:tbl1 on port 2306:
- +------+---------------------+----------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | Updated feline runs | Updated feline <b>runs</b> |
+ Data from c:tbl1 on port 3306:
- +------+---------------------+----------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+---------------------+----------------------------+
- | id   | f                   | highlight()                |
- +------+---------------------+----------------------------+
- |    1 | Updated feline runs | Updated feline <b>runs</b> |
- +------+---------------------+----------------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------------+----------------------------+
- | id   | f                   | highlight()                |
- +------+---------------------+----------------------------+
- |    1 | Updated feline runs | Updated feline <b>runs</b> |
- +------+---------------------+----------------------------+
––– input –––
mysql -h0 -P1306 -e "INSERT INTO c:tbl1 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'The dog barks', 10, 2.5, '{\"animal\":\"dog\"}', (4,5), 'bark', 1, '2025-01-01 10:00:00', (111222333444555, 666777888999000), (0.5, 0.6, 0.7, 0.8));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'tbl1' absent
+ 1
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('canine');"; done
––– output –––
Data from c:tbl1 on port 1306:
- +------+---------------+----------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f             | highlight()          |
+ Data from c:tbl1 on port 2306:
- +------+---------------+----------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    2 | The dog barks | The <b>dog</b> barks |
+ Data from c:tbl1 on port 3306:
- +------+---------------+----------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+---------------+----------------------+
- | id   | f             | highlight()          |
- +------+---------------+----------------------+
- |    2 | The dog barks | The <b>dog</b> barks |
- +------+---------------+----------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------+----------------------+
- | id   | f             | highlight()          |
- +------+---------------+----------------------+
- |    2 | The dog barks | The <b>dog</b> barks |
- +------+---------------+----------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+ Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ Data from c:tbl1 on port 3306:
- |    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- |    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- |    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
rm -f /tmp/stopwords.txt /tmp/exceptions.txt /tmp/wordforms.txt /var/lib/manticore/tbl3.conf dump.sql
––– output –––
```

</details>
<details>
<summary>test/clt-tests/replication/test-cluster-creation-without-replication.rec</summary>

```diff
––– input –––
sed -i -e '/listen = 127.0.0.1:9312/d' -e '/listen = 127.0.0.1:9308:http/d' /etc/manticoresearch/manticore.conf
––– output –––
––– input –––
stdbuf -oL searchd
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)...Tue Mar 11 13:46:38.178 2025] [20] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:46:38.204 2025] [20] using config file '/etc/manticoresearch/manticore.conf' (212 chars)...
- listening on 127.0.0.1:9306 for mysql
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
+ listening on 127.0.0.1:9306 for mysql
––– input –––
mysql -h0 -P9306 -e "create cluster c"
––– output –––
ERROR 1064 (42000) at line 1: can not create cluster 'c': no 'listen' is found, cannot set incoming addresses, replication is disabled
```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-11T13:48:54Z
body: ## clt
❌ CLT tests in `test/clt-tests/optimisation-and-update/`
✅ OK: 0
❌ Failed: 1
⏳ Duration: 75s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13789124175) for commit [87e3b59](https://github.com/manticoresoftware/manticoresearch/commit/87e3b59fc10d0af760c579b22a5bd12a7354e484)
Failed tests:
<details>
<summary>test/clt-tests/optimisation-and-update/test-optimisation-and-update.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...Tue Mar 11 13:47:46.952 2025] [21] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:47:46.979 2025] [21] using config file '/etc/manticoresearch/manticore.conf' (273 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:9306 for mysql127.0.0.1:9312 for sphinx and http(s)
~ listening on %{IPADDR}:9308 for sphinx and http(s)127.0.0.1:9306 for mysql
- Buddy started!
+ listening on 127.0.0.1:9308 for sphinx and http(s)
+ Buddy started!
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
0
––– input –––
apt-get install -y bc > /dev/null; echo $?
––– output –––
debconf: delaying package configuration, since apt-utils is not installed
0
––– input –––
chmod +x ./test/clt-tests/scripts/load_names_attr.php > /dev/null; echo $?
––– output –––
0
––– input –––
php -d memory_limit=2G ./test/clt-tests/scripts/load_names_attr.php --batch-size=100000 --concurrency=4 --docs=2000000 --start-id=1 --drop-table > /dev/null; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK name;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "OPTIMIZE TABLE name OPTION sync=1, cutoff=2;"
––– output –––
––– input –––
sleep 1 && mysql -h0 -P9306 -e "show table name status like '%chunk%';"
––– output –––
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| ram_chunk                | 0     |
| ram_chunk_segments_count | 0     |
| disk_chunks              | 2     |
+--------------------------+-------+
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM name;"
––– output –––
+----------+
| count(*) |
+----------+
|  2000000 |
+----------+
––– input –––
php -d memory_limit=2G ./test/clt-tests/scripts/load_names_attr.php --batch-size=100000 --concurrency=4 --docs=2000000 --start-id=2000001 --no-drop-table > /dev/null; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK name;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "OPTIMIZE TABLE name OPTION sync=1, cutoff=2;"
––– output –––
––– input –––
sleep 5 && mysql -h0 -P9306 -e "show table name status like '%chunk%';"
––– output –––
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| ram_chunk                | 0     |
| ram_chunk_segments_count | 0     |
| disk_chunks              | 2     |
+--------------------------+-------+
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM name;"
––– output –––
+----------+
| count(*) |
+----------+
|  4000000 |
+----------+
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
~ Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
~ [#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)...Tue Mar 11 13:48:47.070 2025] [312] WARNING: Error initializing knn index: daemon requires knn library v4 (trying to load v3)
~ starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' [Tue Mar 11 13:48:47.096 2025] [312] using config file '/etc/manticoresearch/manticore.conf' (273 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '7.4.7 87e3b59fc@25031113 dev (columnar 4.1.2 89795db@25030113) (secondary 4.1.2 89795db@25030113)' ...
~ listening on %{IPADDR}:9306 for mysql127.0.0.1:9312 for sphinx and http(s)
~ listening on %{IPADDR}:9308 for sphinx and http(s)127.0.0.1:9306 for mysql
- precaching table 'name'
+ listening on 127.0.0.1:9308 for sphinx and http(s)
~ precached 1 tables in #!/[0-9]{1}.[0-9]{3}/!# secing table 'name'
- Buddy started!
+ precached 1 tables in 0.004 sec
+ Buddy started!
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES;"
––– output –––
+-------+------+
| Table | Type |
+-------+------+
| name  | rt   |
+-------+------+
––– input –––
mysql -h0 -P9306 -e "show table name status like '%chunk%';"
––– output –––
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| ram_chunk                | 0     |
| ram_chunk_segments_count | 0     |
| disk_chunks              | 2     |
+--------------------------+-------+
––– input –––
mysql -h0 -P9306 -e "select * from name ORDER BY id ASC LIMIT 5;"
––– output –––
+------+----------------+------+
| id   | username       | s    |
+------+----------------+------+
|    1 | TARRA NORTH    | a    |
|    2 | CARSON BALL    | a    |
|    3 | TALIA TEAGUE   | a    |
|    4 | ALAYNA KIMBALL | a    |
|    5 | ZULMA RINEHART | a    |
+------+----------------+------+
––– input –––
start_optimize=$(date +%s); time mysql -h0 -P9306 -e "OPTIMIZE TABLE name OPTION sync=1, cutoff=1;" &
––– output –––
––– input –––
sleep 2 && start_update=$(date +%s); time_taken_update=$( { time mysql -h0 -P9306 -e "UPDATE name SET s='b' WHERE id=1;" > /dev/null 2>&1; } 2>&1 | grep real | awk '{print $2}'); update_duration=$(echo "$time_taken_update" | awk -F'm' '{print ($1 * 60) + $2}'); if (( $(echo "$update_duration > 1" | bc -l) )); then echo "FAIL: Update took longer than 1 second!"; exit 1; else echo "Update completed within acceptable time."; fi
––– output –––
Update completed within acceptable time.
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE s='b' ORDER BY id ASC LIMIT 5;"
––– output –––
+------+-------------+------+
| id   | username    | s    |
+------+-------------+------+
|    1 | TARRA NORTH | b    |
+------+-------------+------+
––– input –––
start_update=$(date +%s); time_taken_update=$( { time mysql -h0 -P9306 -e "UPDATE name SET s=123 WHERE id=1;" > /dev/null 2>&1; } 2>&1 | grep real | awk '{print $2}'); update_duration=$(echo "$time_taken_update" | awk -F'm' '{print ($1 * 60) + $2}'); if (( $(echo "$update_duration > 1" | bc -l) )); then echo "FAIL: Update took longer than 1 second!"; exit 1; else echo "Update completed within acceptable time."; fi
––– output –––
Update completed within acceptable time.
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE s='b' ORDER BY id ASC LIMIT 5;"
––– output –––
+------+-------------+------+
| id   | username    | s    |
+------+-------------+------+
|    1 | TARRA NORTH | b    |
+------+-------------+------+
––– input –––
start_update=$(date +%s); time_taken_update=$( { time mysql -h0 -P9306 -e "UPDATE name SET s='b' WHERE id > 0;" > /dev/null 2>&1; } 2>&1 | grep real | awk '{print $2}'); update_duration=$(echo "$time_taken_update" | awk -F'm' '{print ($1 * 60) + $2}'); if (( $(echo "$update_duration > 3" | bc -l) )); then echo "FAIL: Update took longer than 3 seconds!"; false; else echo "Update completed within acceptable time."; fi
––– output –––
Update completed within acceptable time.
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE s='b' ORDER BY id ASC LIMIT 5;"
––– output –––
+------+----------------+------+
| id   | username       | s    |
+------+----------------+------+
|    1 | TARRA NORTH    | b    |
|    2 | CARSON BALL    | b    |
|    3 | TALIA TEAGUE   | b    |
|    4 | ALAYNA KIMBALL | b    |
|    5 | ZULMA RINEHART | b    |
+------+----------------+------+
––– input –––
start_update=$(date +%s); time_taken_update=$(mysql -h0 -P9306 -e "UPDATE name SET unknown='b' WHERE id=1;" 2>&1); update_duration=$(( $(date +%s) - start_update )); [[ "$time_taken_update" == *"ERROR"* ]] && echo "$time_taken_update"; if (( update_duration <= 1 )); then echo "The command is completed within a reasonable time frame."; else echo "FAIL: Update took longer than 1 second!"; false; fi
––– output –––
ERROR 1064 (42000) at line 1: table name: attribute 'unknown' not found
The command is completed within a reasonable time frame.
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE s='b' ORDER BY id ASC LIMIT 5;"
––– output –––
+------+----------------+------+
| id   | username       | s    |
+------+----------------+------+
|    1 | TARRA NORTH    | b    |
|    2 | CARSON BALL    | b    |
|    3 | TALIA TEAGUE   | b    |
|    4 | ALAYNA KIMBALL | b    |
|    5 | ZULMA RINEHART | b    |
+------+----------------+------+
––– input –––
{ command time wait > /dev/null 2>&1; } 2>&1 | grep -v "real" | grep -v "user" | grep -v "sys"; end_optimize=$(date +%s); optimize_duration=$((end_optimize - start_optimize)); echo "OPTIMIZE duration: $optimize_duration seconds"
––– output –––
OPTIMIZE duration: %{NUMBER} seconds
```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-12T11:18:13Z
body: ## clt
❌ CLT tests in `test/clt-tests/replication/`
✅ OK: 2
❌ Failed: 1
⏳ Duration: 43s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13809817802) for commit [cbf4204](https://github.com/manticoresoftware/manticoresearch/commit/cbf42047a59e5cfc2d101598fcf14585f12937b1)
Failed tests:
<details>
<summary>test/clt-tests/replication/test-replication-with-mysqldump.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export CLUSTER_NAME=c
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
echo 'the, and, of' > /tmp/stopwords.txt
––– output –––
––– input –––
echo 'cat => feline' > /tmp/exceptions.txt
––– output –––
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl1 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' exceptions='/tmp/exceptions.txt' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_0.txt
morphology = stem_en
stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_0.txt
rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl1 VALUES (1, 'The cat runs', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
echo 'fast => faster' > /tmp/wordforms.txt
––– output –––
––– input –––
mysql -h0 -P2306 -e "CREATE TABLE tbl2 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' morphology='stem_ru' wordforms='/tmp/wordforms.txt' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
morphology = stem_ru
wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
rt_mem_limit = 536870912
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (1, 'Русский fast текст', 84, 2.71, '{\"ключ\":\"значение\"}', (4,5,6), 'строка', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (2, 'Быстрый прыжок', 19, 1.62, '{\"действие\":\"прыжок\",\"число\":3}', (7,8,9), 'пример', 1, '2024-06-10 15:45:00', (345678901234567890, 567890123456789012), (0.8, 0.7, 0.6, 0.5));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"
––– output –––
––– input –––
mysql -h0 -P3306 -e "CREATE TABLE tbl3 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "SHOW TABLE tbl3 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
rt_mem_limit = 536870912
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Plain example', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "ALTER CLUSTER c ADD tbl3;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+----------------+
| Counter           | Value          |
+-------------------+----------------+
| cluster_c_indexes | tbl1,tbl2,tbl3 |
+-------------------+----------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 2306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 3306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO c:tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysqldump -etc --replace -u cluster -h0 -P1306 --skip-comments manticore c:tbl1 | mysql -h0 -P1306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do mysql -h0 -P$port -e "SET GLOBAL cluster_user = 'new_username';"; done
––– output –––
––– input –––
for port in 1306 2306 3306; do timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW VARIABLES LIKE 'cluster_user';\" | grep -q '| cluster_user  | new_username |'; do sleep 1; done" && echo "Port $port: cluster_user is new_username." || { echo "Port $port: cluster_user is not new_username."; exit 1; }; done
––– output –––
Port 1306: cluster_user is new_username.
Port 2306: cluster_user is new_username.
Port 3306: cluster_user is new_username.
––– input –––
mysql -h0 -P2306 -e "DELETE FROM c:tbl2 WHERE id = 2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO c:tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'New plain entry', 50, 5.5, '{\"new\":\"entry\"}', (10,11,12), 'new_string', 0, '2025-03-02 10:00:00', (111222333444555666, 777888999000111222), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysqldump -etc --replace --net-buffer-length=16M -u new_username -h0 -P2306 --skip-comments manticore c:tbl1 c:tbl2 c:tbl3 | mysql -h0 -P3306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 2306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 3306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c DROP tbl1;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+-----------+
| Counter           | Value     |
+-------------------+-----------+
| cluster_c_indexes | tbl2,tbl3 |
+-------------------+-----------+
––– input –––
echo 'new, stop, words' > /tmp/new_stopwords.txt; echo $?
––– output –––
0
––– input –––
echo 'dog => canine' > /tmp/new_exceptions.txt; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER TABLE tbl1 stopwords='/tmp/new_stopwords.txt' exceptions='/tmp/new_exceptions.txt';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_1.txt
morphology = stem_en
stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_1.txt
rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE c:tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-2/tbl1/exceptions_chunk0_1.txt
morphology = stem_en
stopwords = /var/log/manticore-2/tbl1/stopwords_chunk0_1.txt
rt_mem_limit = 268435456
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('new runs');"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
––– input –––
mysql -h0 -P1306 -e "INSERT INTO c:tbl1 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'The dog barks', 10, 2.5, '{\"animal\":\"dog\"}', (4,5), 'bark', 1, '2025-01-01 10:00:00', (111222333444555, 666777888999000), (0.5, 0.6, 0.7, 0.8));"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('canine');"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
Data from c:tbl1 on port 2306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
Data from c:tbl1 on port 3306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c DROP tbl2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+-----------+
| Counter           | Value     |
+-------------------+-----------+
| cluster_c_indexes | tbl3,tbl1 |
+-------------------+-----------+
––– input –––
ls /usr/share/manticore/ru.pak
––– output –––
/usr/share/manticore/ru.pak
––– input –––
mysql -h0 -P2306 -e "ALTER TABLE tbl2 morphology='lemmatize_ru';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
morphology = lemmatize_ru
wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
rt_mem_limit = 536870912
––– input –––
mysqldump -etc --replace -u new_username -h0 -P2306 --skip-comments manticore tbl2 | mysql -P2306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO c:tbl2 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Кот прыжки делает', 5, 1.1, '{\"действие\":\"прыжки\"}', (10,11), 'кот', 1, '2025-03-11 12:00:00', (111111111, 222222222), (0.9, 0.8, 0.7, 0.6));"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl2 WHERE MATCH('прыжок');"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
Data from c:tbl2 on port 2306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
Data from c:tbl2 on port 3306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
rm -f /tmp/stopwords.txt /tmp/exceptions.txt /tmp/wordforms.txt /var/lib/manticore/tbl3.conf dump.sql
––– output –––
```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-12T11:23:49Z
body: ## clt
❌ CLT tests in `test/clt-tests/core/
test/clt-tests/expected-errors/`
✅ OK: 38
❌ Failed: 1
⏳ Duration: 378s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13809817802) for commit [cbf4204](https://github.com/manticoresoftware/manticoresearch/commit/cbf42047a59e5cfc2d101598fcf14585f12937b1)
Failed tests:
<details>
<summary>test/clt-tests/core/show-settings.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
mysql -h0 -P1306 -e "SHOW SETTINGS;"
––– output –––
+---------------------------------------+------------------------------------------------------------+
| Setting_name                          | Value                                                      |
+---------------------------------------+------------------------------------------------------------+
| configuration_file                    | /.clt/test/clt-tests/base/searchd-with-flexible-ports.conf |
| worker_pid                            | %{NUMBER}                                                         |
| searchd.listen                        | %{IPADDR}:%{NUMBER}:mysql41                                     |
| searchd.listen                        | %{IPADDR}:%{NUMBER}                                             |
| searchd.listen                        | %{IPADDR}:%{NUMBER}:http                                        |
| searchd.log                           | /var/log/manticore-1/searchd.log                           |
| searchd.query_log                     | /var/log/manticore-1/query.log                             |
| searchd.pid_file                      | /var/log/manticore-1/searchd.pid                           |
| searchd.data_dir                      | /var/log/manticore-1                                       |
| searchd.query_log_format              | sphinxql                                                   |
| searchd.query_log_commands            | 1                                                          |
| searchd.diskchunk_flush_write_timeout | -1                                                         |
| searchd.binlog_path                   | /var/log/manticore-1/binlog                                |
| common.plugin_dir                     | /usr/local/lib/manticore                                   |
~ | common.lemmatizer_base                | /usr/share/manticore/morph/                                      |
+---------------------------------------+------------------------------------------------------------+
```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-12T14:05:30Z
body: ## clt
❌ CLT tests in `test/clt-tests/replication/`
✅ OK: 2
❌ Failed: 1
⏳ Duration: 46s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13813036028) for commit [3642221](https://github.com/manticoresoftware/manticoresearch/commit/3642221056b7b023b2afe81f21481fe0eca078fc)
Failed tests:
<details>
<summary>test/clt-tests/replication/test-replication-with-mysqldump.rec</summary>

```diff
––– input –––
export LANG=en_US.UTF-8
––– output –––
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export CLUSTER_NAME=c
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
echo 'the, and, of' > /tmp/stopwords.txt
––– output –––
––– input –––
echo 'cat => feline' > /tmp/exceptions.txt
––– output –––
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl1 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' exceptions='/tmp/exceptions.txt' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_0.txt
morphology = stem_en
stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_0.txt
rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl1 VALUES (1, 'The cat runs', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
echo 'fast => faster' > /tmp/wordforms.txt
––– output –––
––– input –––
iconv -f UTF-8 -t UTF-8 -c /tmp/stopwords.txt -o /tmp/stopwords.txt; iconv -f UTF-8 -t UTF-8 -c /tmp/exceptions.txt -o /tmp/exceptions.txt;iconv -f UTF-8 -t UTF-8 -c /tmp/wordforms.txt -o /tmp/wordforms.txt
––– output –––
––– input –––
grep -axv '.*' /tmp/stopwords.txt && echo "stopwords.txt: НЕ UTF-8" || echo "stopwords.txt: UTF-8"; grep -axv '.*' /tmp/exceptions.txt && echo "exceptions.txt: НЕ UTF-8" || echo "exceptions.txt: UTF-8"; grep -axv '.*' /tmp/wordforms.txt && echo "wordforms.txt: НЕ UTF-8" || echo "wordforms.txt: UTF-8"
––– output –––
stopwords.txt: UTF-8
exceptions.txt: UTF-8
wordforms.txt: UTF-8
––– input –––
mysql -h0 -P2306 -e "CREATE TABLE tbl2 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' morphology='stem_ru' wordforms='/tmp/wordforms.txt' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
morphology = stem_ru
wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
rt_mem_limit = 536870912
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (1, 'Русский fast текст', 84, 2.71, '{\"ключ\":\"значение\"}', (4,5,6), 'строка', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (2, 'Быстрый прыжок', 19, 1.62, '{\"действие\":\"прыжок\",\"число\":3}', (7,8,9), 'пример', 1, '2024-06-10 15:45:00', (345678901234567890, 567890123456789012), (0.8, 0.7, 0.6, 0.5));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"
––– output –––
––– input –––
mysql -h0 -P3306 -e "CREATE TABLE tbl3 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "SHOW TABLE tbl3 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
rt_mem_limit = 536870912
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Plain example', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "ALTER CLUSTER c ADD tbl3;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+----------------+
| Counter           | Value          |
+-------------------+----------------+
| cluster_c_indexes | tbl1,tbl2,tbl3 |
+-------------------+----------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 2306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 3306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO c:tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysqldump -etc --replace -u cluster -h0 -P1306 --skip-comments manticore c:tbl1 | mysql -h0 -P1306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do mysql -h0 -P$port -e "SET GLOBAL cluster_user = 'new_username';"; done
––– output –––
––– input –––
for port in 1306 2306 3306; do timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW VARIABLES LIKE 'cluster_user';\" | grep -q '| cluster_user  | new_username |'; do sleep 1; done" && echo "Port $port: cluster_user is new_username." || { echo "Port $port: cluster_user is not new_username."; exit 1; }; done
––– output –––
Port 1306: cluster_user is new_username.
Port 2306: cluster_user is new_username.
Port 3306: cluster_user is new_username.
––– input –––
mysql -h0 -P2306 -e "DELETE FROM c:tbl2 WHERE id = 2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO c:tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'New plain entry', 50, 5.5, '{\"new\":\"entry\"}', (10,11,12), 'new_string', 0, '2025-03-02 10:00:00', (111222333444555666, 777888999000111222), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysqldump -etc --replace --net-buffer-length=16M -u new_username -h0 -P2306 --skip-comments manticore c:tbl1 c:tbl2 c:tbl3 | mysql -h0 -P3306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 2306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 3306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c DROP tbl1;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+-----------+
| Counter           | Value     |
+-------------------+-----------+
| cluster_c_indexes | tbl2,tbl3 |
+-------------------+-----------+
––– input –––
echo 'new, stop, words' > /tmp/new_stopwords.txt; echo $?
––– output –––
0
––– input –––
echo 'dog => canine' > /tmp/new_exceptions.txt; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER TABLE tbl1 stopwords='/tmp/new_stopwords.txt' exceptions='/tmp/new_exceptions.txt';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_1.txt
morphology = stem_en
stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_1.txt
rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE c:tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-2/tbl1/exceptions_chunk0_1.txt
morphology = stem_en
stopwords = /var/log/manticore-2/tbl1/stopwords_chunk0_1.txt
rt_mem_limit = 268435456
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('new runs');"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
––– input –––
mysql -h0 -P1306 -e "INSERT INTO c:tbl1 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'The dog barks', 10, 2.5, '{\"animal\":\"dog\"}', (4,5), 'bark', 1, '2025-01-01 10:00:00', (111222333444555, 666777888999000), (0.5, 0.6, 0.7, 0.8));"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('canine');"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
Data from c:tbl1 on port 2306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
Data from c:tbl1 on port 3306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c DROP tbl2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+-----------+
| Counter           | Value     |
+-------------------+-----------+
| cluster_c_indexes | tbl3,tbl1 |
+-------------------+-----------+
––– input –––
ls /usr/share/manticore/ru.pak
––– output –––
/usr/share/manticore/ru.pak
––– input –––
mysql -h0 -P2306 -e "ALTER TABLE tbl2 morphology='lemmatize_ru';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
morphology = lemmatize_ru
wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
rt_mem_limit = 536870912
––– input –––
mysqldump -etc --replace -u new_username -h0 -P2306 --skip-comments manticore tbl2 | mysql -P2306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO c:tbl2 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Кот прыжки делает', 5, 1.1, '{\"действие\":\"прыжки\"}', (10,11), 'кот', 1, '2025-03-11 12:00:00', (111111111, 222222222), (0.9, 0.8, 0.7, 0.6));"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl2 WHERE MATCH('прыжок');"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
Data from c:tbl2 on port 2306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
Data from c:tbl2 on port 3306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
rm -f /tmp/stopwords.txt /tmp/exceptions.txt /tmp/wordforms.txt /var/lib/manticore/tbl3.conf dump.sql
––– output –––
```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-12T14:10:54Z
body: ## clt
❌ CLT tests in `test/clt-tests/core/
test/clt-tests/expected-errors/`
✅ OK: 38
❌ Failed: 1
⏳ Duration: 379s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13813036028) for commit [3642221](https://github.com/manticoresoftware/manticoresearch/commit/3642221056b7b023b2afe81f21481fe0eca078fc)
Failed tests:
<details>
<summary>test/clt-tests/core/show-settings.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
mysql -h0 -P1306 -e "SHOW SETTINGS;"
––– output –––
~ +---------------------------------------+------------------------------------------------------------+
~ | Setting_name                          | Value                                                      |
~ +---------------------------------------+------------------------------------------------------------+
~ | configuration_file                    | /.clt/test/clt-tests/base/searchd-with-flexible-ports.conf |
~ | worker_pid                            | %{NUMBER}| 26                                                         |
~ | searchd.listen                        | %{IPADDR}:%{NUMBER}| 127.0.0.1:1306:mysql41                                     |
~ | searchd.listen                        | %{IPADDR}:%{NUMBER}| 127.0.0.1:1312                                             |
~ | searchd.listen                        | %{IPADDR}:%{NUMBER}| 127.0.0.1:1308:http                                        |
~ | searchd.log                           | /var/log/manticore-1/searchd.log                           |
~ | searchd.query_log                     | /var/log/manticore-1/query.log                             |
~ | searchd.pid_file                      | /var/log/manticore-1/searchd.pid                           |
~ | searchd.data_dir                      | /var/log/manticore-1                                       |
~ | searchd.query_log_format              | sphinxql                                                   |
~ | searchd.query_log_commands            | 1                                                          |
~ | searchd.diskchunk_flush_write_timeout | -1                         binlog_path        | /var/log/manticore-1/binlog                                |
~ | searchd.binlog_path                   | /var/log/manticore-1/binlogcommon.plugin_dir          | /usr/local/lib/manticore                                   |
~ | common.plugin_dir                     | /usr/local/lib/manticorelemmatizer_base     | /usr/share/manticore/                                      |
- | common.lemmatizer_base                | /usr/share/manticore/                                      |
+ +----------------------------+------------------------------------------------------------+
- +---------------------------------------+------------------------------------------------------------+

```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-12T18:10:20Z
body: ## clt
❌ CLT tests in `test/clt-tests/replication/`
✅ OK: 2
❌ Failed: 1
⏳ Duration: 44s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13818262063) for commit [944b4da](https://github.com/manticoresoftware/manticoresearch/commit/944b4da235580412fa5c5bbb82301bf466fde851)
Failed tests:
<details>
<summary>test/clt-tests/replication/test-replication-with-mysqldump.rec</summary>

```diff
––– input –––
export LANG=en_US.UTF-8
––– output –––
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export CLUSTER_NAME=c
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
echo 'the, and, of' > /tmp/stopwords.txt
––– output –––
––– input –––
echo 'cat => feline' > /tmp/exceptions.txt
––– output –––
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl1 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' exceptions='/tmp/exceptions.txt' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_0.txt
morphology = stem_en
stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_0.txt
rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl1 VALUES (1, 'The cat runs', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
echo 'fast => faster' > /tmp/wordforms.txt
––– output –––
––– input –––
iconv -f UTF-8 -t UTF-8 -c /tmp/stopwords.txt -o /tmp/stopwords.txt; iconv -f UTF-8 -t UTF-8 -c /tmp/exceptions.txt -o /tmp/exceptions.txt;iconv -f UTF-8 -t UTF-8 -c /tmp/wordforms.txt -o /tmp/wordforms.txt
––– output –––
––– input –––
grep -axv '.*' /tmp/stopwords.txt && echo "stopwords.txt: НЕ UTF-8" || echo "stopwords.txt: UTF-8"; grep -axv '.*' /tmp/exceptions.txt && echo "exceptions.txt: НЕ UTF-8" || echo "exceptions.txt: UTF-8"; grep -axv '.*' /tmp/wordforms.txt && echo "wordforms.txt: НЕ UTF-8" || echo "wordforms.txt: UTF-8"
––– output –––
stopwords.txt: UTF-8
exceptions.txt: UTF-8
wordforms.txt: UTF-8
––– input –––
mysql -h0 -P2306 -e "CREATE TABLE tbl2 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' morphology='stem_ru' wordforms='/tmp/wordforms.txt' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
morphology = stem_ru
wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
rt_mem_limit = 536870912
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (1, 'Русский fast текст', 84, 2.71, '{\"ключ\":\"значение\"}', (4,5,6), 'строка', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (2, 'Быстрый прыжок', 19, 1.62, '{\"действие\":\"прыжок\",\"число\":3}', (7,8,9), 'пример', 1, '2024-06-10 15:45:00', (345678901234567890, 567890123456789012), (0.8, 0.7, 0.6, 0.5));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"
––– output –––
––– input –––
mysql -h0 -P3306 -e "CREATE TABLE tbl3 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "SHOW TABLE tbl3 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
rt_mem_limit = 536870912
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Plain example', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "ALTER CLUSTER c ADD tbl3;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+----------------+
| Counter           | Value          |
+-------------------+----------------+
| cluster_c_indexes | tbl1,tbl2,tbl3 |
+-------------------+----------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 2306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 3306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO c:tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysqldump -etc --replace -u cluster -h0 -P1306 --skip-comments manticore c:tbl1 | mysql -h0 -P1306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do mysql -h0 -P$port -e "SET GLOBAL cluster_user = 'new_username';"; done
––– output –––
––– input –––
for port in 1306 2306 3306; do timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW VARIABLES LIKE 'cluster_user';\" | grep -q '| cluster_user  | new_username |'; do sleep 1; done" && echo "Port $port: cluster_user is new_username." || { echo "Port $port: cluster_user is not new_username."; exit 1; }; done
––– output –––
Port 1306: cluster_user is new_username.
Port 2306: cluster_user is new_username.
Port 3306: cluster_user is new_username.
––– input –––
mysql -h0 -P2306 -e "DELETE FROM c:tbl2 WHERE id = 2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO c:tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'New plain entry', 50, 5.5, '{\"new\":\"entry\"}', (10,11,12), 'new_string', 0, '2025-03-02 10:00:00', (111222333444555666, 777888999000111222), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysqldump -etc --replace --net-buffer-length=16M -u new_username -h0 -P2306 --skip-comments manticore c:tbl1 c:tbl2 c:tbl3 | mysql -h0 -P3306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 2306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 3306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c DROP tbl1;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+-----------+
| Counter           | Value     |
+-------------------+-----------+
| cluster_c_indexes | tbl2,tbl3 |
+-------------------+-----------+
––– input –––
echo 'new, stop, words' > /tmp/new_stopwords.txt; echo $?
––– output –––
0
––– input –––
echo 'dog => canine' > /tmp/new_exceptions.txt; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER TABLE tbl1 stopwords='/tmp/new_stopwords.txt' exceptions='/tmp/new_exceptions.txt';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_1.txt
morphology = stem_en
stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_1.txt
rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE c:tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-2/tbl1/exceptions_chunk0_1.txt
morphology = stem_en
stopwords = /var/log/manticore-2/tbl1/stopwords_chunk0_1.txt
rt_mem_limit = 268435456
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('new runs');"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
––– input –––
mysql -h0 -P1306 -e "INSERT INTO c:tbl1 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'The dog barks', 10, 2.5, '{\"animal\":\"dog\"}', (4,5), 'bark', 1, '2025-01-01 10:00:00', (111222333444555, 666777888999000), (0.5, 0.6, 0.7, 0.8));"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('canine');"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
Data from c:tbl1 on port 2306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
Data from c:tbl1 on port 3306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c DROP tbl2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+-----------+
| Counter           | Value     |
+-------------------+-----------+
| cluster_c_indexes | tbl3,tbl1 |
+-------------------+-----------+
––– input –––
ls /usr/share/manticore/ru.pak
––– output –––
/usr/share/manticore/ru.pak
––– input –––
mysql -h0 -P2306 -e "ALTER TABLE tbl2 morphology='lemmatize_ru';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
morphology = lemmatize_ru
wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
rt_mem_limit = 536870912
––– input –––
mysqldump -etc --replace -u new_username -h0 -P2306 --skip-comments manticore tbl2 | mysql -P2306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO c:tbl2 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Кот прыжки делает', 5, 1.1, '{\"действие\":\"прыжки\"}', (10,11), 'кот', 1, '2025-03-11 12:00:00', (111111111, 222222222), (0.9, 0.8, 0.7, 0.6));"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl2 WHERE MATCH('прыжок');"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
Data from c:tbl2 on port 2306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
Data from c:tbl2 on port 3306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
rm -f /tmp/stopwords.txt /tmp/exceptions.txt /tmp/wordforms.txt /var/lib/manticore/tbl3.conf dump.sql
––– output –––
```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-12T18:11:22Z
body: ## clt
❌ CLT tests in `test/clt-tests/buddy/`
✅ OK: 7
❌ Failed: 1
⏳ Duration: 109s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13818262063) for commit [944b4da](https://github.com/manticoresoftware/manticoresearch/commit/944b4da235580412fa5c5bbb82301bf466fde851)
Failed tests:
<details>
<summary>test/clt-tests/buddy/test-fuzzy-search.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:9312 for sphinx and http(s)
listening on %{IPADDR}:9306 for mysql
listening on %{IPADDR}:9308 for sphinx and http(s)
Buddy started!
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
0
––– input –––
apt-get install jq -y > /dev/null; echo $?
––– output –––
debconf: delaying package configuration, since apt-utils is not installed
0
––– input –––
php -d memory_limit=2G ./test/clt-tests/scripts/load_names_attr.php --batch-size=100000 --concurrency=4 --docs=1000000 --start-id=1 --min-infix-len=2 > /dev/null; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "SHOW CREATE TABLE name;" | grep "min_infix_len='2'" | sed "s/.*\(min_infix_len='2'\).*/\1/"
––– output –––
min_infix_len='2'
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM name;"
––– output –––
+----------+
| count(*) |
+----------+
|  1000000 |
+----------+
––– input –––
mysql -h0 -P9306 -e "OPTIMIZE TABLE name OPTION sync=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('RICH') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+-------------------+------+
| id   | username          | s    |
+------+-------------------+------+
|  196 | BRICE MULLIN      | a    |
|  307 | GRICELDA SKELTON  | a    |
|  363 | LAURICE SOLIZ     | a    |
|  478 | ERICH LLAMAS      | a    |
|  490 | LATRICE MANCILLA  | a    |
|  608 | MAURICE PRATHER   | a    |
|  659 | BRICE OLIVARES    | a    |
|  697 | PATRICE WOOD      | a    |
|  822 | JUNITA RICHARD    | a    |
|  835 | AUREA RICO        | a    |
|  854 | ROXANNE BRICE     | a    |
| 1122 | RICH MOLL         | a    |
| 1134 | JOELLA RICHARD    | a    |
| 1160 | MINDY HEINRICH    | a    |
| 1224 | YADIRA RICHARDSON | a    |
| 1379 | BRICE ALLMAN      | a    |
| 1574 | RICO VALENZUELA   | a    |
| 1602 | BEATRICE LOVE     | a    |
| 1822 | RICHELLE ROE      | a    |
| 2136 | CHIQUITA RICHTER  | a    |
+------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('EBGRNA') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+----------------------+------+
| id   | username             | s    |
+------+----------------------+------+
|  675 | CONCEPTION ABERNATHY | a    |
|  964 | BERNARDINA OSHEA     | a    |
| 1354 | VERNA VITALE         | a    |
| 1784 | BERNADETTE HALES     | a    |
| 1839 | BERNARDINA MCMILLAN  | a    |
| 1864 | ERNA ULLOA           | a    |
| 1948 | SAMIRA ABERNATHY     | a    |
| 2238 | JUDI BERNAL          | a    |
| 2446 | MERNA GAITHER        | a    |
| 3065 | BERNADINE HIBBARD    | a    |
| 3195 | BERNADETTE SHELTON   | a    |
| 3688 | VERNA GASTON         | a    |
| 3781 | BERNARDINE WILKINS   | a    |
| 4370 | ERNA VITALE          | a    |
| 4637 | TARSHA HERNANDEZ     | a    |
| 4662 | FERNANDO HOUCK       | a    |
| 5044 | CONSTANCE ABERNATHY  | a    |
| 5580 | LAVERNA GORMAN       | a    |
| 5582 | FERNANDE ISRAEL      | a    |
| 5798 | LAVERNA STORM        | a    |
+------+----------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('ANT') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+-------------------+------+
| id   | username          | s    |
+------+-------------------+------+
|    8 | DAMIAN SOMERS     | a    |
|   16 | TAMI WHELAN       | a    |
|   19 | DARCY SANDBERG    | a    |
|   20 | RANEE BROUGHTON   | a    |
|   21 | STEPHEN ALLMAN    | a    |
|   30 | AMANDA KEY        | a    |
|   37 | ELFRIEDA HANKS    | a    |
|   41 | NANNIE WILLINGHAM | a    |
|   42 | YOULANDA TROUT    | a    |
|   44 | ANTHONY SMOOT     | a    |
|   47 | FRANCIE BUNDY     | a    |
|   51 | LATASHA POLAND    | a    |
|   53 | SHEMEKA DURAND    | a    |
|   54 | LATANYA ARNDT     | a    |
|   56 | JANELLE LASTER    | a    |
|   57 | NANNIE HANNON     | a    |
|   58 | GRANVILLE VALDEZ  | a    |
|   59 | DEDE SPANN        | a    |
|   60 | DANIEL MERRITT    | a    |
|   63 | SAUL HOWLAND      | a    |
+------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('tony') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+--------------------+------+
| id   | username           | s    |
+------+--------------------+------+
|  118 | ANTONIA VANWINKLE  | a    |
|  220 | ANTONIA MELGAR     | a    |
|  391 | KARYL TONEY        | a    |
|  761 | TONYA SHERRILL     | a    |
| 1527 | LEONE TONEY        | a    |
| 2132 | TONIA RAPP         | a    |
| 2195 | TONIE HOANG        | a    |
| 2333 | LATONIA VILLASENOR | a    |
| 2357 | TONIE BARNHILL     | a    |
| 2430 | TONIA BOSTICK      | a    |
| 2584 | TONI SPENCE        | a    |
| 2725 | ANTONIETTA CINTRON | a    |
| 2881 | ANTONINA HASKELL   | a    |
| 3318 | TONY DUPRE         | a    |
| 3582 | ANTONIETTA BAEZ    | a    |
| 3858 | TONEY SCHOEN       | a    |
| 4366 | ROCHEL TONEY       | a    |
| 4608 | ANTONIA DRISCOLL   | a    |
| 4657 | TONYA PARRIS       | a    |
| 4800 | TONY WEISS         | a    |
+------+--------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
~ +--------+-------------------+------+
~ | id     | username          | s    |
~ +--------+-------------------+------+
~ | 999973 | KEITH SNOW        | a    |
~ | 999855 | DOROTHA WISEMAN250 | MINH LANDERS    | a    |
~ | 999723 | SCOTT OLSON   7815 | MINH GOODWIN    | a    |
~ | 999264 | RUTHANN GREENE6259 | MINH WILD       | a    |
~ | 999250 | MINH LANDERS     6078 | CHRISTENE KEITH | a    |
~ | 999127 | MALENA RUTHERFORD5989 | KEITH PARNELL   | a    |
~ | 999120 | RUTHANNE CARDOS5593 | KEITHA MURILLO  | a    |
~ | 998893 | IRWIN SOUTHARD   3855 | MINH POINDEXTER | a    |
~ | 998691 | MITCHELL SEITZ3408 | KEITH OKEEFE    | a    |
~ | 998539 | ELSA SEITZ   3273 | CAREY KEITH     | a    |
~ | 998526 | SCOTT CARRION   2679 | KEITHA KILLIAN  | a    |
~ | 997945 | RUTHE SCHENK2597 | MARA KEITH      | a    |
~ | 997815 | MINH GOODWIN     2056 | KEITH SYLVESTER | a    |
~ | 997558 | ARTIE SOUTH 1206 | MINH FAHEY      | a    |
~ | 997189 | BETTY SOUTHERN  0556 | KEITHA MARTINI  | a    |
~ | 997187 | SUSAN SCOTT     89718 | KEITH FLAHERTY  | a    |
~ | 997098 | OTHA FAJARDO  87159 | MINH PARNELL    | a    |
~ | 997074 | SCOTT FLANDERS86143 | KEITHA YUAN     | a    |
~ | 996804 | SCOTT ENOS    85925 | VENITA SMYTH    | a    |
~ | 996461 | EDRA HIGGINBOTHAM84631 | KEITH LERNER    | a    |
~ +--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
~ +--------+-------------------+------+
~ | id     | username          | s    |
~ +--------+-------------------+------+
~ | 999973 | KEITH SNOW        | a    |
~ | 999855 | DOROTHA WISEMAN250 | MINH LANDERS    | a    |
~ | 999723 | SCOTT OLSON   7815 | MINH GOODWIN    | a    |
~ | 999264 | RUTHANN GREENE6259 | MINH WILD       | a    |
~ | 999250 | MINH LANDERS     6078 | CHRISTENE KEITH | a    |
~ | 999127 | MALENA RUTHERFORD5989 | KEITH PARNELL   | a    |
~ | 999120 | RUTHANNE CARDOS5593 | KEITHA MURILLO  | a    |
~ | 998893 | IRWIN SOUTHARD   3855 | MINH POINDEXTER | a    |
~ | 998691 | MITCHELL SEITZ3408 | KEITH OKEEFE    | a    |
~ | 998539 | ELSA SEITZ   3273 | CAREY KEITH     | a    |
~ | 998526 | SCOTT CARRION   2679 | KEITHA KILLIAN  | a    |
~ | 997945 | RUTHE SCHENK2597 | MARA KEITH      | a    |
~ | 997815 | MINH GOODWIN     2056 | KEITH SYLVESTER | a    |
~ | 997558 | ARTIE SOUTH 1206 | MINH FAHEY      | a    |
~ | 997189 | BETTY SOUTHERN  0556 | KEITHA MARTINI  | a    |
~ | 997187 | SUSAN SCOTT     89718 | KEITH FLAHERTY  | a    |
~ | 997098 | OTHA FAJARDO  87159 | MINH PARNELL    | a    |
~ | 997074 | SCOTT FLANDERS86143 | KEITHA YUAN     | a    |
~ | 996804 | SCOTT ENOS    85925 | VENITA SMYTH    | a    |
~ | 996461 | EDRA HIGGINBOTHAM84631 | KEITH LERNER    | a    |
~ +--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMYTH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
~ +--------+---------------------+------+
~ | id     | username            | s    |
~ +--------+---------------------+------+
~ | 999973 | KEITH SNOW  8893 | IRWIN SOUTHARD      | a    |
~ | 999964 | CANDACE BOOTH8000 | EDYTH CARLISLE      | a    |
~ | 999855 | DOROTHA WISEMAN7558 | ARTIE SOUTH         | a    |
~ | 999723 | SCOTT OLSON 7189 | BETTY SOUTHERN      | a    |
~ | 999264 | RUTHANN GREENE   5514 | LAVELLE SOUTHERLAND | a    |
~ | 999197 | HEATH MCNAMARA5220 | EDYTHE DEGUZMAN     | a    |
~ | 999127 | MALENA RUTHERFORD5208 | MARLON SOUTHERN     | a    |
~ | 999120 | RUTHANNE CARDOSO4472 | EDYTHE PYLE         | a    |
~ | 999013 | HEATHER HAMMOCK3920 | YANG SOUTH          | a    |
~ | 998893 | IRWIN SOUTHARD3906 | SETH BATTLES        | a    |
~ | 998526 | SCOTT CARRION3838 | EDYTHE ZENG         | a    |
~ | 998000 | EDYTH CARLISLE3509 | SETH GRIFFITH       | a    |
~ | 997945 | RUTHE SCHENK3488 | EDYTH BATTEN        | a    |
~ | 997558 | ARTIE SOUTH3140 | LYN SOUTHERN        | a    |
~ | 997544 | HEATHER CLAUSEN2255 | TRENTON SOUTHERN    | a    |
~ | 997189 | BETTY SOUTHERN2085 | ASHLYN SOUTH        | a    |
~ | 997187 | SUSAN SCOTT    1919 | LELAH SOUTHERLAND   | a    |
~ | 997098 | OTHA FAJARDO89609 | EDYTH NOVAK         | a    |
~ | 997074 | SCOTT FLANDERS87549 | EMILIA SOUTH        | a    |
~ | 996804 | SCOTT ENOS87177 | SETH KOZAK          | a    |
~ +--------+---------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy="1";"
––– output –––
~ +--------+-------------------+------+
~ | id     | username          | s    |
~ +--------+-------------------+------+
~ | 999973 | KEITH SNOW        | a    |
~ | 999855 | DOROTHA WISEMAN250 | MINH LANDERS    | a    |
~ | 999723 | SCOTT OLSON   7815 | MINH GOODWIN    | a    |
~ | 999264 | RUTHANN GREENE6259 | MINH WILD       | a    |
~ | 999250 | MINH LANDERS     6078 | CHRISTENE KEITH | a    |
~ | 999127 | MALENA RUTHERFORD5989 | KEITH PARNELL   | a    |
~ | 999120 | RUTHANNE CARDOS5593 | KEITHA MURILLO  | a    |
~ | 998893 | IRWIN SOUTHARD   3855 | MINH POINDEXTER | a    |
~ | 998691 | MITCHELL SEITZ3408 | KEITH OKEEFE    | a    |
~ | 998539 | ELSA SEITZ   3273 | CAREY KEITH     | a    |
~ | 998526 | SCOTT CARRION   2679 | KEITHA KILLIAN  | a    |
~ | 997945 | RUTHE SCHENK2597 | MARA KEITH      | a    |
~ | 997815 | MINH GOODWIN     2056 | KEITH SYLVESTER | a    |
~ | 997558 | ARTIE SOUTH 1206 | MINH FAHEY      | a    |
~ | 997189 | BETTY SOUTHERN  0556 | KEITHA MARTINI  | a    |
~ | 997187 | SUSAN SCOTT     89718 | KEITH FLAHERTY  | a    |
~ | 997098 | OTHA FAJARDO  87159 | MINH PARNELL    | a    |
~ | 997074 | SCOTT FLANDERS86143 | KEITHA YUAN     | a    |
~ | 996804 | SCOTT ENOS    85925 | VENITA SMYTH    | a    |
~ | 996461 | EDRA HIGGINBOTHAM84631 | KEITH LERNER    | a    |
~ +--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('john') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
+--------+------------------------+------+
| id     | username               | s    |
+--------+------------------------+------+
| 999961 | JONELL ENRIGHT         | a    |
| 999932 | JONELL NIX             | a    |
| 999926 | JONAH BURNSIDE         | a    |
| 999922 | LAVONNA JONAS          | a    |
| 999860 | JOHNETTA DO            | a    |
| 999552 | JOHNNY CARNES          | a    |
| 999548 | JOHNATHAN PEPPER       | a    |
| 999509 | JOHNATHAN STUBBLEFIELD | a    |
| 999171 | JOHNNY ABRAMS          | a    |
| 999033 | AGNUS STJOHN           | a    |
| 998835 | SCARLETT JONAS         | a    |
| 998798 | JOHNATHON READ         | a    |
| 998467 | JOHNSON JEAN           | a    |
| 998393 | JOHN BACH              | a    |
| 998306 | JOHNNY TAFOYA          | a    |
| 998304 | JONG SAUER             | a    |
| 998303 | JONATHON DUPRE         | a    |
| 998278 | JOHNNIE LOR            | a    |
| 998181 | JONA ELROD             | a    |
| 998154 | JONG YORK              | a    |
+--------+------------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('jane') AND id BETWEEN 10000 AND 20000 ORDER BY username ASC OPTION fuzzy=1;"
––– output –––
+-------+--------------------+------+
| id    | username           | s    |
+-------+--------------------+------+
| 10028 | ANJANETTE PORTILLO | a    |
| 10056 | JANETTE LYNCH      | a    |
| 10629 | LANETTE SWAIN      | a    |
| 10874 | JANESSA MONTEZ     | a    |
| 10977 | RUTHANN LANEY      | a    |
| 11038 | DESIRE LANE        | a    |
| 11056 | LANELLE WATTS      | a    |
| 11397 | MELITA LANE        | a    |
| 11415 | MARYJANE HOLTZ     | a    |
| 11569 | JANETH SELBY       | a    |
| 11758 | JANETTE GANTT      | a    |
| 11834 | JANELLE DRIGGERS   | a    |
| 12100 | JAE COBLE          | a    |
| 12171 | JAE MEARS          | a    |
| 12185 | JANESSA BALTAZAR   | a    |
| 12237 | JANENE APODACA     | a    |
| 12490 | LANELLE ARNDT      | a    |
| 12536 | JANENE WALDRON     | a    |
| 12540 | ANJANETTE STAGGS   | a    |
| 12642 | HERSHEL LANEY      | a    |
+-------+--------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('EBGRNA') AND id BETWEEN 1000 AND 2000 ORDER BY username ASC OPTION fuzzy=1;"
––– output –––
+------+---------------------+------+
| id   | username            | s    |
+------+---------------------+------+
| 1354 | VERNA VITALE        | a    |
| 1784 | BERNADETTE HALES    | a    |
| 1839 | BERNARDINA MCMILLAN | a    |
| 1864 | ERNA ULLOA          | a    |
| 1948 | SAMIRA ABERNATHY    | a    |
+------+---------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SARA') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+------------------+------+
| id   | username         | s    |
+------+------------------+------+
|  188 | LARA KIRK        | a    |
|  207 | CLARA MORRIS     | a    |
|  351 | KLARA DONALDSON  | a    |
|  990 | ELAINE SARABIA   | a    |
| 1409 | LARA FREDERICK   | a    |
| 1661 | SARA GARNER      | a    |
| 1831 | SARAI ESPINAL    | a    |
| 2074 | VALENTIN SARABIA | a    |
| 2930 | LARA CINTRON     | a    |
| 3045 | KLARA ANDRES     | a    |
| 3373 | KLARA NORTON     | a    |
| 3741 | CRUZ SARABIA     | a    |
| 3780 | RUSSEL LARA      | a    |
| 4700 | HEE SARABIA      | a    |
| 4933 | KLARA GOODING    | a    |
| 5830 | SARAI LINDLEY    | a    |
| 5865 | SARAN KNAPP      | a    |
| 5918 | SARA WAITE       | a    |
| 6635 | CLARA BEALE      | a    |
| 6836 | CLARA BAZAN      | a    |
+------+------------------+------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS fuzziness);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'us,ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 0 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnson |
| jonas   |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS prepend, 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS fuzziness, '' AS layouts, 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 2 AS fuzziness, 'us,ru' AS layouts, 1 AS append, 1 AS prepend, 2 AS expansion_len);" | tail -n +4 | sort
––– output –––
+-------+
| joe   |
| john  |
| jose  |
| joy   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'us' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('al', 'name', 0 AS fuzziness);" | tail -n +4 | sort
––– output –––
+-----------+
| albert    |
| alexander |
| allen     |
| dale      |
| dallas    |
| donald    |
| gale      |
| kendall   |
| marshall  |
| walter    |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('mi', 'name', 0 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| ami     |
| britni  |
| brittni |
| cami    |
| choi    |
| darci   |
| eleni   |
| jami    |
| jani    |
| jeni    |
| joi     |
| kaci    |
| kami    |
| kimi    |
| laci    |
| lani    |
| luci    |
| mancini |
| marci   |
| martini |
| melani  |
| muoi    |
| nanci   |
| neomi   |
| noemi   |
| nohemi  |
| ricci   |
| shani   |
| staci   |
| tammi   |
| toi     |
| tomi    |
| traci   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('ch', 'name', 1 AS fuzziness, 3 AS expansion_len);" | tail -n +4 | sort
––– output –––
+-------+
| chang |
| chi   |
| chong |
| chung |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('зф', 'name', 'us,ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| page    |
| paige   |
| palma   |
| palmer  |
| paris   |
| parker  |
| pat     |
| patrick |
| paul    |
| paz     |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('зф', 'name', 'us' AS layouts);" | tail -n +4 | sort
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('gr', 'name', 1 AS fuzziness, 'ru' AS layouts, 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+------------+
| grace      |
| gracia     |
| grady      |
| graham     |
| grant      |
| gregg      |
| gregory    |
| griffin    |
| grover     |
| montenegro |
––– input –––
mysql -h0 -P9306 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); select * from t where match('somethin') option fuzzy=0;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "select * from t where match('somethin') option fuzzy=0;"
––– output –––
––– input –––
mysql -P9306 -h0 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); call autocomplete('some', 't');"
––– output –––
+-----------+
| query     |
+-----------+
| some      |
| something |
+-----------+
––– input –––
mysql -P9306 -h0 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); call autocomplete('some', 't');"
––– output –––
+-----------+
| query     |
+-----------+
| some      |
| something |
+-----------+
––– input –––
mysql -h0 -P9306 -e "drop table if exists t; create table t(a int);"
––– output –––
––– input –––
mysql -h0 -P9306 -e "select * from t option fuzzy=1;"
––– output –––
ERROR 1064 (42000) at line 1: The 'fuzzy' option requires a full-text query
––– input –––
mysql -h0 -P9306 -e "drop table if exists comment_28798446; create table comment_28798446(id int, content text) min_infix_len='3';"
––– output –––
––– input –––
mysql -h0 -P9306 -e "insert into comment_28798446 values (1, 'business Manticore interaction'), (2, 'buisness Manticore interation'), (3, 'other text content');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('buisness Manticore interation') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('business Manticore interaction') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('Manticore') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('bus', 'comment_28798446', 'ru,us,ua' AS layouts);"
––– output –––
+----------+
| query    |
+----------+
| business |
+----------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('bus', 'comment_28798446', '' AS layouts);"
––– output –––
+----------+
| query    |
+----------+
| business |
+----------+
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS t; DEBUG SLEEP 2; CREATE TABLE t(f TEXT) min_infix_len='2';"
––– output –––
+---------+--------+
| command | result |
+---------+--------+
| sleep   | #!/[0-9]{1}.[0-9]{3}/!#  |
+---------+--------+
––– input –––
mysql -h0 -P9306 -e "INSERT INTO t VALUES (1, 'abcdef'), (2, 'abcd efgh');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcdef'); SHOW META;"
––– output –––
+------+--------+
| id   | f      |
+------+--------+
|    1 | abcdef |
+------+--------+
+----------------+--------+
| Variable_name  | Value  |
+----------------+--------+
| total          | 1      |
| total_found    | 1      |
| total_relation | eq     |
| time           | #!/[0-9]{1}.[0-9]{3}/!#  |
| keyword[0]     | abcdef |
| docs[0]        | 1      |
| hits[0]        | 1      |
+----------------+--------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcef') OPTION fuzzy=1; SHOW META;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| total          | 2     |
| total_found    | 2     |
| total_relation | eq    |
| time           | #!/[0-9]{1}.[0-9]{3}/!# |
+----------------+-------+
––– input –––
grep -A3 "SELECT \* FROM t WHERE MATCH('abcdef')" /var/log/manticore/query.log
––– output –––
/* #!/[A-Za-z]{3}\s+[A-Za-z]{3}\s+[0-9]{1,2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}\s+[0-9]{4}/!# conn %{NUMBER} (127.0.0.1:%{NUMBER}) real #!/[0-9]{1}.[0-9]{3}/!# wall #!/[0-9]{1}.[0-9]{3}/!# found 1 */ SELECT * FROM t WHERE MATCH('abcdef');
/* #!/[A-Za-z]{3}\s+[A-Za-z]{3}\s+[0-9]{1,2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}\s+[0-9]{4}/!# conn %{NUMBER} (127.0.0.1:%{NUMBER}) real #!/[0-9]{1}.[0-9]{3}/!# wall #!/[0-9]{1}.[0-9]{3}/!# found 2 */ SELECT * FROM t WHERE MATCH('abcef') OPTION fuzzy=1;
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('nonexistent'); SHOW META;"
––– output –––
+----------------+-------------+
| Variable_name  | Value       |
+----------------+-------------+
| total          | 0           |
| total_found    | 0           |
| total_relation | eq          |
| time           | #!/[0-9]{1}.[0-9]{3}/!#       |
| keyword[0]     | nonexistent |
| docs[0]        | 0           |
| hits[0]        | 0           |
+----------------+-------------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcdef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('\$#@\!') OPTION fuzzy=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS idx1; CREATE TABLE idx1(value TEXT) min_infix_len='2';"
––– output –––
––– input –––
mysql -h0 -P9306 -e "INSERT INTO idx1(value) VALUES ('340');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('34', 'idx1');"
––– output –––
+-------+
| query |
+-------+
| 340   |
+-------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('3', 'idx1');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('34', 'idx1', 1 AS fuzziness);"
––– output –––
+-------+
| query |
+-------+
| 340   |
+-------+
––– input –––
echo -e "searchd {\nlisten = 9306:mysql\nlisten = 9312\nlisten = 9308:http\nlog = /tmp/searchd.log\nquery_log = /tmp/query.log\npid_file = /tmp/searchd.pid\n}\n\nsource src_idx {\ntype = tsvpipe\ntsvpipe_command = cat /tmp/data.tsv\ntsvpipe_field_string = f\ntsvpipe_attr_bigint = id\n}\n\nindex idx_plain {\ntype = plain\nsource = src_idx\npath = /tmp/idx_plain\nmin_infix_len = 2\n}" > /tmp/manticore_idx.conf
––– output –––
––– input –––
echo -e "1\tabcdef\n2\tabcd efgh\n3\trandom text" > /tmp/data.tsv
––– output –––
––– input –––
mkdir -p /tmp/idx_plain && chmod 777 /tmp/idx_plain
––– output –––
––– input –––
indexer --all --config /tmp/manticore_idx.conf > /dev/null 2>&1
––– output –––
––– input –––
rm -f /tmp/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd -c /tmp/manticore_idx.conf; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/tmp/manticore_idx.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on all interfaces for mysql, port=9306
listening on all interfaces for sphinx and http(s), port=9312
listening on all interfaces for sphinx and http(s), port=9308
precaching table 'idx_plain'
precached 1 tables in #!/[0-9]{1,2}.[0-9]+/!# sec
Buddy started!
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES;"
––– output –––
+-----------+-------+
| Table     | Type  |
+-----------+-------+
| idx_plain | local |
+-----------+-------+
––– input –––
mysql -h0 -P9306 -e "SHOW TABLE idx_plain SETTINGS;"
––– output –––
+---------------+-------------------+
| Variable_name | Value             |
+---------------+-------------------+
| settings      | min_infix_len = 2 |
+---------------+-------------------+
––– input –––
mysql -h0 -P9306 -e "show version\G;"
––– output –––
*************************** 1. row ***************************
Component: Daemon
Version: %{VERSION}
*************************** 2. row ***************************
Component: Columnar
Version: columnar %{VERSION}
*************************** 3. row ***************************
Component: Secondary
Version: secondary %{VERSION}
*************************** 4. row ***************************
Component: KNN
Version: knn %{VERSION}
*************************** 5. row ***************************
Component: Buddy
Version: buddy %{VERSION}
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcdef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('nonexistent') OPTION fuzzy=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('abc', 'idx_plain');"
––– output –––
+--------+
| query  |
+--------+
| abcd   |
| abcdef |
+--------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('ran', 'idx_plain');"
––– output –––
+--------+
| query  |
+--------+
| random |
+--------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('zzz', 'idx_plain');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcdef') OPTION fuzzy=0;"
––– output –––
+------+--------+
| id   | f      |
+------+--------+
|    1 | abcdef |
+------+--------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcd efgh') OPTION fuzzy=0;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    2 | abcd efgh |
+------+-----------+
```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-12T18:15:56Z
body: ## clt
❌ CLT tests in `test/clt-tests/core/
test/clt-tests/expected-errors/`
✅ OK: 38
❌ Failed: 1
⏳ Duration: 379s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13818262063) for commit [944b4da](https://github.com/manticoresoftware/manticoresearch/commit/944b4da235580412fa5c5bbb82301bf466fde851)
Failed tests:
<details>
<summary>test/clt-tests/core/show-settings.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
mysql -h0 -P1306 -e "SHOW SETTINGS;"
––– output –––
+----------------------------+------------------------------------------------------------+
| Setting_name               | Value                                                      |
+----------------------------+------------------------------------------------------------+
| configuration_file         | /.clt/test/clt-tests/base/searchd-with-flexible-ports.conf |
~ | worker_pid                 | 3126                                                         |
| searchd.listen             | %{IPADDR}:%{NUMBER}:mysql41                                     |
| searchd.listen             | %{IPADDR}:%{NUMBER}                                             |
| searchd.listen             | %{IPADDR}:%{NUMBER}:http                                        |
| searchd.log                | /var/log/manticore-1/searchd.log                           |
| searchd.query_log          | /var/log/manticore-1/query.log                             |
| searchd.pid_file           | /var/log/manticore-1/searchd.pid                           |
| searchd.data_dir           | /var/log/manticore-1                                       |
| searchd.query_log_format   | sphinxql                                                   |
| searchd.query_log_commands | 1                                                          |
| searchd.binlog_path        | /var/log/manticore-1/binlog                                |
| common.plugin_dir          | /usr/local/lib/manticore                                   |
| common.lemmatizer_base     | /usr/share/manticore/                                      |
+----------------------------+------------------------------------------------------------+
```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-12T20:51:25Z
body: ## clt
❌ CLT tests in `test/clt-tests/replication/`
✅ OK: 2
❌ Failed: 1
⏳ Duration: 45s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13821068392) for commit [c7a5f4f](https://github.com/manticoresoftware/manticoresearch/commit/c7a5f4f806a82457b5a3ca4da298e59b2c629fa9)
Failed tests:
<details>
<summary>test/clt-tests/replication/test-replication-with-mysqldump.rec</summary>

```diff
––– input –––
export LANG=en_US.UTF-8
––– output –––
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export CLUSTER_NAME=c
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
echo 'the, and, of' > /tmp/stopwords.txt
––– output –––
––– input –––
echo 'cat => feline' > /tmp/exceptions.txt
––– output –––
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl1 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' exceptions='/tmp/exceptions.txt' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_0.txt
morphology = stem_en
stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_0.txt
rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl1 VALUES (1, 'The cat runs', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
echo 'fast => faster' > /tmp/wordforms.txt
––– output –––
––– input –––
iconv -f UTF-8 -t UTF-8 -c /tmp/stopwords.txt -o /tmp/stopwords.txt; iconv -f UTF-8 -t UTF-8 -c /tmp/exceptions.txt -o /tmp/exceptions.txt;iconv -f UTF-8 -t UTF-8 -c /tmp/wordforms.txt -o /tmp/wordforms.txt
––– output –––
––– input –––
grep -axv '.*' /tmp/stopwords.txt && echo "stopwords.txt: НЕ UTF-8" || echo "stopwords.txt: UTF-8"; grep -axv '.*' /tmp/exceptions.txt && echo "exceptions.txt: НЕ UTF-8" || echo "exceptions.txt: UTF-8"; grep -axv '.*' /tmp/wordforms.txt && echo "wordforms.txt: НЕ UTF-8" || echo "wordforms.txt: UTF-8"
––– output –––
stopwords.txt: UTF-8
exceptions.txt: UTF-8
wordforms.txt: UTF-8
––– input –––
mysql -h0 -P2306 -e "CREATE TABLE tbl2 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' morphology='stem_ru' wordforms='/tmp/wordforms.txt' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
morphology = stem_ru
wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
rt_mem_limit = 536870912
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (1, 'Русский fast текст', 84, 2.71, '{\"ключ\":\"значение\"}', (4,5,6), 'строка', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (2, 'Быстрый прыжок', 19, 1.62, '{\"действие\":\"прыжок\",\"число\":3}', (7,8,9), 'пример', 1, '2024-06-10 15:45:00', (345678901234567890, 567890123456789012), (0.8, 0.7, 0.6, 0.5));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"
––– output –––
––– input –––
mysql -h0 -P3306 -e "CREATE TABLE tbl3 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "SHOW TABLE tbl3 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
rt_mem_limit = 536870912
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Plain example', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "ALTER CLUSTER c ADD tbl3;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+----------------+
| Counter           | Value          |
+-------------------+----------------+
| cluster_c_indexes | tbl1,tbl2,tbl3 |
+-------------------+----------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 2306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 3306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO c:tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysqldump -etc --replace -u cluster -h0 -P1306 --skip-comments manticore c:tbl1 | mysql -h0 -P1306; echo $?
––– output –––
- 0
+ -- Warning: version string returned by server is incorrect.
+ -- Warning: column statistics not supported by the server.
+ 0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do mysql -h0 -P$port -e "SET GLOBAL cluster_user = 'new_username';"; done
––– output –––
––– input –––
for port in 1306 2306 3306; do timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW VARIABLES LIKE 'cluster_user';\" | grep -q '| cluster_user  | new_username |'; do sleep 1; done" && echo "Port $port: cluster_user is new_username." || { echo "Port $port: cluster_user is not new_username."; exit 1; }; done
––– output –––
Port 1306: cluster_user is new_username.
Port 2306: cluster_user is new_username.
Port 3306: cluster_user is new_username.
––– input –––
mysql -h0 -P2306 -e "DELETE FROM c:tbl2 WHERE id = 2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO c:tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'New plain entry', 50, 5.5, '{\"new\":\"entry\"}', (10,11,12), 'new_string', 0, '2025-03-02 10:00:00', (111222333444555666, 777888999000111222), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysqldump -etc --replace --net-buffer-length=16M -u new_username -h0 -P2306 --skip-comments manticore c:tbl1 c:tbl2 c:tbl3 | mysql -h0 -P3306; echo $?
––– output –––
- 0
+ -- Warning: version string returned by server is incorrect.
+ -- Warning: column statistics not supported by the server.
+ 0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 2306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 3306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c DROP tbl1;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+-----------+
| Counter           | Value     |
+-------------------+-----------+
| cluster_c_indexes | tbl2,tbl3 |
+-------------------+-----------+
––– input –––
echo 'new, stop, words' > /tmp/new_stopwords.txt; echo $?
––– output –––
0
––– input –––
echo 'dog => canine' > /tmp/new_exceptions.txt; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER TABLE tbl1 stopwords='/tmp/new_stopwords.txt' exceptions='/tmp/new_exceptions.txt';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_1.txt
morphology = stem_en
stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_1.txt
rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE c:tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-2/tbl1/exceptions_chunk0_1.txt
morphology = stem_en
stopwords = /var/log/manticore-2/tbl1/stopwords_chunk0_1.txt
rt_mem_limit = 268435456
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('new runs');"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
––– input –––
mysql -h0 -P1306 -e "INSERT INTO c:tbl1 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'The dog barks', 10, 2.5, '{\"animal\":\"dog\"}', (4,5), 'bark', 1, '2025-01-01 10:00:00', (111222333444555, 666777888999000), (0.5, 0.6, 0.7, 0.8));"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('canine');"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
Data from c:tbl1 on port 2306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
Data from c:tbl1 on port 3306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c DROP tbl2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+-----------+
| Counter           | Value     |
+-------------------+-----------+
| cluster_c_indexes | tbl3,tbl1 |
+-------------------+-----------+
––– input –––
ls /usr/share/manticore/ru.pak
––– output –––
/usr/share/manticore/ru.pak
––– input –––
mysql -h0 -P2306 -e "ALTER TABLE tbl2 morphology='lemmatize_ru';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
morphology = lemmatize_ru
wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
rt_mem_limit = 536870912
––– input –––
mysqldump -etc --replace -u new_username -h0 -P2306 --skip-comments manticore tbl2 | mysql -P2306 -h0; echo $?
––– output –––
- 0
+ -- Warning: version string returned by server is incorrect.
+ -- Warning: column statistics not supported by the server.
+ 0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO c:tbl2 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Кот прыжки делает', 5, 1.1, '{\"действие\":\"прыжки\"}', (10,11), 'кот', 1, '2025-03-11 12:00:00', (111111111, 222222222), (0.9, 0.8, 0.7, 0.6));"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl2 WHERE MATCH('прыжок');"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
Data from c:tbl2 on port 2306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
Data from c:tbl2 on port 3306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
rm -f /tmp/stopwords.txt /tmp/exceptions.txt /tmp/wordforms.txt /var/lib/manticore/tbl3.conf dump.sql
––– output –––
```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-12T20:52:00Z
body: ## clt
❌ CLT tests in `test/clt-tests/buddy/`
✅ OK: 7
❌ Failed: 1
⏳ Duration: 104s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13821068392) for commit [c7a5f4f](https://github.com/manticoresoftware/manticoresearch/commit/c7a5f4f806a82457b5a3ca4da298e59b2c629fa9)
Failed tests:
<details>
<summary>test/clt-tests/buddy/test-fuzzy-search.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:9312 for sphinx and http(s)
listening on %{IPADDR}:9306 for mysql
listening on %{IPADDR}:9308 for sphinx and http(s)
Buddy started!
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
0
––– input –––
apt-get install jq -y > /dev/null; echo $?
––– output –––
debconf: delaying package configuration, since apt-utils is not installed
0
––– input –––
php -d memory_limit=2G ./test/clt-tests/scripts/load_names_attr.php --batch-size=100000 --concurrency=4 --docs=1000000 --start-id=1 --min-infix-len=2 > /dev/null; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "SHOW CREATE TABLE name;" | grep "min_infix_len='2'" | sed "s/.*\(min_infix_len='2'\).*/\1/"
––– output –––
min_infix_len='2'
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM name;"
––– output –––
+----------+
| count(*) |
+----------+
|  1000000 |
+----------+
––– input –––
mysql -h0 -P9306 -e "OPTIMIZE TABLE name OPTION sync=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('RICH') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+-------------------+------+
| id   | username          | s    |
+------+-------------------+------+
|  196 | BRICE MULLIN      | a    |
|  307 | GRICELDA SKELTON  | a    |
|  363 | LAURICE SOLIZ     | a    |
|  478 | ERICH LLAMAS      | a    |
|  490 | LATRICE MANCILLA  | a    |
|  608 | MAURICE PRATHER   | a    |
|  659 | BRICE OLIVARES    | a    |
|  697 | PATRICE WOOD      | a    |
|  822 | JUNITA RICHARD    | a    |
|  835 | AUREA RICO        | a    |
|  854 | ROXANNE BRICE     | a    |
| 1122 | RICH MOLL         | a    |
| 1134 | JOELLA RICHARD    | a    |
| 1160 | MINDY HEINRICH    | a    |
| 1224 | YADIRA RICHARDSON | a    |
| 1379 | BRICE ALLMAN      | a    |
| 1574 | RICO VALENZUELA   | a    |
| 1602 | BEATRICE LOVE     | a    |
| 1822 | RICHELLE ROE      | a    |
| 2136 | CHIQUITA RICHTER  | a    |
+------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('EBGRNA') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+----------------------+------+
| id   | username             | s    |
+------+----------------------+------+
|  675 | CONCEPTION ABERNATHY | a    |
|  964 | BERNARDINA OSHEA     | a    |
| 1354 | VERNA VITALE         | a    |
| 1784 | BERNADETTE HALES     | a    |
| 1839 | BERNARDINA MCMILLAN  | a    |
| 1864 | ERNA ULLOA           | a    |
| 1948 | SAMIRA ABERNATHY     | a    |
| 2238 | JUDI BERNAL          | a    |
| 2446 | MERNA GAITHER        | a    |
| 3065 | BERNADINE HIBBARD    | a    |
| 3195 | BERNADETTE SHELTON   | a    |
| 3688 | VERNA GASTON         | a    |
| 3781 | BERNARDINE WILKINS   | a    |
| 4370 | ERNA VITALE          | a    |
| 4637 | TARSHA HERNANDEZ     | a    |
| 4662 | FERNANDO HOUCK       | a    |
| 5044 | CONSTANCE ABERNATHY  | a    |
| 5580 | LAVERNA GORMAN       | a    |
| 5582 | FERNANDE ISRAEL      | a    |
| 5798 | LAVERNA STORM        | a    |
+------+----------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('ANT') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+-------------------+------+
| id   | username          | s    |
+------+-------------------+------+
|    8 | DAMIAN SOMERS     | a    |
|   16 | TAMI WHELAN       | a    |
|   19 | DARCY SANDBERG    | a    |
|   20 | RANEE BROUGHTON   | a    |
|   21 | STEPHEN ALLMAN    | a    |
|   30 | AMANDA KEY        | a    |
|   37 | ELFRIEDA HANKS    | a    |
|   41 | NANNIE WILLINGHAM | a    |
|   42 | YOULANDA TROUT    | a    |
|   44 | ANTHONY SMOOT     | a    |
|   47 | FRANCIE BUNDY     | a    |
|   51 | LATASHA POLAND    | a    |
|   53 | SHEMEKA DURAND    | a    |
|   54 | LATANYA ARNDT     | a    |
|   56 | JANELLE LASTER    | a    |
|   57 | NANNIE HANNON     | a    |
|   58 | GRANVILLE VALDEZ  | a    |
|   59 | DEDE SPANN        | a    |
|   60 | DANIEL MERRITT    | a    |
|   63 | SAUL HOWLAND      | a    |
+------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('tony') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+--------------------+------+
| id   | username           | s    |
+------+--------------------+------+
|  118 | ANTONIA VANWINKLE  | a    |
|  220 | ANTONIA MELGAR     | a    |
|  391 | KARYL TONEY        | a    |
|  761 | TONYA SHERRILL     | a    |
| 1527 | LEONE TONEY        | a    |
| 2132 | TONIA RAPP         | a    |
| 2195 | TONIE HOANG        | a    |
| 2333 | LATONIA VILLASENOR | a    |
| 2357 | TONIE BARNHILL     | a    |
| 2430 | TONIA BOSTICK      | a    |
| 2584 | TONI SPENCE        | a    |
| 2725 | ANTONIETTA CINTRON | a    |
| 2881 | ANTONINA HASKELL   | a    |
| 3318 | TONY DUPRE         | a    |
| 3582 | ANTONIETTA BAEZ    | a    |
| 3858 | TONEY SCHOEN       | a    |
| 4366 | ROCHEL TONEY       | a    |
| 4608 | ANTONIA DRISCOLL   | a    |
| 4657 | TONYA PARRIS       | a    |
| 4800 | TONY WEISS         | a    |
+------+--------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
~ +--------+-------------------+------+
~ | id     | username          | s    |
~ +--------+-------------------+------+
~ | 999973 | KEITH SNOW        | a    |
~ | 999855 | DOROTHA WISEMAN250 | MINH LANDERS    | a    |
~ | 999723 | SCOTT OLSON   7815 | MINH GOODWIN    | a    |
~ | 999264 | RUTHANN GREENE6259 | MINH WILD       | a    |
~ | 999250 | MINH LANDERS     6078 | CHRISTENE KEITH | a    |
~ | 999127 | MALENA RUTHERFORD5989 | KEITH PARNELL   | a    |
~ | 999120 | RUTHANNE CARDOS5593 | KEITHA MURILLO  | a    |
~ | 998893 | IRWIN SOUTHARD   3855 | MINH POINDEXTER | a    |
~ | 998691 | MITCHELL SEITZ3408 | KEITH OKEEFE    | a    |
~ | 998539 | ELSA SEITZ   3273 | CAREY KEITH     | a    |
~ | 998526 | SCOTT CARRION   2679 | KEITHA KILLIAN  | a    |
~ | 997945 | RUTHE SCHENK2597 | MARA KEITH      | a    |
~ | 997815 | MINH GOODWIN     2056 | KEITH SYLVESTER | a    |
~ | 997558 | ARTIE SOUTH 1206 | MINH FAHEY      | a    |
~ | 997189 | BETTY SOUTHERN  0556 | KEITHA MARTINI  | a    |
~ | 997187 | SUSAN SCOTT     89718 | KEITH FLAHERTY  | a    |
~ | 997098 | OTHA FAJARDO  87159 | MINH PARNELL    | a    |
~ | 997074 | SCOTT FLANDERS86143 | KEITHA YUAN     | a    |
~ | 996804 | SCOTT ENOS    85925 | VENITA SMYTH    | a    |
~ | 996461 | EDRA HIGGINBOTHAM84631 | KEITH LERNER    | a    |
~ +--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
~ +--------+-------------------+------+
~ | id     | username          | s    |
~ +--------+-------------------+------+
~ | 999973 | KEITH SNOW        | a    |
~ | 999855 | DOROTHA WISEMAN250 | MINH LANDERS    | a    |
~ | 999723 | SCOTT OLSON   7815 | MINH GOODWIN    | a    |
~ | 999264 | RUTHANN GREENE6259 | MINH WILD       | a    |
~ | 999250 | MINH LANDERS     6078 | CHRISTENE KEITH | a    |
~ | 999127 | MALENA RUTHERFORD5989 | KEITH PARNELL   | a    |
~ | 999120 | RUTHANNE CARDOS5593 | KEITHA MURILLO  | a    |
~ | 998893 | IRWIN SOUTHARD   3855 | MINH POINDEXTER | a    |
~ | 998691 | MITCHELL SEITZ3408 | KEITH OKEEFE    | a    |
~ | 998539 | ELSA SEITZ   3273 | CAREY KEITH     | a    |
~ | 998526 | SCOTT CARRION   2679 | KEITHA KILLIAN  | a    |
~ | 997945 | RUTHE SCHENK2597 | MARA KEITH      | a    |
~ | 997815 | MINH GOODWIN     2056 | KEITH SYLVESTER | a    |
~ | 997558 | ARTIE SOUTH 1206 | MINH FAHEY      | a    |
~ | 997189 | BETTY SOUTHERN  0556 | KEITHA MARTINI  | a    |
~ | 997187 | SUSAN SCOTT     89718 | KEITH FLAHERTY  | a    |
~ | 997098 | OTHA FAJARDO  87159 | MINH PARNELL    | a    |
~ | 997074 | SCOTT FLANDERS86143 | KEITHA YUAN     | a    |
~ | 996804 | SCOTT ENOS    85925 | VENITA SMYTH    | a    |
~ | 996461 | EDRA HIGGINBOTHAM84631 | KEITH LERNER    | a    |
~ +--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMYTH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
~ +--------+---------------------+------+
~ | id     | username            | s    |
~ +--------+---------------------+------+
~ | 999973 | KEITH SNOW  8893 | IRWIN SOUTHARD      | a    |
~ | 999964 | CANDACE BOOTH8000 | EDYTH CARLISLE      | a    |
~ | 999855 | DOROTHA WISEMAN7558 | ARTIE SOUTH         | a    |
~ | 999723 | SCOTT OLSON 7189 | BETTY SOUTHERN      | a    |
~ | 999264 | RUTHANN GREENE   5514 | LAVELLE SOUTHERLAND | a    |
~ | 999197 | HEATH MCNAMARA5220 | EDYTHE DEGUZMAN     | a    |
~ | 999127 | MALENA RUTHERFORD5208 | MARLON SOUTHERN     | a    |
~ | 999120 | RUTHANNE CARDOSO4472 | EDYTHE PYLE         | a    |
~ | 999013 | HEATHER HAMMOCK3920 | YANG SOUTH          | a    |
~ | 998893 | IRWIN SOUTHARD3906 | SETH BATTLES        | a    |
~ | 998526 | SCOTT CARRION3838 | EDYTHE ZENG         | a    |
~ | 998000 | EDYTH CARLISLE3509 | SETH GRIFFITH       | a    |
~ | 997945 | RUTHE SCHENK3488 | EDYTH BATTEN        | a    |
~ | 997558 | ARTIE SOUTH3140 | LYN SOUTHERN        | a    |
~ | 997544 | HEATHER CLAUSEN2255 | TRENTON SOUTHERN    | a    |
~ | 997189 | BETTY SOUTHERN2085 | ASHLYN SOUTH        | a    |
~ | 997187 | SUSAN SCOTT    1919 | LELAH SOUTHERLAND   | a    |
~ | 997098 | OTHA FAJARDO89609 | EDYTH NOVAK         | a    |
~ | 997074 | SCOTT FLANDERS87549 | EMILIA SOUTH        | a    |
~ | 996804 | SCOTT ENOS87177 | SETH KOZAK          | a    |
~ +--------+---------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy="1";"
––– output –––
~ +--------+-------------------+------+
~ | id     | username          | s    |
~ +--------+-------------------+------+
~ | 999973 | KEITH SNOW        | a    |
~ | 999855 | DOROTHA WISEMAN250 | MINH LANDERS    | a    |
~ | 999723 | SCOTT OLSON   7815 | MINH GOODWIN    | a    |
~ | 999264 | RUTHANN GREENE6259 | MINH WILD       | a    |
~ | 999250 | MINH LANDERS     6078 | CHRISTENE KEITH | a    |
~ | 999127 | MALENA RUTHERFORD5989 | KEITH PARNELL   | a    |
~ | 999120 | RUTHANNE CARDOS5593 | KEITHA MURILLO  | a    |
~ | 998893 | IRWIN SOUTHARD   3855 | MINH POINDEXTER | a    |
~ | 998691 | MITCHELL SEITZ3408 | KEITH OKEEFE    | a    |
~ | 998539 | ELSA SEITZ   3273 | CAREY KEITH     | a    |
~ | 998526 | SCOTT CARRION   2679 | KEITHA KILLIAN  | a    |
~ | 997945 | RUTHE SCHENK2597 | MARA KEITH      | a    |
~ | 997815 | MINH GOODWIN     2056 | KEITH SYLVESTER | a    |
~ | 997558 | ARTIE SOUTH 1206 | MINH FAHEY      | a    |
~ | 997189 | BETTY SOUTHERN  0556 | KEITHA MARTINI  | a    |
~ | 997187 | SUSAN SCOTT     89718 | KEITH FLAHERTY  | a    |
~ | 997098 | OTHA FAJARDO  87159 | MINH PARNELL    | a    |
~ | 997074 | SCOTT FLANDERS86143 | KEITHA YUAN     | a    |
~ | 996804 | SCOTT ENOS    85925 | VENITA SMYTH    | a    |
~ | 996461 | EDRA HIGGINBOTHAM84631 | KEITH LERNER    | a    |
~ +--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('john') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
+--------+------------------------+------+
| id     | username               | s    |
+--------+------------------------+------+
| 999961 | JONELL ENRIGHT         | a    |
| 999932 | JONELL NIX             | a    |
| 999926 | JONAH BURNSIDE         | a    |
| 999922 | LAVONNA JONAS          | a    |
| 999860 | JOHNETTA DO            | a    |
| 999552 | JOHNNY CARNES          | a    |
| 999548 | JOHNATHAN PEPPER       | a    |
| 999509 | JOHNATHAN STUBBLEFIELD | a    |
| 999171 | JOHNNY ABRAMS          | a    |
| 999033 | AGNUS STJOHN           | a    |
| 998835 | SCARLETT JONAS         | a    |
| 998798 | JOHNATHON READ         | a    |
| 998467 | JOHNSON JEAN           | a    |
| 998393 | JOHN BACH              | a    |
| 998306 | JOHNNY TAFOYA          | a    |
| 998304 | JONG SAUER             | a    |
| 998303 | JONATHON DUPRE         | a    |
| 998278 | JOHNNIE LOR            | a    |
| 998181 | JONA ELROD             | a    |
| 998154 | JONG YORK              | a    |
+--------+------------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('jane') AND id BETWEEN 10000 AND 20000 ORDER BY username ASC OPTION fuzzy=1;"
––– output –––
+-------+--------------------+------+
| id    | username           | s    |
+-------+--------------------+------+
| 10028 | ANJANETTE PORTILLO | a    |
| 10056 | JANETTE LYNCH      | a    |
| 10629 | LANETTE SWAIN      | a    |
| 10874 | JANESSA MONTEZ     | a    |
| 10977 | RUTHANN LANEY      | a    |
| 11038 | DESIRE LANE        | a    |
| 11056 | LANELLE WATTS      | a    |
| 11397 | MELITA LANE        | a    |
| 11415 | MARYJANE HOLTZ     | a    |
| 11569 | JANETH SELBY       | a    |
| 11758 | JANETTE GANTT      | a    |
| 11834 | JANELLE DRIGGERS   | a    |
| 12100 | JAE COBLE          | a    |
| 12171 | JAE MEARS          | a    |
| 12185 | JANESSA BALTAZAR   | a    |
| 12237 | JANENE APODACA     | a    |
| 12490 | LANELLE ARNDT      | a    |
| 12536 | JANENE WALDRON     | a    |
| 12540 | ANJANETTE STAGGS   | a    |
| 12642 | HERSHEL LANEY      | a    |
+-------+--------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('EBGRNA') AND id BETWEEN 1000 AND 2000 ORDER BY username ASC OPTION fuzzy=1;"
––– output –––
+------+---------------------+------+
| id   | username            | s    |
+------+---------------------+------+
| 1354 | VERNA VITALE        | a    |
| 1784 | BERNADETTE HALES    | a    |
| 1839 | BERNARDINA MCMILLAN | a    |
| 1864 | ERNA ULLOA          | a    |
| 1948 | SAMIRA ABERNATHY    | a    |
+------+---------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SARA') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+------------------+------+
| id   | username         | s    |
+------+------------------+------+
|  188 | LARA KIRK        | a    |
|  207 | CLARA MORRIS     | a    |
|  351 | KLARA DONALDSON  | a    |
|  990 | ELAINE SARABIA   | a    |
| 1409 | LARA FREDERICK   | a    |
| 1661 | SARA GARNER      | a    |
| 1831 | SARAI ESPINAL    | a    |
| 2074 | VALENTIN SARABIA | a    |
| 2930 | LARA CINTRON     | a    |
| 3045 | KLARA ANDRES     | a    |
| 3373 | KLARA NORTON     | a    |
| 3741 | CRUZ SARABIA     | a    |
| 3780 | RUSSEL LARA      | a    |
| 4700 | HEE SARABIA      | a    |
| 4933 | KLARA GOODING    | a    |
| 5830 | SARAI LINDLEY    | a    |
| 5865 | SARAN KNAPP      | a    |
| 5918 | SARA WAITE       | a    |
| 6635 | CLARA BEALE      | a    |
| 6836 | CLARA BAZAN      | a    |
+------+------------------+------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS fuzziness);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'us,ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 0 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnson |
| jonas   |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS prepend, 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS fuzziness, '' AS layouts, 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 2 AS fuzziness, 'us,ru' AS layouts, 1 AS append, 1 AS prepend, 2 AS expansion_len);" | tail -n +4 | sort
––– output –––
+-------+
| joe   |
| john  |
| jose  |
| joy   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'us' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('al', 'name', 0 AS fuzziness);" | tail -n +4 | sort
––– output –––
+-----------+
| albert    |
| alexander |
| allen     |
| dale      |
| dallas    |
| donald    |
| gale      |
| kendall   |
| marshall  |
| walter    |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('mi', 'name', 0 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| ami     |
| britni  |
| brittni |
| cami    |
| choi    |
| darci   |
| eleni   |
| jami    |
| jani    |
| jeni    |
| joi     |
| kaci    |
| kami    |
| kimi    |
| laci    |
| lani    |
| luci    |
| mancini |
| marci   |
| martini |
| melani  |
| muoi    |
| nanci   |
| neomi   |
| noemi   |
| nohemi  |
| ricci   |
| shani   |
| staci   |
| tammi   |
| toi     |
| tomi    |
| traci   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('ch', 'name', 1 AS fuzziness, 3 AS expansion_len);" | tail -n +4 | sort
––– output –––
+-------+
| chang |
| chi   |
| chong |
| chung |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('зф', 'name', 'us,ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| page    |
| paige   |
| palma   |
| palmer  |
| paris   |
| parker  |
| pat     |
| patrick |
| paul    |
| paz     |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('зф', 'name', 'us' AS layouts);" | tail -n +4 | sort
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('gr', 'name', 1 AS fuzziness, 'ru' AS layouts, 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+------------+
| grace      |
| gracia     |
| grady      |
| graham     |
| grant      |
| gregg      |
| gregory    |
| griffin    |
| grover     |
| montenegro |
––– input –––
mysql -h0 -P9306 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); select * from t where match('somethin') option fuzzy=0;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "select * from t where match('somethin') option fuzzy=0;"
––– output –––
––– input –––
mysql -P9306 -h0 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); call autocomplete('some', 't');"
––– output –––
+-----------+
| query     |
+-----------+
| some      |
| something |
+-----------+
––– input –––
mysql -P9306 -h0 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); call autocomplete('some', 't');"
––– output –––
+-----------+
| query     |
+-----------+
| some      |
| something |
+-----------+
––– input –––
mysql -h0 -P9306 -e "drop table if exists t; create table t(a int);"
––– output –––
––– input –––
mysql -h0 -P9306 -e "select * from t option fuzzy=1;"
––– output –––
ERROR 1064 (42000) at line 1: The 'fuzzy' option requires a full-text query
––– input –––
mysql -h0 -P9306 -e "drop table if exists comment_28798446; create table comment_28798446(id int, content text) min_infix_len='3';"
––– output –––
––– input –––
mysql -h0 -P9306 -e "insert into comment_28798446 values (1, 'business Manticore interaction'), (2, 'buisness Manticore interation'), (3, 'other text content');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('buisness Manticore interation') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('business Manticore interaction') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('Manticore') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('bus', 'comment_28798446', 'ru,us,ua' AS layouts);"
––– output –––
+----------+
| query    |
+----------+
| business |
+----------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('bus', 'comment_28798446', '' AS layouts);"
––– output –––
+----------+
| query    |
+----------+
| business |
+----------+
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS t; DEBUG SLEEP 2; CREATE TABLE t(f TEXT) min_infix_len='2';"
––– output –––
+---------+--------+
| command | result |
+---------+--------+
| sleep   | #!/[0-9]{1}.[0-9]{3}/!#  |
+---------+--------+
––– input –––
mysql -h0 -P9306 -e "INSERT INTO t VALUES (1, 'abcdef'), (2, 'abcd efgh');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcdef'); SHOW META;"
––– output –––
+------+--------+
| id   | f      |
+------+--------+
|    1 | abcdef |
+------+--------+
+----------------+--------+
| Variable_name  | Value  |
+----------------+--------+
| total          | 1      |
| total_found    | 1      |
| total_relation | eq     |
| time           | #!/[0-9]{1}.[0-9]{3}/!#  |
| keyword[0]     | abcdef |
| docs[0]        | 1      |
| hits[0]        | 1      |
+----------------+--------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcef') OPTION fuzzy=1; SHOW META;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| total          | 2     |
| total_found    | 2     |
| total_relation | eq    |
| time           | #!/[0-9]{1}.[0-9]{3}/!# |
+----------------+-------+
––– input –––
grep -A3 "SELECT \* FROM t WHERE MATCH('abcdef')" /var/log/manticore/query.log
––– output –––
/* #!/[A-Za-z]{3}\s+[A-Za-z]{3}\s+[0-9]{1,2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}\s+[0-9]{4}/!# conn %{NUMBER} (127.0.0.1:%{NUMBER}) real #!/[0-9]{1}.[0-9]{3}/!# wall #!/[0-9]{1}.[0-9]{3}/!# found 1 */ SELECT * FROM t WHERE MATCH('abcdef');
/* #!/[A-Za-z]{3}\s+[A-Za-z]{3}\s+[0-9]{1,2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}\s+[0-9]{4}/!# conn %{NUMBER} (127.0.0.1:%{NUMBER}) real #!/[0-9]{1}.[0-9]{3}/!# wall #!/[0-9]{1}.[0-9]{3}/!# found 2 */ SELECT * FROM t WHERE MATCH('abcef') OPTION fuzzy=1;
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('nonexistent'); SHOW META;"
––– output –––
+----------------+-------------+
| Variable_name  | Value       |
+----------------+-------------+
| total          | 0           |
| total_found    | 0           |
| total_relation | eq          |
| time           | #!/[0-9]{1}.[0-9]{3}/!#       |
| keyword[0]     | nonexistent |
| docs[0]        | 0           |
| hits[0]        | 0           |
+----------------+-------------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcdef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('\$#@\!') OPTION fuzzy=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS idx1; CREATE TABLE idx1(value TEXT) min_infix_len='2';"
––– output –––
––– input –––
mysql -h0 -P9306 -e "INSERT INTO idx1(value) VALUES ('340');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('34', 'idx1');"
––– output –––
+-------+
| query |
+-------+
| 340   |
+-------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('3', 'idx1');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('34', 'idx1', 1 AS fuzziness);"
––– output –––
+-------+
| query |
+-------+
| 340   |
+-------+
––– input –––
echo -e "searchd {\nlisten = 9306:mysql\nlisten = 9312\nlisten = 9308:http\nlog = /tmp/searchd.log\nquery_log = /tmp/query.log\npid_file = /tmp/searchd.pid\n}\n\nsource src_idx {\ntype = tsvpipe\ntsvpipe_command = cat /tmp/data.tsv\ntsvpipe_field_string = f\ntsvpipe_attr_bigint = id\n}\n\nindex idx_plain {\ntype = plain\nsource = src_idx\npath = /tmp/idx_plain\nmin_infix_len = 2\n}" > /tmp/manticore_idx.conf
––– output –––
––– input –––
echo -e "1\tabcdef\n2\tabcd efgh\n3\trandom text" > /tmp/data.tsv
––– output –––
––– input –––
mkdir -p /tmp/idx_plain && chmod 777 /tmp/idx_plain
––– output –––
––– input –––
indexer --all --config /tmp/manticore_idx.conf > /dev/null 2>&1
––– output –––
––– input –––
rm -f /tmp/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd -c /tmp/manticore_idx.conf; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/tmp/manticore_idx.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on all interfaces for mysql, port=9306
listening on all interfaces for sphinx and http(s), port=9312
listening on all interfaces for sphinx and http(s), port=9308
precaching table 'idx_plain'
precached 1 tables in #!/[0-9]{1,2}.[0-9]+/!# sec
Buddy started!
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES;"
––– output –––
+-----------+-------+
| Table     | Type  |
+-----------+-------+
| idx_plain | local |
+-----------+-------+
––– input –––
mysql -h0 -P9306 -e "SHOW TABLE idx_plain SETTINGS;"
––– output –––
+---------------+-------------------+
| Variable_name | Value             |
+---------------+-------------------+
| settings      | min_infix_len = 2 |
+---------------+-------------------+
––– input –––
mysql -h0 -P9306 -e "show version\G;"
––– output –––
*************************** 1. row ***************************
Component: Daemon
Version: %{VERSION}
*************************** 2. row ***************************
Component: Columnar
Version: columnar %{VERSION}
*************************** 3. row ***************************
Component: Secondary
Version: secondary %{VERSION}
*************************** 4. row ***************************
Component: KNN
Version: knn %{VERSION}
*************************** 5. row ***************************
Component: Buddy
Version: buddy %{VERSION}
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcdef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('nonexistent') OPTION fuzzy=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('abc', 'idx_plain');"
––– output –––
+--------+
| query  |
+--------+
| abcd   |
| abcdef |
+--------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('ran', 'idx_plain');"
––– output –––
+--------+
| query  |
+--------+
| random |
+--------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('zzz', 'idx_plain');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcdef') OPTION fuzzy=0;"
––– output –––
+------+--------+
| id   | f      |
+------+--------+
|    1 | abcdef |
+------+--------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcd efgh') OPTION fuzzy=0;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    2 | abcd efgh |
+------+-----------+
```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-12T21:30:38Z
body: ## clt
❌ CLT tests in `test/clt-tests/replication/`
✅ OK: 2
❌ Failed: 1
⏳ Duration: 47s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13821707501) for commit [69d1606](https://github.com/manticoresoftware/manticoresearch/commit/69d16062fd6a97c3f09ee6d723b6b4ee0af762d8)
Failed tests:
<details>
<summary>test/clt-tests/replication/test-replication-with-mysqldump.rec</summary>

```diff
––– input –––
export LANG=en_US.UTF-8
––– output –––
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf | grep -v precach
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[a-zA-Z]{3}\s[a-zA-Z]{3}\s+[0-9]{1,2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}\s[0-9]{4}/!#] [%{NUMBER}] using config file '/.clt/test/clt-tests/base/searchd-with-flexible-ports.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:%{NUMBER} for mysql
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
listening on %{IPADDR}:%{NUMBER} for sphinx and http(s)
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export CLUSTER_NAME=c
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
echo 'the, and, of' > /tmp/stopwords.txt
––– output –––
––– input –––
echo 'cat => feline' > /tmp/exceptions.txt
––– output –––
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl1 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' exceptions='/tmp/exceptions.txt' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_0.txt
morphology = stem_en
stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_0.txt
rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl1 VALUES (1, 'The cat runs', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
echo 'fast => faster' > /tmp/wordforms.txt
––– output –––
––– input –––
iconv -f UTF-8 -t UTF-8 -c /tmp/stopwords.txt -o /tmp/stopwords.txt; iconv -f UTF-8 -t UTF-8 -c /tmp/exceptions.txt -o /tmp/exceptions.txt;iconv -f UTF-8 -t UTF-8 -c /tmp/wordforms.txt -o /tmp/wordforms.txt
––– output –––
––– input –––
grep -axv '.*' /tmp/stopwords.txt && echo "stopwords.txt: НЕ UTF-8" || echo "stopwords.txt: UTF-8"; grep -axv '.*' /tmp/exceptions.txt && echo "exceptions.txt: НЕ UTF-8" || echo "exceptions.txt: UTF-8"; grep -axv '.*' /tmp/wordforms.txt && echo "wordforms.txt: НЕ UTF-8" || echo "wordforms.txt: UTF-8"
––– output –––
stopwords.txt: UTF-8
exceptions.txt: UTF-8
wordforms.txt: UTF-8
––– input –––
mysql -h0 -P2306 -e "CREATE TABLE tbl2 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' morphology='stem_ru' wordforms='/tmp/wordforms.txt' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
morphology = stem_ru
wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
rt_mem_limit = 536870912
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (1, 'Русский fast текст', 84, 2.71, '{\"ключ\":\"значение\"}', (4,5,6), 'строка', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (2, 'Быстрый прыжок', 19, 1.62, '{\"действие\":\"прыжок\",\"число\":3}', (7,8,9), 'пример', 1, '2024-06-10 15:45:00', (345678901234567890, 567890123456789012), (0.8, 0.7, 0.6, 0.5));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"
––– output –––
––– input –––
mysql -h0 -P3306 -e "CREATE TABLE tbl3 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "SHOW TABLE tbl3 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
rt_mem_limit = 536870912
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Plain example', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "ALTER CLUSTER c ADD tbl3;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+----------------+
| Counter           | Value          |
+-------------------+----------------+
| cluster_c_indexes | tbl1,tbl2,tbl3 |
+-------------------+----------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 2306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 3306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO c:tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysqldump -etc --replace -u cluster -h0 -P1306 --skip-comments manticore c:tbl1 | mysql -h0 -P1306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do mysql -h0 -P$port -e "SET GLOBAL cluster_user = 'new_username';"; done
––– output –––
––– input –––
for port in 1306 2306 3306; do timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW VARIABLES LIKE 'cluster_user';\" | grep -q '| cluster_user  | new_username |'; do sleep 1; done" && echo "Port $port: cluster_user is new_username." || { echo "Port $port: cluster_user is not new_username."; exit 1; }; done
––– output –––
Port 1306: cluster_user is new_username.
Port 2306: cluster_user is new_username.
Port 3306: cluster_user is new_username.
––– input –––
mysql -h0 -P2306 -e "DELETE FROM c:tbl2 WHERE id = 2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO c:tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'New plain entry', 50, 5.5, '{\"new\":\"entry\"}', (10,11,12), 'new_string', 0, '2025-03-02 10:00:00', (111222333444555666, 777888999000111222), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysqldump -etc --replace --net-buffer-length=16M -u new_username -h0 -P2306 --skip-comments manticore c:tbl1 c:tbl2 c:tbl3 | mysql -h0 -P3306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 2306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 3306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c DROP tbl1;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+-----------+
| Counter           | Value     |
+-------------------+-----------+
| cluster_c_indexes | tbl2,tbl3 |
+-------------------+-----------+
––– input –––
echo 'new, stop, words' > /tmp/new_stopwords.txt; echo $?
––– output –––
0
––– input –––
echo 'dog => canine' > /tmp/new_exceptions.txt; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER TABLE tbl1 stopwords='/tmp/new_stopwords.txt' exceptions='/tmp/new_exceptions.txt';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_1.txt
morphology = stem_en
stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_1.txt
rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE c:tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-2/tbl1/exceptions_chunk0_1.txt
morphology = stem_en
stopwords = /var/log/manticore-2/tbl1/stopwords_chunk0_1.txt
rt_mem_limit = 268435456
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('new runs');"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
––– input –––
mysql -h0 -P1306 -e "INSERT INTO c:tbl1 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'The dog barks', 10, 2.5, '{\"animal\":\"dog\"}', (4,5), 'bark', 1, '2025-01-01 10:00:00', (111222333444555, 666777888999000), (0.5, 0.6, 0.7, 0.8));"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('canine');"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
Data from c:tbl1 on port 2306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
Data from c:tbl1 on port 3306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c DROP tbl2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+-----------+
| Counter           | Value     |
+-------------------+-----------+
| cluster_c_indexes | tbl3,tbl1 |
+-------------------+-----------+
––– input –––
ls /usr/share/manticore/ru.pak
––– output –––
/usr/share/manticore/ru.pak
––– input –––
mysql -h0 -P2306 -e "ALTER TABLE tbl2 morphology='lemmatize_ru';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
morphology = lemmatize_ru
wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
rt_mem_limit = 536870912
––– input –––
mysqldump -etc --replace -u new_username -h0 -P2306 --skip-comments manticore tbl2 | mysql -P2306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO c:tbl2 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Кот прыжки делает', 5, 1.1, '{\"действие\":\"прыжки\"}', (10,11), 'кот', 1, '2025-03-11 12:00:00', (111111111, 222222222), (0.9, 0.8, 0.7, 0.6));"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl2 WHERE MATCH('прыжок');"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
Data from c:tbl2 on port 2306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
Data from c:tbl2 on port 3306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
rm -f /tmp/stopwords.txt /tmp/exceptions.txt /tmp/wordforms.txt /var/lib/manticore/tbl3.conf dump.sql
––– output –––
```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-12T21:31:22Z
body: ## clt
❌ CLT tests in `test/clt-tests/buddy/`
✅ OK: 7
❌ Failed: 1
⏳ Duration: 105s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13821707501) for commit [69d1606](https://github.com/manticoresoftware/manticoresearch/commit/69d16062fd6a97c3f09ee6d723b6b4ee0af762d8)
Failed tests:
<details>
<summary>test/clt-tests/buddy/test-fuzzy-search.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:9312 for sphinx and http(s)
listening on %{IPADDR}:9306 for mysql
listening on %{IPADDR}:9308 for sphinx and http(s)
Buddy started!
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
0
––– input –––
apt-get install jq -y > /dev/null; echo $?
––– output –––
debconf: delaying package configuration, since apt-utils is not installed
0
––– input –––
php -d memory_limit=2G ./test/clt-tests/scripts/load_names_attr.php --batch-size=100000 --concurrency=4 --docs=1000000 --start-id=1 --min-infix-len=2 > /dev/null; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "SHOW CREATE TABLE name;" | grep "min_infix_len='2'" | sed "s/.*\(min_infix_len='2'\).*/\1/"
––– output –––
min_infix_len='2'
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM name;"
––– output –––
+----------+
| count(*) |
+----------+
|  1000000 |
+----------+
––– input –––
mysql -h0 -P9306 -e "OPTIMIZE TABLE name OPTION sync=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('RICH') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+-------------------+------+
| id   | username          | s    |
+------+-------------------+------+
|  196 | BRICE MULLIN      | a    |
|  307 | GRICELDA SKELTON  | a    |
|  363 | LAURICE SOLIZ     | a    |
|  478 | ERICH LLAMAS      | a    |
|  490 | LATRICE MANCILLA  | a    |
|  608 | MAURICE PRATHER   | a    |
|  659 | BRICE OLIVARES    | a    |
|  697 | PATRICE WOOD      | a    |
|  822 | JUNITA RICHARD    | a    |
|  835 | AUREA RICO        | a    |
|  854 | ROXANNE BRICE     | a    |
| 1122 | RICH MOLL         | a    |
| 1134 | JOELLA RICHARD    | a    |
| 1160 | MINDY HEINRICH    | a    |
| 1224 | YADIRA RICHARDSON | a    |
| 1379 | BRICE ALLMAN      | a    |
| 1574 | RICO VALENZUELA   | a    |
| 1602 | BEATRICE LOVE     | a    |
| 1822 | RICHELLE ROE      | a    |
| 2136 | CHIQUITA RICHTER  | a    |
+------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('EBGRNA') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+----------------------+------+
| id   | username             | s    |
+------+----------------------+------+
|  675 | CONCEPTION ABERNATHY | a    |
|  964 | BERNARDINA OSHEA     | a    |
| 1354 | VERNA VITALE         | a    |
| 1784 | BERNADETTE HALES     | a    |
| 1839 | BERNARDINA MCMILLAN  | a    |
| 1864 | ERNA ULLOA           | a    |
| 1948 | SAMIRA ABERNATHY     | a    |
| 2238 | JUDI BERNAL          | a    |
| 2446 | MERNA GAITHER        | a    |
| 3065 | BERNADINE HIBBARD    | a    |
| 3195 | BERNADETTE SHELTON   | a    |
| 3688 | VERNA GASTON         | a    |
| 3781 | BERNARDINE WILKINS   | a    |
| 4370 | ERNA VITALE          | a    |
| 4637 | TARSHA HERNANDEZ     | a    |
| 4662 | FERNANDO HOUCK       | a    |
| 5044 | CONSTANCE ABERNATHY  | a    |
| 5580 | LAVERNA GORMAN       | a    |
| 5582 | FERNANDE ISRAEL      | a    |
| 5798 | LAVERNA STORM        | a    |
+------+----------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('ANT') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+-------------------+------+
| id   | username          | s    |
+------+-------------------+------+
|    8 | DAMIAN SOMERS     | a    |
|   16 | TAMI WHELAN       | a    |
|   19 | DARCY SANDBERG    | a    |
|   20 | RANEE BROUGHTON   | a    |
|   21 | STEPHEN ALLMAN    | a    |
|   30 | AMANDA KEY        | a    |
|   37 | ELFRIEDA HANKS    | a    |
|   41 | NANNIE WILLINGHAM | a    |
|   42 | YOULANDA TROUT    | a    |
|   44 | ANTHONY SMOOT     | a    |
|   47 | FRANCIE BUNDY     | a    |
|   51 | LATASHA POLAND    | a    |
|   53 | SHEMEKA DURAND    | a    |
|   54 | LATANYA ARNDT     | a    |
|   56 | JANELLE LASTER    | a    |
|   57 | NANNIE HANNON     | a    |
|   58 | GRANVILLE VALDEZ  | a    |
|   59 | DEDE SPANN        | a    |
|   60 | DANIEL MERRITT    | a    |
|   63 | SAUL HOWLAND      | a    |
+------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('tony') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+--------------------+------+
| id   | username           | s    |
+------+--------------------+------+
|  118 | ANTONIA VANWINKLE  | a    |
|  220 | ANTONIA MELGAR     | a    |
|  391 | KARYL TONEY        | a    |
|  761 | TONYA SHERRILL     | a    |
| 1527 | LEONE TONEY        | a    |
| 2132 | TONIA RAPP         | a    |
| 2195 | TONIE HOANG        | a    |
| 2333 | LATONIA VILLASENOR | a    |
| 2357 | TONIE BARNHILL     | a    |
| 2430 | TONIA BOSTICK      | a    |
| 2584 | TONI SPENCE        | a    |
| 2725 | ANTONIETTA CINTRON | a    |
| 2881 | ANTONINA HASKELL   | a    |
| 3318 | TONY DUPRE         | a    |
| 3582 | ANTONIETTA BAEZ    | a    |
| 3858 | TONEY SCHOEN       | a    |
| 4366 | ROCHEL TONEY       | a    |
| 4608 | ANTONIA DRISCOLL   | a    |
| 4657 | TONYA PARRIS       | a    |
| 4800 | TONY WEISS         | a    |
+------+--------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
~ +--------+-------------------+------+
~ | id     | username          | s    |
~ +--------+-------------------+------+
~ | 999973 | KEITH SNOW        | a    |
~ | 999855 | DOROTHA WISEMAN250 | MINH LANDERS    | a    |
~ | 999723 | SCOTT OLSON   7815 | MINH GOODWIN    | a    |
~ | 999264 | RUTHANN GREENE6259 | MINH WILD       | a    |
~ | 999250 | MINH LANDERS     6078 | CHRISTENE KEITH | a    |
~ | 999127 | MALENA RUTHERFORD5989 | KEITH PARNELL   | a    |
~ | 999120 | RUTHANNE CARDOS5593 | KEITHA MURILLO  | a    |
~ | 998893 | IRWIN SOUTHARD   3855 | MINH POINDEXTER | a    |
~ | 998691 | MITCHELL SEITZ3408 | KEITH OKEEFE    | a    |
~ | 998539 | ELSA SEITZ   3273 | CAREY KEITH     | a    |
~ | 998526 | SCOTT CARRION   2679 | KEITHA KILLIAN  | a    |
~ | 997945 | RUTHE SCHENK2597 | MARA KEITH      | a    |
~ | 997815 | MINH GOODWIN     2056 | KEITH SYLVESTER | a    |
~ | 997558 | ARTIE SOUTH 1206 | MINH FAHEY      | a    |
~ | 997189 | BETTY SOUTHERN  0556 | KEITHA MARTINI  | a    |
~ | 997187 | SUSAN SCOTT     89718 | KEITH FLAHERTY  | a    |
~ | 997098 | OTHA FAJARDO  87159 | MINH PARNELL    | a    |
~ | 997074 | SCOTT FLANDERS86143 | KEITHA YUAN     | a    |
~ | 996804 | SCOTT ENOS    85925 | VENITA SMYTH    | a    |
~ | 996461 | EDRA HIGGINBOTHAM84631 | KEITH LERNER    | a    |
~ +--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
~ +--------+-------------------+------+
~ | id     | username          | s    |
~ +--------+-------------------+------+
~ | 999973 | KEITH SNOW        | a    |
~ | 999855 | DOROTHA WISEMAN250 | MINH LANDERS    | a    |
~ | 999723 | SCOTT OLSON   7815 | MINH GOODWIN    | a    |
~ | 999264 | RUTHANN GREENE6259 | MINH WILD       | a    |
~ | 999250 | MINH LANDERS     6078 | CHRISTENE KEITH | a    |
~ | 999127 | MALENA RUTHERFORD5989 | KEITH PARNELL   | a    |
~ | 999120 | RUTHANNE CARDOS5593 | KEITHA MURILLO  | a    |
~ | 998893 | IRWIN SOUTHARD   3855 | MINH POINDEXTER | a    |
~ | 998691 | MITCHELL SEITZ3408 | KEITH OKEEFE    | a    |
~ | 998539 | ELSA SEITZ   3273 | CAREY KEITH     | a    |
~ | 998526 | SCOTT CARRION   2679 | KEITHA KILLIAN  | a    |
~ | 997945 | RUTHE SCHENK2597 | MARA KEITH      | a    |
~ | 997815 | MINH GOODWIN     2056 | KEITH SYLVESTER | a    |
~ | 997558 | ARTIE SOUTH 1206 | MINH FAHEY      | a    |
~ | 997189 | BETTY SOUTHERN  0556 | KEITHA MARTINI  | a    |
~ | 997187 | SUSAN SCOTT     89718 | KEITH FLAHERTY  | a    |
~ | 997098 | OTHA FAJARDO  87159 | MINH PARNELL    | a    |
~ | 997074 | SCOTT FLANDERS86143 | KEITHA YUAN     | a    |
~ | 996804 | SCOTT ENOS    85925 | VENITA SMYTH    | a    |
~ | 996461 | EDRA HIGGINBOTHAM84631 | KEITH LERNER    | a    |
~ +--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMYTH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
~ +--------+---------------------+------+
~ | id     | username            | s    |
~ +--------+---------------------+------+
~ | 999973 | KEITH SNOW  8893 | IRWIN SOUTHARD      | a    |
~ | 999964 | CANDACE BOOTH8000 | EDYTH CARLISLE      | a    |
~ | 999855 | DOROTHA WISEMAN7558 | ARTIE SOUTH         | a    |
~ | 999723 | SCOTT OLSON 7189 | BETTY SOUTHERN      | a    |
~ | 999264 | RUTHANN GREENE   5514 | LAVELLE SOUTHERLAND | a    |
~ | 999197 | HEATH MCNAMARA5220 | EDYTHE DEGUZMAN     | a    |
~ | 999127 | MALENA RUTHERFORD5208 | MARLON SOUTHERN     | a    |
~ | 999120 | RUTHANNE CARDOSO4472 | EDYTHE PYLE         | a    |
~ | 999013 | HEATHER HAMMOCK3920 | YANG SOUTH          | a    |
~ | 998893 | IRWIN SOUTHARD3906 | SETH BATTLES        | a    |
~ | 998526 | SCOTT CARRION3838 | EDYTHE ZENG         | a    |
~ | 998000 | EDYTH CARLISLE3509 | SETH GRIFFITH       | a    |
~ | 997945 | RUTHE SCHENK3488 | EDYTH BATTEN        | a    |
~ | 997558 | ARTIE SOUTH3140 | LYN SOUTHERN        | a    |
~ | 997544 | HEATHER CLAUSEN2255 | TRENTON SOUTHERN    | a    |
~ | 997189 | BETTY SOUTHERN2085 | ASHLYN SOUTH        | a    |
~ | 997187 | SUSAN SCOTT    1919 | LELAH SOUTHERLAND   | a    |
~ | 997098 | OTHA FAJARDO89609 | EDYTH NOVAK         | a    |
~ | 997074 | SCOTT FLANDERS87549 | EMILIA SOUTH        | a    |
~ | 996804 | SCOTT ENOS87177 | SETH KOZAK          | a    |
~ +--------+---------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy="1";"
––– output –––
~ +--------+-------------------+------+
~ | id     | username          | s    |
~ +--------+-------------------+------+
~ | 999973 | KEITH SNOW        | a    |
~ | 999855 | DOROTHA WISEMAN250 | MINH LANDERS    | a    |
~ | 999723 | SCOTT OLSON   7815 | MINH GOODWIN    | a    |
~ | 999264 | RUTHANN GREENE6259 | MINH WILD       | a    |
~ | 999250 | MINH LANDERS     6078 | CHRISTENE KEITH | a    |
~ | 999127 | MALENA RUTHERFORD5989 | KEITH PARNELL   | a    |
~ | 999120 | RUTHANNE CARDOS5593 | KEITHA MURILLO  | a    |
~ | 998893 | IRWIN SOUTHARD   3855 | MINH POINDEXTER | a    |
~ | 998691 | MITCHELL SEITZ3408 | KEITH OKEEFE    | a    |
~ | 998539 | ELSA SEITZ   3273 | CAREY KEITH     | a    |
~ | 998526 | SCOTT CARRION   2679 | KEITHA KILLIAN  | a    |
~ | 997945 | RUTHE SCHENK2597 | MARA KEITH      | a    |
~ | 997815 | MINH GOODWIN     2056 | KEITH SYLVESTER | a    |
~ | 997558 | ARTIE SOUTH 1206 | MINH FAHEY      | a    |
~ | 997189 | BETTY SOUTHERN  0556 | KEITHA MARTINI  | a    |
~ | 997187 | SUSAN SCOTT     89718 | KEITH FLAHERTY  | a    |
~ | 997098 | OTHA FAJARDO  87159 | MINH PARNELL    | a    |
~ | 997074 | SCOTT FLANDERS86143 | KEITHA YUAN     | a    |
~ | 996804 | SCOTT ENOS    85925 | VENITA SMYTH    | a    |
~ | 996461 | EDRA HIGGINBOTHAM84631 | KEITH LERNER    | a    |
~ +--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('john') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
+--------+------------------------+------+
| id     | username               | s    |
+--------+------------------------+------+
| 999961 | JONELL ENRIGHT         | a    |
| 999932 | JONELL NIX             | a    |
| 999926 | JONAH BURNSIDE         | a    |
| 999922 | LAVONNA JONAS          | a    |
| 999860 | JOHNETTA DO            | a    |
| 999552 | JOHNNY CARNES          | a    |
| 999548 | JOHNATHAN PEPPER       | a    |
| 999509 | JOHNATHAN STUBBLEFIELD | a    |
| 999171 | JOHNNY ABRAMS          | a    |
| 999033 | AGNUS STJOHN           | a    |
| 998835 | SCARLETT JONAS         | a    |
| 998798 | JOHNATHON READ         | a    |
| 998467 | JOHNSON JEAN           | a    |
| 998393 | JOHN BACH              | a    |
| 998306 | JOHNNY TAFOYA          | a    |
| 998304 | JONG SAUER             | a    |
| 998303 | JONATHON DUPRE         | a    |
| 998278 | JOHNNIE LOR            | a    |
| 998181 | JONA ELROD             | a    |
| 998154 | JONG YORK              | a    |
+--------+------------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('jane') AND id BETWEEN 10000 AND 20000 ORDER BY username ASC OPTION fuzzy=1;"
––– output –––
+-------+--------------------+------+
| id    | username           | s    |
+-------+--------------------+------+
| 10028 | ANJANETTE PORTILLO | a    |
| 10056 | JANETTE LYNCH      | a    |
| 10629 | LANETTE SWAIN      | a    |
| 10874 | JANESSA MONTEZ     | a    |
| 10977 | RUTHANN LANEY      | a    |
| 11038 | DESIRE LANE        | a    |
| 11056 | LANELLE WATTS      | a    |
| 11397 | MELITA LANE        | a    |
| 11415 | MARYJANE HOLTZ     | a    |
| 11569 | JANETH SELBY       | a    |
| 11758 | JANETTE GANTT      | a    |
| 11834 | JANELLE DRIGGERS   | a    |
| 12100 | JAE COBLE          | a    |
| 12171 | JAE MEARS          | a    |
| 12185 | JANESSA BALTAZAR   | a    |
| 12237 | JANENE APODACA     | a    |
| 12490 | LANELLE ARNDT      | a    |
| 12536 | JANENE WALDRON     | a    |
| 12540 | ANJANETTE STAGGS   | a    |
| 12642 | HERSHEL LANEY      | a    |
+-------+--------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('EBGRNA') AND id BETWEEN 1000 AND 2000 ORDER BY username ASC OPTION fuzzy=1;"
––– output –––
+------+---------------------+------+
| id   | username            | s    |
+------+---------------------+------+
| 1354 | VERNA VITALE        | a    |
| 1784 | BERNADETTE HALES    | a    |
| 1839 | BERNARDINA MCMILLAN | a    |
| 1864 | ERNA ULLOA          | a    |
| 1948 | SAMIRA ABERNATHY    | a    |
+------+---------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SARA') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+------------------+------+
| id   | username         | s    |
+------+------------------+------+
|  188 | LARA KIRK        | a    |
|  207 | CLARA MORRIS     | a    |
|  351 | KLARA DONALDSON  | a    |
|  990 | ELAINE SARABIA   | a    |
| 1409 | LARA FREDERICK   | a    |
| 1661 | SARA GARNER      | a    |
| 1831 | SARAI ESPINAL    | a    |
| 2074 | VALENTIN SARABIA | a    |
| 2930 | LARA CINTRON     | a    |
| 3045 | KLARA ANDRES     | a    |
| 3373 | KLARA NORTON     | a    |
| 3741 | CRUZ SARABIA     | a    |
| 3780 | RUSSEL LARA      | a    |
| 4700 | HEE SARABIA      | a    |
| 4933 | KLARA GOODING    | a    |
| 5830 | SARAI LINDLEY    | a    |
| 5865 | SARAN KNAPP      | a    |
| 5918 | SARA WAITE       | a    |
| 6635 | CLARA BEALE      | a    |
| 6836 | CLARA BAZAN      | a    |
+------+------------------+------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS fuzziness);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'us,ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 0 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnson |
| jonas   |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS prepend, 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS fuzziness, '' AS layouts, 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 2 AS fuzziness, 'us,ru' AS layouts, 1 AS append, 1 AS prepend, 2 AS expansion_len);" | tail -n +4 | sort
––– output –––
+-------+
| joe   |
| john  |
| jose  |
| joy   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'us' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('al', 'name', 0 AS fuzziness);" | tail -n +4 | sort
––– output –––
+-----------+
| albert    |
| alexander |
| allen     |
| dale      |
| dallas    |
| donald    |
| gale      |
| kendall   |
| marshall  |
| walter    |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('mi', 'name', 0 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| ami     |
| britni  |
| brittni |
| cami    |
| choi    |
| darci   |
| eleni   |
| jami    |
| jani    |
| jeni    |
| joi     |
| kaci    |
| kami    |
| kimi    |
| laci    |
| lani    |
| luci    |
| mancini |
| marci   |
| martini |
| melani  |
| muoi    |
| nanci   |
| neomi   |
| noemi   |
| nohemi  |
| ricci   |
| shani   |
| staci   |
| tammi   |
| toi     |
| tomi    |
| traci   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('ch', 'name', 1 AS fuzziness, 3 AS expansion_len);" | tail -n +4 | sort
––– output –––
+-------+
| chang |
| chi   |
| chong |
| chung |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('зф', 'name', 'us,ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| page    |
| paige   |
| palma   |
| palmer  |
| paris   |
| parker  |
| pat     |
| patrick |
| paul    |
| paz     |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('зф', 'name', 'us' AS layouts);" | tail -n +4 | sort
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('gr', 'name', 1 AS fuzziness, 'ru' AS layouts, 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+------------+
| grace      |
| gracia     |
| grady      |
| graham     |
| grant      |
| gregg      |
| gregory    |
| griffin    |
| grover     |
| montenegro |
––– input –––
mysql -h0 -P9306 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); select * from t where match('somethin') option fuzzy=0;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "select * from t where match('somethin') option fuzzy=0;"
––– output –––
––– input –––
mysql -P9306 -h0 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); call autocomplete('some', 't');"
––– output –––
+-----------+
| query     |
+-----------+
| some      |
| something |
+-----------+
––– input –––
mysql -P9306 -h0 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); call autocomplete('some', 't');"
––– output –––
+-----------+
| query     |
+-----------+
| some      |
| something |
+-----------+
––– input –––
mysql -h0 -P9306 -e "drop table if exists t; create table t(a int);"
––– output –––
––– input –––
mysql -h0 -P9306 -e "select * from t option fuzzy=1;"
––– output –––
ERROR 1064 (42000) at line 1: The 'fuzzy' option requires a full-text query
––– input –––
mysql -h0 -P9306 -e "drop table if exists comment_28798446; create table comment_28798446(id int, content text) min_infix_len='3';"
––– output –––
––– input –––
mysql -h0 -P9306 -e "insert into comment_28798446 values (1, 'business Manticore interaction'), (2, 'buisness Manticore interation'), (3, 'other text content');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('buisness Manticore interation') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('business Manticore interaction') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('Manticore') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('bus', 'comment_28798446', 'ru,us,ua' AS layouts);"
––– output –––
+----------+
| query    |
+----------+
| business |
+----------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('bus', 'comment_28798446', '' AS layouts);"
––– output –––
+----------+
| query    |
+----------+
| business |
+----------+
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS t; DEBUG SLEEP 2; CREATE TABLE t(f TEXT) min_infix_len='2';"
––– output –––
+---------+--------+
| command | result |
+---------+--------+
| sleep   | #!/[0-9]{1}.[0-9]{3}/!#  |
+---------+--------+
––– input –––
mysql -h0 -P9306 -e "INSERT INTO t VALUES (1, 'abcdef'), (2, 'abcd efgh');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcdef'); SHOW META;"
––– output –––
+------+--------+
| id   | f      |
+------+--------+
|    1 | abcdef |
+------+--------+
+----------------+--------+
| Variable_name  | Value  |
+----------------+--------+
| total          | 1      |
| total_found    | 1      |
| total_relation | eq     |
| time           | #!/[0-9]{1}.[0-9]{3}/!#  |
| keyword[0]     | abcdef |
| docs[0]        | 1      |
| hits[0]        | 1      |
+----------------+--------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcef') OPTION fuzzy=1; SHOW META;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| total          | 2     |
| total_found    | 2     |
| total_relation | eq    |
| time           | #!/[0-9]{1}.[0-9]{3}/!# |
+----------------+-------+
––– input –––
grep -A3 "SELECT \* FROM t WHERE MATCH('abcdef')" /var/log/manticore/query.log
––– output –––
/* #!/[A-Za-z]{3}\s+[A-Za-z]{3}\s+[0-9]{1,2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}\s+[0-9]{4}/!# conn %{NUMBER} (127.0.0.1:%{NUMBER}) real #!/[0-9]{1}.[0-9]{3}/!# wall #!/[0-9]{1}.[0-9]{3}/!# found 1 */ SELECT * FROM t WHERE MATCH('abcdef');
/* #!/[A-Za-z]{3}\s+[A-Za-z]{3}\s+[0-9]{1,2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}\s+[0-9]{4}/!# conn %{NUMBER} (127.0.0.1:%{NUMBER}) real #!/[0-9]{1}.[0-9]{3}/!# wall #!/[0-9]{1}.[0-9]{3}/!# found 2 */ SELECT * FROM t WHERE MATCH('abcef') OPTION fuzzy=1;
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('nonexistent'); SHOW META;"
––– output –––
+----------------+-------------+
| Variable_name  | Value       |
+----------------+-------------+
| total          | 0           |
| total_found    | 0           |
| total_relation | eq          |
| time           | #!/[0-9]{1}.[0-9]{3}/!#       |
| keyword[0]     | nonexistent |
| docs[0]        | 0           |
| hits[0]        | 0           |
+----------------+-------------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcdef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('\$#@\!') OPTION fuzzy=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS idx1; CREATE TABLE idx1(value TEXT) min_infix_len='2';"
––– output –––
––– input –––
mysql -h0 -P9306 -e "INSERT INTO idx1(value) VALUES ('340');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('34', 'idx1');"
––– output –––
+-------+
| query |
+-------+
| 340   |
+-------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('3', 'idx1');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('34', 'idx1', 1 AS fuzziness);"
––– output –––
+-------+
| query |
+-------+
| 340   |
+-------+
––– input –––
echo -e "searchd {\nlisten = 9306:mysql\nlisten = 9312\nlisten = 9308:http\nlog = /tmp/searchd.log\nquery_log = /tmp/query.log\npid_file = /tmp/searchd.pid\n}\n\nsource src_idx {\ntype = tsvpipe\ntsvpipe_command = cat /tmp/data.tsv\ntsvpipe_field_string = f\ntsvpipe_attr_bigint = id\n}\n\nindex idx_plain {\ntype = plain\nsource = src_idx\npath = /tmp/idx_plain\nmin_infix_len = 2\n}" > /tmp/manticore_idx.conf
––– output –––
––– input –––
echo -e "1\tabcdef\n2\tabcd efgh\n3\trandom text" > /tmp/data.tsv
––– output –––
––– input –––
mkdir -p /tmp/idx_plain && chmod 777 /tmp/idx_plain
––– output –––
––– input –––
indexer --all --config /tmp/manticore_idx.conf > /dev/null 2>&1
––– output –––
––– input –––
rm -f /tmp/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd -c /tmp/manticore_idx.conf; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/tmp/manticore_idx.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on all interfaces for mysql, port=9306
listening on all interfaces for sphinx and http(s), port=9312
listening on all interfaces for sphinx and http(s), port=9308
precaching table 'idx_plain'
precached 1 tables in #!/[0-9]{1,2}.[0-9]+/!# sec
Buddy started!
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES;"
––– output –––
+-----------+-------+
| Table     | Type  |
+-----------+-------+
| idx_plain | local |
+-----------+-------+
––– input –––
mysql -h0 -P9306 -e "SHOW TABLE idx_plain SETTINGS;"
––– output –––
+---------------+-------------------+
| Variable_name | Value             |
+---------------+-------------------+
| settings      | min_infix_len = 2 |
+---------------+-------------------+
––– input –––
mysql -h0 -P9306 -e "show version\G;"
––– output –––
*************************** 1. row ***************************
Component: Daemon
Version: %{VERSION}
*************************** 2. row ***************************
Component: Columnar
Version: columnar %{VERSION}
*************************** 3. row ***************************
Component: Secondary
Version: secondary %{VERSION}
*************************** 4. row ***************************
Component: KNN
Version: knn %{VERSION}
*************************** 5. row ***************************
Component: Buddy
Version: buddy %{VERSION}
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcdef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('nonexistent') OPTION fuzzy=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('abc', 'idx_plain');"
––– output –––
+--------+
| query  |
+--------+
| abcd   |
| abcdef |
+--------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('ran', 'idx_plain');"
––– output –––
+--------+
| query  |
+--------+
| random |
+--------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('zzz', 'idx_plain');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcdef') OPTION fuzzy=0;"
––– output –––
+------+--------+
| id   | f      |
+------+--------+
|    1 | abcdef |
+------+--------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcd efgh') OPTION fuzzy=0;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    2 | abcd efgh |
+------+-----------+
```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-13T08:37:12Z
body: ## clt
❌ CLT tests in `test/clt-tests/replication/`
✅ OK: 2
❌ Failed: 1
⏳ Duration: 44s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13830109967) for commit [54f1f5d](https://github.com/manticoresoftware/manticoresearch/commit/54f1f5da0d1a5d856f9025f72442688e2d9aed89)
Failed tests:
<details>
<summary>test/clt-tests/replication/test-replication-with-mysqldump.rec</summary>

```diff
––– input –––
export INSTANCE=1
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null
––– output –––
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=2
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null
––– output –––
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export INSTANCE=3
––– output –––
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null
––– output –––
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Buddy started!
––– input –––
export CLUSTER_NAME=c
––– output –––
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
echo 'the, and, of' > /tmp/stopwords.txt
––– output –––
––– input –––
echo 'cat => feline' > /tmp/exceptions.txt
––– output –––
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl1 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' exceptions='/tmp/exceptions.txt' rt_mem_limit='256M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_0.txt
morphology = stem_en
stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_0.txt
rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl1 VALUES (1, 'The cat runs', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"
––– output –––
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
*************************** 1. row ***************************
Counter: cluster_#!/[a-z]+/!#_status
Value: primary
––– input –––
echo 'fast => faster' > /tmp/wordforms.txt
––– output –––
––– input –––
mysql -h0 -P2306 -e "CREATE TABLE tbl2 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' morphology='stem_ru' wordforms='/tmp/wordforms.txt' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
morphology = stem_ru
wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
rt_mem_limit = 536870912
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (1, 'Русский fast текст', 84, 2.71, '{\"ключ\":\"значение\"}', (4,5,6), 'строка', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (2, 'Быстрый прыжок', 19, 1.62, '{\"действие\":\"прыжок\",\"число\":3}', (7,8,9), 'пример', 1, '2024-06-10 15:45:00', (345678901234567890, 567890123456789012), (0.8, 0.7, 0.6, 0.5));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"
––– output –––
––– input –––
mysql -h0 -P3306 -e "CREATE TABLE tbl3 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' rt_mem_limit='512M';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "SHOW TABLE tbl3 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
rt_mem_limit = 536870912
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Plain example', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "ALTER CLUSTER c ADD tbl3;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+----------------+
| Counter           | Value          |
+-------------------+----------------+
| cluster_c_indexes | tbl1,tbl2,tbl3 |
+-------------------+----------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
~ |    2 | Быстрый прыжок                 |   19 | 1.620000 | {"действие":"прыжо20000 | {"дей��твие":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 2306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 3306:
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO c:tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysqldump -etc --replace -u cluster -h0 -P1306 --skip-comments manticore c:tbl1 | mysql -h0 -P1306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do mysql -h0 -P$port -e "SET GLOBAL cluster_user = 'new_username';"; done
––– output –––
––– input –––
for port in 1306 2306 3306; do timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW VARIABLES LIKE 'cluster_user';\" | grep -q '| cluster_user  | new_username |'; do sleep 1; done" && echo "Port $port: cluster_user is new_username." || { echo "Port $port: cluster_user is not new_username."; exit 1; }; done
––– output –––
Port 1306: cluster_user is new_username.
Port 2306: cluster_user is new_username.
Port 3306: cluster_user is new_username.
––– input –––
mysql -h0 -P2306 -e "DELETE FROM c:tbl2 WHERE id = 2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P3306 -e "INSERT INTO c:tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'New plain entry', 50, 5.5, '{\"new\":\"entry\"}', (10,11,12), 'new_string', 0, '2025-03-02 10:00:00', (111222333444555666, 777888999000111222), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
0
––– input –––
mysqldump -etc --replace --net-buffer-length=16M -u new_username -h0 -P2306 --skip-comments manticore c:tbl1 c:tbl2 c:tbl3 | mysql -h0 -P3306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст             |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 2306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl3 on port 3306:
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c DROP tbl1;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+-----------+
| Counter           | Value     |
+-------------------+-----------+
| cluster_c_indexes | tbl2,tbl3 |
+-------------------+-----------+
––– input –––
echo 'new, stop, words' > /tmp/new_stopwords.txt; echo $?
––– output –––
0
––– input –––
echo 'dog => canine' > /tmp/new_exceptions.txt; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER TABLE tbl1 stopwords='/tmp/new_stopwords.txt' exceptions='/tmp/new_exceptions.txt';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_1.txt
morphology = stem_en
stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_1.txt
rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE c:tbl1 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = columnar
exceptions = /var/log/manticore-2/tbl1/exceptions_chunk0_1.txt
morphology = stem_en
stopwords = /var/log/manticore-2/tbl1/stopwords_chunk0_1.txt
rt_mem_limit = 268435456
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('new runs');"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+----------------------------+
| id   | f                   | highlight()                |
+------+---------------------+----------------------------+
|    1 | Updated feline runs | Updated feline <b>runs</b> |
+------+---------------------+----------------------------+
––– input –––
mysql -h0 -P1306 -e "INSERT INTO c:tbl1 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'The dog barks', 10, 2.5, '{\"animal\":\"dog\"}', (4,5), 'bark', 1, '2025-01-01 10:00:00', (111222333444555, 666777888999000), (0.5, 0.6, 0.7, 0.8));"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('canine');"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
Data from c:tbl1 on port 2306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
Data from c:tbl1 on port 3306:
+------+---------------+----------------------+
| id   | f             | highlight()          |
+------+---------------+----------------------+
|    2 | The dog barks | The <b>dog</b> barks |
+------+---------------+----------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 2306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl1 on port 3306:
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
| id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
|    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
|    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c DROP tbl2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
+-------------------+-----------+
| Counter           | Value     |
+-------------------+-----------+
| cluster_c_indexes | tbl3,tbl1 |
+-------------------+-----------+
––– input –––
ls /usr/share/manticore/ru.pak
––– output –––
/usr/share/manticore/ru.pak
––– input –––
mysql -h0 -P2306 -e "ALTER TABLE tbl2 morphology='lemmatize_ru';"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
*************************** 1. row ***************************
Variable_name: settings
Value: engine = rowwise
morphology = lemmatize_ru
wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
rt_mem_limit = 536870912
––– input –––
mysqldump -etc --replace -u new_username -h0 -P2306 --skip-comments manticore tbl2 | mysql -P2306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
-- Warning: column statistics not supported by the server.
0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"; echo $?
––– output –––
0
––– input –––
mysql -h0 -P2306 -e "INSERT INTO c:tbl2 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Кот прыжки делает', 5, 1.1, '{\"действие\":\"прыжки\"}', (10,11), 'кот', 1, '2025-03-11 12:00:00', (111111111, 222222222), (0.9, 0.8, 0.7, 0.6));"; echo $?
––– output –––
0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl2 WHERE MATCH('прыжок');"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
Data from c:tbl2 on port 2306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
Data from c:tbl2 on port 3306:
+------+----------------------------------+-----------------------------------------+
| id   | f                                | highlight()                             |
+------+----------------------------------+-----------------------------------------+
|    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+------+----------------------------------+-----------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 2306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
Data from c:tbl2 on port 3306:
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
| id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
|    1 | Русский fast текст               |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
|    2 | Кот прыжки делает                |    5 | 1.100000 | {"действие":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
rm -f /tmp/stopwords.txt /tmp/exceptions.txt /tmp/wordforms.txt /var/lib/manticore/tbl3.conf dump.sql
––– output –––
```

</details>
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-13T08:38:21Z
body: ## clt
❌ CLT tests in `test/clt-tests/buddy/`
✅ OK: 7
❌ Failed: 1
⏳ Duration: 107s
👉 [Check Action Results](https://github.com/manticoresoftware/manticoresearch/actions/runs/13830109967) for commit [54f1f5d](https://github.com/manticoresoftware/manticoresearch/commit/54f1f5da0d1a5d856f9025f72442688e2d9aed89)
Failed tests:
<details>
<summary>test/clt-tests/buddy/test-fuzzy-search.rec</summary>

```diff
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on %{IPADDR}:9312 for sphinx and http(s)
listening on %{IPADDR}:9306 for mysql
listening on %{IPADDR}:9308 for sphinx and http(s)
Buddy started!
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
0
––– input –––
apt-get install jq -y > /dev/null; echo $?
––– output –––
debconf: delaying package configuration, since apt-utils is not installed
0
––– input –––
php -d memory_limit=2G ./test/clt-tests/scripts/load_names_attr.php --batch-size=100000 --concurrency=4 --docs=1000000 --start-id=1 --min-infix-len=2 > /dev/null; echo $?
––– output –––
0
––– input –––
mysql -h0 -P9306 -e "SHOW CREATE TABLE name;" | grep "min_infix_len='2'" | sed "s/.*\(min_infix_len='2'\).*/\1/"
––– output –––
min_infix_len='2'
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM name;"
––– output –––
+----------+
| count(*) |
+----------+
|  1000000 |
+----------+
––– input –––
mysql -h0 -P9306 -e "OPTIMIZE TABLE name OPTION sync=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('RICH') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+-------------------+------+
| id   | username          | s    |
+------+-------------------+------+
|  196 | BRICE MULLIN      | a    |
|  307 | GRICELDA SKELTON  | a    |
|  363 | LAURICE SOLIZ     | a    |
|  478 | ERICH LLAMAS      | a    |
|  490 | LATRICE MANCILLA  | a    |
|  608 | MAURICE PRATHER   | a    |
|  659 | BRICE OLIVARES    | a    |
|  697 | PATRICE WOOD      | a    |
|  822 | JUNITA RICHARD    | a    |
|  835 | AUREA RICO        | a    |
|  854 | ROXANNE BRICE     | a    |
| 1122 | RICH MOLL         | a    |
| 1134 | JOELLA RICHARD    | a    |
| 1160 | MINDY HEINRICH    | a    |
| 1224 | YADIRA RICHARDSON | a    |
| 1379 | BRICE ALLMAN      | a    |
| 1574 | RICO VALENZUELA   | a    |
| 1602 | BEATRICE LOVE     | a    |
| 1822 | RICHELLE ROE      | a    |
| 2136 | CHIQUITA RICHTER  | a    |
+------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('EBGRNA') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+----------------------+------+
| id   | username             | s    |
+------+----------------------+------+
|  675 | CONCEPTION ABERNATHY | a    |
|  964 | BERNARDINA OSHEA     | a    |
| 1354 | VERNA VITALE         | a    |
| 1784 | BERNADETTE HALES     | a    |
| 1839 | BERNARDINA MCMILLAN  | a    |
| 1864 | ERNA ULLOA           | a    |
| 1948 | SAMIRA ABERNATHY     | a    |
| 2238 | JUDI BERNAL          | a    |
| 2446 | MERNA GAITHER        | a    |
| 3065 | BERNADINE HIBBARD    | a    |
| 3195 | BERNADETTE SHELTON   | a    |
| 3688 | VERNA GASTON         | a    |
| 3781 | BERNARDINE WILKINS   | a    |
| 4370 | ERNA VITALE          | a    |
| 4637 | TARSHA HERNANDEZ     | a    |
| 4662 | FERNANDO HOUCK       | a    |
| 5044 | CONSTANCE ABERNATHY  | a    |
| 5580 | LAVERNA GORMAN       | a    |
| 5582 | FERNANDE ISRAEL      | a    |
| 5798 | LAVERNA STORM        | a    |
+------+----------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('ANT') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+-------------------+------+
| id   | username          | s    |
+------+-------------------+------+
|    8 | DAMIAN SOMERS     | a    |
|   16 | TAMI WHELAN       | a    |
|   19 | DARCY SANDBERG    | a    |
|   20 | RANEE BROUGHTON   | a    |
|   21 | STEPHEN ALLMAN    | a    |
|   30 | AMANDA KEY        | a    |
|   37 | ELFRIEDA HANKS    | a    |
|   41 | NANNIE WILLINGHAM | a    |
|   42 | YOULANDA TROUT    | a    |
|   44 | ANTHONY SMOOT     | a    |
|   47 | FRANCIE BUNDY     | a    |
|   51 | LATASHA POLAND    | a    |
|   53 | SHEMEKA DURAND    | a    |
|   54 | LATANYA ARNDT     | a    |
|   56 | JANELLE LASTER    | a    |
|   57 | NANNIE HANNON     | a    |
|   58 | GRANVILLE VALDEZ  | a    |
|   59 | DEDE SPANN        | a    |
|   60 | DANIEL MERRITT    | a    |
|   63 | SAUL HOWLAND      | a    |
+------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('tony') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+--------------------+------+
| id   | username           | s    |
+------+--------------------+------+
|  118 | ANTONIA VANWINKLE  | a    |
|  220 | ANTONIA MELGAR     | a    |
|  391 | KARYL TONEY        | a    |
|  761 | TONYA SHERRILL     | a    |
| 1527 | LEONE TONEY        | a    |
| 2132 | TONIA RAPP         | a    |
| 2195 | TONIE HOANG        | a    |
| 2333 | LATONIA VILLASENOR | a    |
| 2357 | TONIE BARNHILL     | a    |
| 2430 | TONIA BOSTICK      | a    |
| 2584 | TONI SPENCE        | a    |
| 2725 | ANTONIETTA CINTRON | a    |
| 2881 | ANTONINA HASKELL   | a    |
| 3318 | TONY DUPRE         | a    |
| 3582 | ANTONIETTA BAEZ    | a    |
| 3858 | TONEY SCHOEN       | a    |
| 4366 | ROCHEL TONEY       | a    |
| 4608 | ANTONIA DRISCOLL   | a    |
| 4657 | TONYA PARRIS       | a    |
| 4800 | TONY WEISS         | a    |
+------+--------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
~ +--------+-------------------+------+
~ | id     | username          | s    |
~ +--------+-------------------+------+
~ | 999973 | KEITH SNOW        | a    |
~ | 999855 | DOROTHA WISEMAN250 | MINH LANDERS    | a    |
~ | 999723 | SCOTT OLSON   7815 | MINH GOODWIN    | a    |
~ | 999264 | RUTHANN GREENE6259 | MINH WILD       | a    |
~ | 999250 | MINH LANDERS     6078 | CHRISTENE KEITH | a    |
~ | 999127 | MALENA RUTHERFORD5989 | KEITH PARNELL   | a    |
~ | 999120 | RUTHANNE CARDOS5593 | KEITHA MURILLO  | a    |
~ | 998893 | IRWIN SOUTHARD   3855 | MINH POINDEXTER | a    |
~ | 998691 | MITCHELL SEITZ3408 | KEITH OKEEFE    | a    |
~ | 998539 | ELSA SEITZ   3273 | CAREY KEITH     | a    |
~ | 998526 | SCOTT CARRION   2679 | KEITHA KILLIAN  | a    |
~ | 997945 | RUTHE SCHENK2597 | MARA KEITH      | a    |
~ | 997815 | MINH GOODWIN     2056 | KEITH SYLVESTER | a    |
~ | 997558 | ARTIE SOUTH 1206 | MINH FAHEY      | a    |
~ | 997189 | BETTY SOUTHERN  0556 | KEITHA MARTINI  | a    |
~ | 997187 | SUSAN SCOTT     89718 | KEITH FLAHERTY  | a    |
~ | 997098 | OTHA FAJARDO  87159 | MINH PARNELL    | a    |
~ | 997074 | SCOTT FLANDERS86143 | KEITHA YUAN     | a    |
~ | 996804 | SCOTT ENOS    85925 | VENITA SMYTH    | a    |
~ | 996461 | EDRA HIGGINBOTHAM84631 | KEITH LERNER    | a    |
~ +--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
~ +--------+-------------------+------+
~ | id     | username          | s    |
~ +--------+-------------------+------+
~ | 999973 | KEITH SNOW        | a    |
~ | 999855 | DOROTHA WISEMAN250 | MINH LANDERS    | a    |
~ | 999723 | SCOTT OLSON   7815 | MINH GOODWIN    | a    |
~ | 999264 | RUTHANN GREENE6259 | MINH WILD       | a    |
~ | 999250 | MINH LANDERS     6078 | CHRISTENE KEITH | a    |
~ | 999127 | MALENA RUTHERFORD5989 | KEITH PARNELL   | a    |
~ | 999120 | RUTHANNE CARDOS5593 | KEITHA MURILLO  | a    |
~ | 998893 | IRWIN SOUTHARD   3855 | MINH POINDEXTER | a    |
~ | 998691 | MITCHELL SEITZ3408 | KEITH OKEEFE    | a    |
~ | 998539 | ELSA SEITZ   3273 | CAREY KEITH     | a    |
~ | 998526 | SCOTT CARRION   2679 | KEITHA KILLIAN  | a    |
~ | 997945 | RUTHE SCHENK2597 | MARA KEITH      | a    |
~ | 997815 | MINH GOODWIN     2056 | KEITH SYLVESTER | a    |
~ | 997558 | ARTIE SOUTH 1206 | MINH FAHEY      | a    |
~ | 997189 | BETTY SOUTHERN  0556 | KEITHA MARTINI  | a    |
~ | 997187 | SUSAN SCOTT     89718 | KEITH FLAHERTY  | a    |
~ | 997098 | OTHA FAJARDO  87159 | MINH PARNELL    | a    |
~ | 997074 | SCOTT FLANDERS86143 | KEITHA YUAN     | a    |
~ | 996804 | SCOTT ENOS    85925 | VENITA SMYTH    | a    |
~ | 996461 | EDRA HIGGINBOTHAM84631 | KEITH LERNER    | a    |
~ +--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMYTH') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
~ +--------+---------------------+------+
~ | id     | username            | s    |
~ +--------+---------------------+------+
~ | 999973 | KEITH SNOW  8893 | IRWIN SOUTHARD      | a    |
~ | 999964 | CANDACE BOOTH8000 | EDYTH CARLISLE      | a    |
~ | 999855 | DOROTHA WISEMAN7558 | ARTIE SOUTH         | a    |
~ | 999723 | SCOTT OLSON 7189 | BETTY SOUTHERN      | a    |
~ | 999264 | RUTHANN GREENE   5514 | LAVELLE SOUTHERLAND | a    |
~ | 999197 | HEATH MCNAMARA5220 | EDYTHE DEGUZMAN     | a    |
~ | 999127 | MALENA RUTHERFORD5208 | MARLON SOUTHERN     | a    |
~ | 999120 | RUTHANNE CARDOSO4472 | EDYTHE PYLE         | a    |
~ | 999013 | HEATHER HAMMOCK3920 | YANG SOUTH          | a    |
~ | 998893 | IRWIN SOUTHARD3906 | SETH BATTLES        | a    |
~ | 998526 | SCOTT CARRION3838 | EDYTHE ZENG         | a    |
~ | 998000 | EDYTH CARLISLE3509 | SETH GRIFFITH       | a    |
~ | 997945 | RUTHE SCHENK3488 | EDYTH BATTEN        | a    |
~ | 997558 | ARTIE SOUTH3140 | LYN SOUTHERN        | a    |
~ | 997544 | HEATHER CLAUSEN2255 | TRENTON SOUTHERN    | a    |
~ | 997189 | BETTY SOUTHERN2085 | ASHLYN SOUTH        | a    |
~ | 997187 | SUSAN SCOTT    1919 | LELAH SOUTHERLAND   | a    |
~ | 997098 | OTHA FAJARDO89609 | EDYTH NOVAK         | a    |
~ | 997074 | SCOTT FLANDERS87549 | EMILIA SOUTH        | a    |
~ | 996804 | SCOTT ENOS87177 | SETH KOZAK          | a    |
~ +--------+---------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SMITH') ORDER BY id DESC, username ASC OPTION fuzzy="1";"
––– output –––
~ +--------+-------------------+------+
~ | id     | username          | s    |
~ +--------+-------------------+------+
~ | 999973 | KEITH SNOW        | a    |
~ | 999855 | DOROTHA WISEMAN250 | MINH LANDERS    | a    |
~ | 999723 | SCOTT OLSON   7815 | MINH GOODWIN    | a    |
~ | 999264 | RUTHANN GREENE6259 | MINH WILD       | a    |
~ | 999250 | MINH LANDERS     6078 | CHRISTENE KEITH | a    |
~ | 999127 | MALENA RUTHERFORD5989 | KEITH PARNELL   | a    |
~ | 999120 | RUTHANNE CARDOS5593 | KEITHA MURILLO  | a    |
~ | 998893 | IRWIN SOUTHARD   3855 | MINH POINDEXTER | a    |
~ | 998691 | MITCHELL SEITZ3408 | KEITH OKEEFE    | a    |
~ | 998539 | ELSA SEITZ   3273 | CAREY KEITH     | a    |
~ | 998526 | SCOTT CARRION   2679 | KEITHA KILLIAN  | a    |
~ | 997945 | RUTHE SCHENK2597 | MARA KEITH      | a    |
~ | 997815 | MINH GOODWIN     2056 | KEITH SYLVESTER | a    |
~ | 997558 | ARTIE SOUTH 1206 | MINH FAHEY      | a    |
~ | 997189 | BETTY SOUTHERN  0556 | KEITHA MARTINI  | a    |
~ | 997187 | SUSAN SCOTT     89718 | KEITH FLAHERTY  | a    |
~ | 997098 | OTHA FAJARDO  87159 | MINH PARNELL    | a    |
~ | 997074 | SCOTT FLANDERS86143 | KEITHA YUAN     | a    |
~ | 996804 | SCOTT ENOS    85925 | VENITA SMYTH    | a    |
~ | 996461 | EDRA HIGGINBOTHAM84631 | KEITH LERNER    | a    |
~ +--------+-------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('john') ORDER BY id DESC, username ASC OPTION fuzzy=1;"
––– output –––
+--------+------------------------+------+
| id     | username               | s    |
+--------+------------------------+------+
| 999961 | JONELL ENRIGHT         | a    |
| 999932 | JONELL NIX             | a    |
| 999926 | JONAH BURNSIDE         | a    |
| 999922 | LAVONNA JONAS          | a    |
| 999860 | JOHNETTA DO            | a    |
| 999552 | JOHNNY CARNES          | a    |
| 999548 | JOHNATHAN PEPPER       | a    |
| 999509 | JOHNATHAN STUBBLEFIELD | a    |
| 999171 | JOHNNY ABRAMS          | a    |
| 999033 | AGNUS STJOHN           | a    |
| 998835 | SCARLETT JONAS         | a    |
| 998798 | JOHNATHON READ         | a    |
| 998467 | JOHNSON JEAN           | a    |
| 998393 | JOHN BACH              | a    |
| 998306 | JOHNNY TAFOYA          | a    |
| 998304 | JONG SAUER             | a    |
| 998303 | JONATHON DUPRE         | a    |
| 998278 | JOHNNIE LOR            | a    |
| 998181 | JONA ELROD             | a    |
| 998154 | JONG YORK              | a    |
+--------+------------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('jane') AND id BETWEEN 10000 AND 20000 ORDER BY username ASC OPTION fuzzy=1;"
––– output –––
+-------+--------------------+------+
| id    | username           | s    |
+-------+--------------------+------+
| 10028 | ANJANETTE PORTILLO | a    |
| 10056 | JANETTE LYNCH      | a    |
| 10629 | LANETTE SWAIN      | a    |
| 10874 | JANESSA MONTEZ     | a    |
| 10977 | RUTHANN LANEY      | a    |
| 11038 | DESIRE LANE        | a    |
| 11056 | LANELLE WATTS      | a    |
| 11397 | MELITA LANE        | a    |
| 11415 | MARYJANE HOLTZ     | a    |
| 11569 | JANETH SELBY       | a    |
| 11758 | JANETTE GANTT      | a    |
| 11834 | JANELLE DRIGGERS   | a    |
| 12100 | JAE COBLE          | a    |
| 12171 | JAE MEARS          | a    |
| 12185 | JANESSA BALTAZAR   | a    |
| 12237 | JANENE APODACA     | a    |
| 12490 | LANELLE ARNDT      | a    |
| 12536 | JANENE WALDRON     | a    |
| 12540 | ANJANETTE STAGGS   | a    |
| 12642 | HERSHEL LANEY      | a    |
+-------+--------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('EBGRNA') AND id BETWEEN 1000 AND 2000 ORDER BY username ASC OPTION fuzzy=1;"
––– output –––
+------+---------------------+------+
| id   | username            | s    |
+------+---------------------+------+
| 1354 | VERNA VITALE        | a    |
| 1784 | BERNADETTE HALES    | a    |
| 1839 | BERNARDINA MCMILLAN | a    |
| 1864 | ERNA ULLOA          | a    |
| 1948 | SAMIRA ABERNATHY    | a    |
+------+---------------------+------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM name WHERE MATCH('SARA') ORDER BY id ASC, username ASC OPTION fuzzy=1;"
––– output –––
+------+------------------+------+
| id   | username         | s    |
+------+------------------+------+
|  188 | LARA KIRK        | a    |
|  207 | CLARA MORRIS     | a    |
|  351 | KLARA DONALDSON  | a    |
|  990 | ELAINE SARABIA   | a    |
| 1409 | LARA FREDERICK   | a    |
| 1661 | SARA GARNER      | a    |
| 1831 | SARAI ESPINAL    | a    |
| 2074 | VALENTIN SARABIA | a    |
| 2930 | LARA CINTRON     | a    |
| 3045 | KLARA ANDRES     | a    |
| 3373 | KLARA NORTON     | a    |
| 3741 | CRUZ SARABIA     | a    |
| 3780 | RUSSEL LARA      | a    |
| 4700 | HEE SARABIA      | a    |
| 4933 | KLARA GOODING    | a    |
| 5830 | SARAI LINDLEY    | a    |
| 5865 | SARAN KNAPP      | a    |
| 5918 | SARA WAITE       | a    |
| 6635 | CLARA BEALE      | a    |
| 6836 | CLARA BAZAN      | a    |
+------+------------------+------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS fuzziness);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'us,ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 0 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnson |
| jonas   |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS prepend, 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS fuzziness, '' AS layouts, 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 2 AS fuzziness, 'us,ru' AS layouts, 1 AS append, 1 AS prepend, 2 AS expansion_len);" | tail -n +4 | sort
––– output –––
+-------+
| joe   |
| john  |
| jose  |
| joy   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'us' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('jo', 'name', 'ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| joe     |
| john    |
| johnie  |
| johnson |
| jordan  |
| jose    |
| joseph  |
| joshua  |
| joy     |
| joyce   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('al', 'name', 0 AS fuzziness);" | tail -n +4 | sort
––– output –––
+-----------+
| albert    |
| alexander |
| allen     |
| dale      |
| dallas    |
| donald    |
| gale      |
| kendall   |
| marshall  |
| walter    |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('mi', 'name', 0 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+---------+
| ami     |
| britni  |
| brittni |
| cami    |
| choi    |
| darci   |
| eleni   |
| jami    |
| jani    |
| jeni    |
| joi     |
| kaci    |
| kami    |
| kimi    |
| laci    |
| lani    |
| luci    |
| mancini |
| marci   |
| martini |
| melani  |
| muoi    |
| nanci   |
| neomi   |
| noemi   |
| nohemi  |
| ricci   |
| shani   |
| staci   |
| tammi   |
| toi     |
| tomi    |
| traci   |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('ch', 'name', 1 AS fuzziness, 3 AS expansion_len);" | tail -n +4 | sort
––– output –––
+-------+
| chang |
| chi   |
| chong |
| chung |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('зф', 'name', 'us,ru' AS layouts);" | tail -n +4 | sort
––– output –––
+---------+
| page    |
| paige   |
| palma   |
| palmer  |
| paris   |
| parker  |
| pat     |
| patrick |
| paul    |
| paz     |
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('зф', 'name', 'us' AS layouts);" | tail -n +4 | sort
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('gr', 'name', 1 AS fuzziness, 'ru' AS layouts, 1 AS append, 1 AS prepend);" | tail -n +4 | sort
––– output –––
+------------+
| grace      |
| gracia     |
| grady      |
| graham     |
| grant      |
| gregg      |
| gregory    |
| griffin    |
| grover     |
| montenegro |
––– input –––
mysql -h0 -P9306 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); select * from t where match('somethin') option fuzzy=0;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "select * from t where match('somethin') option fuzzy=0;"
––– output –––
––– input –––
mysql -P9306 -h0 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); call autocomplete('some', 't');"
––– output –––
+-----------+
| query     |
+-----------+
| some      |
| something |
+-----------+
––– input –––
mysql -P9306 -h0 -e "drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'something'), (2, 'some thing'); call autocomplete('some', 't');"
––– output –––
+-----------+
| query     |
+-----------+
| some      |
| something |
+-----------+
––– input –––
mysql -h0 -P9306 -e "drop table if exists t; create table t(a int);"
––– output –––
––– input –––
mysql -h0 -P9306 -e "select * from t option fuzzy=1;"
––– output –––
ERROR 1064 (42000) at line 1: The 'fuzzy' option requires a full-text query
––– input –––
mysql -h0 -P9306 -e "drop table if exists comment_28798446; create table comment_28798446(id int, content text) min_infix_len='3';"
––– output –––
––– input –––
mysql -h0 -P9306 -e "insert into comment_28798446 values (1, 'business Manticore interaction'), (2, 'buisness Manticore interation'), (3, 'other text content');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('buisness Manticore interation') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('business Manticore interaction') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM comment_28798446 WHERE MATCH('Manticore') OPTION fuzzy = 1, layouts = '';"
––– output –––
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('bus', 'comment_28798446', 'ru,us,ua' AS layouts);"
––– output –––
+----------+
| query    |
+----------+
| business |
+----------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('bus', 'comment_28798446', '' AS layouts);"
––– output –––
+----------+
| query    |
+----------+
| business |
+----------+
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS t; DEBUG SLEEP 2; CREATE TABLE t(f TEXT) min_infix_len='2';"
––– output –––
+---------+--------+
| command | result |
+---------+--------+
| sleep   | #!/[0-9]{1}.[0-9]{3}/!#  |
+---------+--------+
––– input –––
mysql -h0 -P9306 -e "INSERT INTO t VALUES (1, 'abcdef'), (2, 'abcd efgh');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcdef'); SHOW META;"
––– output –––
+------+--------+
| id   | f      |
+------+--------+
|    1 | abcdef |
+------+--------+
+----------------+--------+
| Variable_name  | Value  |
+----------------+--------+
| total          | 1      |
| total_found    | 1      |
| total_relation | eq     |
| time           | #!/[0-9]{1}.[0-9]{3}/!#  |
| keyword[0]     | abcdef |
| docs[0]        | 1      |
| hits[0]        | 1      |
+----------------+--------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcef') OPTION fuzzy=1; SHOW META;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| total          | 2     |
| total_found    | 2     |
| total_relation | eq    |
| time           | #!/[0-9]{1}.[0-9]{3}/!# |
+----------------+-------+
––– input –––
grep -A3 "SELECT \* FROM t WHERE MATCH('abcdef')" /var/log/manticore/query.log
––– output –––
/* #!/[A-Za-z]{3}\s+[A-Za-z]{3}\s+[0-9]{1,2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}\s+[0-9]{4}/!# conn %{NUMBER} (127.0.0.1:%{NUMBER}) real #!/[0-9]{1}.[0-9]{3}/!# wall #!/[0-9]{1}.[0-9]{3}/!# found 1 */ SELECT * FROM t WHERE MATCH('abcdef');
/* #!/[A-Za-z]{3}\s+[A-Za-z]{3}\s+[0-9]{1,2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}\s+[0-9]{4}/!# conn %{NUMBER} (127.0.0.1:%{NUMBER}) real #!/[0-9]{1}.[0-9]{3}/!# wall #!/[0-9]{1}.[0-9]{3}/!# found 2 */ SELECT * FROM t WHERE MATCH('abcef') OPTION fuzzy=1;
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('nonexistent'); SHOW META;"
––– output –––
+----------------+-------------+
| Variable_name  | Value       |
+----------------+-------------+
| total          | 0           |
| total_found    | 0           |
| total_relation | eq          |
| time           | #!/[0-9]{1}.[0-9]{3}/!#       |
| keyword[0]     | nonexistent |
| docs[0]        | 0           |
| hits[0]        | 0           |
+----------------+-------------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('abcdef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM t WHERE MATCH('\$#@\!') OPTION fuzzy=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS idx1; CREATE TABLE idx1(value TEXT) min_infix_len='2';"
––– output –––
––– input –––
mysql -h0 -P9306 -e "INSERT INTO idx1(value) VALUES ('340');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('34', 'idx1');"
––– output –––
+-------+
| query |
+-------+
| 340   |
+-------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('3', 'idx1');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('34', 'idx1', 1 AS fuzziness);"
––– output –––
+-------+
| query |
+-------+
| 340   |
+-------+
––– input –––
echo -e "searchd {\nlisten = 9306:mysql\nlisten = 9312\nlisten = 9308:http\nlog = /tmp/searchd.log\nquery_log = /tmp/query.log\npid_file = /tmp/searchd.pid\n}\n\nsource src_idx {\ntype = tsvpipe\ntsvpipe_command = cat /tmp/data.tsv\ntsvpipe_field_string = f\ntsvpipe_attr_bigint = id\n}\n\nindex idx_plain {\ntype = plain\nsource = src_idx\npath = /tmp/idx_plain\nmin_infix_len = 2\n}" > /tmp/manticore_idx.conf
––– output –––
––– input –––
echo -e "1\tabcdef\n2\tabcd efgh\n3\trandom text" > /tmp/data.tsv
––– output –––
––– input –––
mkdir -p /tmp/idx_plain && chmod 777 /tmp/idx_plain
––– output –––
––– input –––
indexer --all --config /tmp/manticore_idx.conf > /dev/null 2>&1
––– output –––
––– input –––
rm -f /tmp/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd -c /tmp/manticore_idx.conf; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
[#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/tmp/manticore_idx.conf' (%{NUMBER} chars)...
starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION})' ...
listening on all interfaces for mysql, port=9306
listening on all interfaces for sphinx and http(s), port=9312
listening on all interfaces for sphinx and http(s), port=9308
precaching table 'idx_plain'
precached 1 tables in #!/[0-9]{1,2}.[0-9]+/!# sec
Buddy started!
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES;"
––– output –––
+-----------+-------+
| Table     | Type  |
+-----------+-------+
| idx_plain | local |
+-----------+-------+
––– input –––
mysql -h0 -P9306 -e "SHOW TABLE idx_plain SETTINGS;"
––– output –––
+---------------+-------------------+
| Variable_name | Value             |
+---------------+-------------------+
| settings      | min_infix_len = 2 |
+---------------+-------------------+
––– input –––
mysql -h0 -P9306 -e "show version\G;"
––– output –––
*************************** 1. row ***************************
Component: Daemon
Version: %{VERSION}
*************************** 2. row ***************************
Component: Columnar
Version: columnar %{VERSION}
*************************** 3. row ***************************
Component: Secondary
Version: secondary %{VERSION}
*************************** 4. row ***************************
Component: KNN
Version: knn %{VERSION}
*************************** 5. row ***************************
Component: Buddy
Version: buddy %{VERSION}
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcdef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcef') OPTION fuzzy=1;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    1 | abcdef    |
|    2 | abcd efgh |
+------+-----------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('nonexistent') OPTION fuzzy=1;"
––– output –––
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('abc', 'idx_plain');"
––– output –––
+--------+
| query  |
+--------+
| abcd   |
| abcdef |
+--------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('ran', 'idx_plain');"
––– output –––
+--------+
| query  |
+--------+
| random |
+--------+
––– input –––
mysql -h0 -P9306 -e "CALL AUTOCOMPLETE('zzz', 'idx_plain');"
––– output –––
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcdef') OPTION fuzzy=0;"
––– output –––
+------+--------+
| id   | f      |
+------+--------+
|    1 | abcdef |
+------+--------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM idx_plain WHERE MATCH('abcd efgh') OPTION fuzzy=0;"
––– output –––
+------+-----------+
| id   | f         |
+------+-----------+
|    2 | abcd efgh |
+------+-----------+
```

</details>
author_association: CONTRIBUTOR