LP #1620509: The table '__maatkit_char_chunking_map' is full

Description

**Reported in Launchpad by Puggan last update 13-12-2016 12:41:08

Data:

CREATE TABLE test.pt_zerospace (
a varchar(100) CHARACTER SET utf8 NOT NULL,
PRIMARY KEY (a)
) ENGINE=InnoDB;

INSERT INTO test.pt_zerospace SELECT 'abcdef';
INSERT INTO test.pt_zerospace SELECT CONCAT(x'E2808B', 'zerospace E2808B');

Command:
pt-table-sync --databases=test --tables=pt_zerospace --execute --no-bin-log --chunk-size=2 DSN1 DSN2

Error:
The table '__maatkit_char_chunking_map' is full [for Statement "INSERT INTO `test`.`__maatkit_char_chunking_map` VALUES (CHAR)" with ParamValues: 0=55691] at line 4030 while doing test.pt_zerospace on DSN2

Environment

None

Smart Checklist

Activity

Show:

Nemanja Stambolic December 7, 2018 at 12:28 PM

This issue is present all along with pt-table-sync 3.0.x series as well.

Using latest pt-table-sync 3.0.12 from Percona Debian official repo.

 

The thing is, this is not PT bug per se, but rather a misconception of the usage of MEMORY engine.

 

Legacy parts from the Maatkit are still present on Percona toolkit, and they do the harm.

 So I have patched it with Aria as a storage engine instead of MEMORY:

 

Note it's still a TEMPORARY table.

On line 4094 of the pt-table-sync 3.0.12:

 

So now it works w/o that nasty error of chunking table being full at runtime.

 

 

lpjirasync January 24, 2018 at 9:19 PM

**Comment from Launchpad by: Sveta Smirnova on: 13-12-2016 12:40:55

Thank you for the report.

With version 2.2.19 I get one more error:

sveta@Thinkie:~/build/ps-5.7/mysql-test$ ~/build/percona-toolkit/bin/pt-table-sync h=127.0.0.1,P=13001,u=root,D=test,t=pt_zerospace h=127.0.0.1,P=13002,u=root,D=test,t=pt_zerospace --execute
Field 'a' doesn't have a default value [for Statement "INSERT INTO `test`.`pt_zerospace`() VALUES () /percona-toolkit src_db:test src_tbl:pt_zerospace src_dsn=test,P=13001,h=127.0.0.1,t=pt_zerospace,u=root dst_db:test dst_tbl:pt_zerospace dst_dsn=test,P=13002,h=127.0.0.1,t=pt_zerospace,u=root lock:0 transaction:1 changing_src:0 replicate:0 bidirectional:0 pid:12107 user:sveta host:Thinkie/"] at line 10762 while doing test.pt_zerospace on 127.0.0.1

Bug confirmed.

lpjirasync January 24, 2018 at 9:19 PM

**Comment from Launchpad by: Puggan on: 06-09-2016 13:09:02

Tested on a newer system, and got another error insted:

pt-table-sync --version
pt-table-sync 2.2.16

pt-table-sync --databases=test --tables=pt_zerospace --execute --no-bin-log --chunk-size=2 DSN1 DSN2

Failed to prepare TableSyncChunk plugin: Use of uninitialized value $last_char in range (or flop) at /usr/bin/pt-table-sync line 4013. while doing test.pt_zerospace on DSN2

lpjirasync January 24, 2018 at 9:19 PM

**Comment from Launchpad by: Puggan on: 06-09-2016 08:45:59

pt-table-sync --version
pt-table-sync 2.2.7

Details

Assignee

Reporter

Priority

Fix versions

Smart Checklist

Created January 24, 2018 at 9:18 PM
Updated May 18, 2024 at 12:07 AM