Details
-
Bug
-
Status: Open (View Workflow)
-
Minor
-
Resolution: Unresolved
-
N/A
-
None
Description
Notes:
I'm setting it to Minor because running REPAIR .. USE_FRM without a good reason, and besides concurrently with other queries, isn't a great idea anyway. It is mostly a problem for tests, as it may mask real corruption errors.
The test case is obviously non-deterministic. It currently fails for me every time on a local build, but I expect that the required timeouts and row counts will depend on the machine and build type. Please don't put it into the regression suite.
The eventual timeout error with which SELECT ends is already questionable, but this part is not specific to the vector branch, apparently there is some extra locking between this type of SELECT and REPAIR. However, corruption errors and "ref_count=1 after shutdown" appear to be specific to the vector key.
INTO OUTFILE is not essential for the test case, I added it to avoid overwhelming MTR with buffering too much data, which itself causes bogus failures.
--source include/have_sequence.inc
|
|
CREATE TABLE t (pk INT PRIMARY KEY, v VECTOR(48) NOT NULL, VECTOR(v)) ENGINE=MyISAM; |
INSERT INTO t SELECT s2.seq, VEC_FROMTEXT(concat('[', GROUP_CONCAT(s1.seq), ']')) FROM seq_1_to_48 s1, seq_1_to_1800 s2 GROUP BY s2.seq; |
|
--connect (con1,localhost,root,,)
|
SET max_statement_time= 5; |
--send
|
SELECT tb1.v, HEX(tb1.v) INTO OUTFILE 'x' FROM t tb1 JOIN t tb2; |
|
--connection default
|
--let $show_statement= SHOW PROCESSLIST
|
--let $field= State
|
--let $condition= = 'Sending data'
|
--source include/wait_show_condition.inc
|
|
SET lock_wait_timeout= 3; |
REPAIR TABLE t USE_FRM; |
|
# Cleanup
|
--connection con1
|
--disable_result_log
|
--error 0,ER_STATEMENT_TIMEOUT
|
--reap
|
DROP TABLE t; |
--disconnect con1 |
3e03a45aa4c69e5aa76c9396547797a895a98edc |
REPAIR TABLE t USE_FRM; |
Table Op Msg_type Msg_text |
t repair error Failed generating table from .frm file |
test.t repair Error Engine MyISAM failed to discover table `test`.`t` with 'CREATE TABLE i ( layer tinyint not null, tref varbinary(6), vec blob not null, neighbors blob not null, unique (tref), key (layer)) ' |
test.t repair error Corrupt
|
connection con1; |
DROP TABLE t; |
disconnect con1;
|
bug.w1c [ pass ] 5667
|
***Warnings generated in error logs during shutdown after running tests: bug.w1c |
|
2024-11-04 2:44:07 0 [ERROR] Plugin 'MyISAM' has ref_count=1 after shutdown. |
Warning: Internal memory accounting error of 32 bytes |
Same happens with Aria.
Attachments
Issue Links
- is caused by
-
MDEV-34939 vector search in 11.7
- Closed