[MDEV-17197] "1713: Undo log record is too big" for instant ADD COLUMN with long DEFAULT for BLOB Created: 2018-09-14 Updated: 2018-10-12 |
|
| Status: | Confirmed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 10.3.2 |
| Fix Version/s: | 10.4 |
| Type: | Bug | Priority: | Major |
| Reporter: | Marko Mäkelä | Assignee: | Marko Mäkelä |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | instant | ||
| Attachments: |
|
||||||||||||||||||||||||||||
| Issue Links: |
|
||||||||||||||||||||||||||||
| Description |
|
The following change to the
We seem to be attempting to write the default value to the undo log record. Work-arounds:
|
| Comments |
| Comment by Marko Mäkelä [ 2018-10-12 ] |
|
I believe that fixing this requires an undo log format change. It seems that instead of copying the default values to the undo log record or omitting the values altogether, we should write something special that allows the equivalent of btr_cur_trim() to be performed during rollback. Because long default values should be rare in practice, and because this bug does not cause any corruption, I do not think that it is feasible to fix this in the stable 10.3 series. The bug can be worked around by not specifying long DEFAULT values for instantly added columns, or by adding the , FORCE keyword, so that the table will be rebuilt instead of performing instant ADD COLUMN. |