[MDEV-15544] IMPORT TABLESPACE silently corrupts BLOB data Created: 2018-03-12 Updated: 2018-11-02 Resolved: 2018-11-02 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 10.1.26 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | Stefan Seidel | Assignee: | Unassigned |
| Resolution: | Incomplete | Votes: | 0 |
| Labels: | need_feedback, upstream | ||
| Environment: |
Debian 8, Debian 9 |
||
| Issue Links: |
|
||||||||||||||||
| Description |
|
I have copied a .idb data file from an Debian 8 10.0.32 MariaDB to an Debian 9 10.1.26 MariaDB and imported the new tablespace with an identical `CREATE TABLE` statement. The IMPORT went without problems, the table was accessible, but the BLOB data column was corrupted. Each BLOB data on the new DB had 3 (seemingly) random bytes at the beginning of the data and was missing 3 bytes at the end. Importing the same .ibd file back to the original DB as well as to a different 10.0.32 MariaDB showed correct data. `OPTIMIZE TABLE` on the new, imported table didn't fix the problem and didn't show any errors. I can provide the `CREATE TABLE` statement and the DB file (~2GB, 240MB compressed) on request. |
| Comments |
| Comment by Elena Stepanova [ 2018-03-16 ] | |||||||||
|
Let's start with the CREATE statement, please do provide it. Thanks. | |||||||||
| Comment by Stefan Seidel [ 2018-03-19 ] | |||||||||
|
| |||||||||
| Comment by Elena Stepanova [ 2018-10-05 ] | |||||||||
|
Hi sseidel,
But if you do it without the cfg file, it skips metadata checks and imports the tablespace incorrectly. Assuming the reason is the same on your side, the workaround is setting set global mysql56_temporal_format = OFF. After that you should be able to import the tablespace. |