[MCOL-3749] Truncate may cause mysqld to assert during update Created: 2020-01-29 Updated: 2020-11-12 Resolved: 2020-02-11 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | MDB Plugin |
| Affects Version/s: | 1.4.2 |
| Fix Version/s: | 1.4.3, 1.5.1 |
| Type: | Bug | Priority: | Critical |
| Reporter: | David Hall (Inactive) | Assignee: | Daniel Lee (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Sprint: | 2020-1, 2020-2 | ||||||||
| Description |
|
The following query crashes mysqld: |
| Comments |
| Comment by David Hall (Inactive) [ 2020-01-29 ] |
|
During the update, we add warnings that we truncated. During the final my_ok call, we try to set the message to number of mods etc. This causes an assertion that a message is already set. The problem is that we think we should error on warnings (strict), but we don't. The strict causes the final message to be an error about truncation. Then we try to add the normal update final message – assertion. (Do we actually do the update? Need to look into that.) Also, we don't seem to pay attention to the keyword IGNORE in the query, which causes InnoDB to not error, but issue warnings. |
| Comment by David Hall (Inactive) [ 2020-01-29 ] |
|
Upon range warning, we set thd->abort_on_warning to true. Theoretically, this was supposed to stop the problem from happening. It doesn't do what we want. |
| Comment by David Hall (Inactive) [ 2020-01-29 ] |
|
We need to return the error code from doUpdateDelete() which in turn sends it on th handler. Without a return code, handler isn't smart enough to know there was an error. |
| Comment by David Hall (Inactive) [ 2020-02-07 ] |
|
QA: This only breaks immediately for debug builds. Release builds may or may not ever show symptoms. To test, just attempt to update a char(8) field (longer doesn't break) with a string > 8 bytes. |
| Comment by Daniel Lee (Inactive) [ 2020-02-07 ] |
|
Build verified: 1.4.3-1 source server commit 90fb6f56db926337d1dd900a9f87c7db9e37a566 Non-debug does not have the issue. |
| Comment by Daniel Lee (Inactive) [ 2020-02-11 ] |
|
Build verified: 1.5.0-1 source server |