[MCOL-4657] Concurrent DML test sometimes failed with a 'Blocks are missing' error Created: 2021-04-01  Updated: 2023-07-02

Status: Open
Project: MariaDB ColumnStore
Component/s: DMLProc, ExeMgr
Affects Version/s: 5.5.2
Fix Version/s: Icebox

Type: Bug Priority: Major
Reporter: Daniel Lee (Inactive) Assignee: Leonid Fedorov
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Relates
relates to MCOL-2249 Tables fail to load with Error: Alter... Closed

 Description   

Build tested: 5.5.2-1

Test environment: single server Centos 8 VM

This error does not happen all the time or infrequent. I encountered it one out of few test runs.

The test is part of the Autopilot concurrency.concurDML test.

The following is essentially what the tests does

1. Load a 1g dbt3 database using LDI using cpimport
2. Run queries on all table continuously in the back ground until the update test (next step) is done. The following example is for the supplier table:

select count(*) from supplier where s_suppkey < 0;
select count(*) from supplier where s_comment > 'zzzz';

3. Run update and roll back test concurrently

set autocommit=0;
update supplier set s_suppkey=-1;
update supplier set s_comment='zzzz-1';
rollback;
update supplier set s_suppkey=-2;
update supplier set s_comment='zzzz-2';
rollback;
.
.
.
update supplier set s_suppkey=-100;
update supplier set s_comment='zzzz-100';
rollback;

The idea is that the queries in step 2 should always return 0 rows since auto commit is off and updates always got rolled back. There seem to be some type of timing issue in this concurrency scenario. This test was done on a single VM. I don't know if this issue would occur more frequent in a high speed environment.

The query in step 2 returned the follow error:

ERROR 1815 (HY000) at line 2: Internal error: IDB-2031: Blocks are missing. Alter or drop table in progress?


Generated at Thu Feb 08 02:52:00 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.