Yingchun Lai created KUDU-3332:
----------------------------------
Summary: Master coredump when add columns after unsafe_rebuild
master
Key: KUDU-3332
URL: https://issues.apache.org/jira/browse/KUDU-3332
Project: Kudu
Issue Type: Bug
Components: CLI
Affects Versions: NA
Reporter: Yingchun Lai
When do master unsafe_rebuild, tables' next_column_id is set to (2^31 - 1) / 2,
i.e. 2^30 - 1.
After that, new added column's id is set to 2^30 - 1, 2^30, 2^30 + 1, ... We
use an IdMapping to maintainance column id to it's index, like 2^30 - 1 -> 200,
2^30 -> 201, 2^30 + 1 -> 202.
However, the IdMapping's implemention use a vector to save all the k-v pairs,
and the key is nearly the index of IdMapping. So we have to use a very large
vector to save a column id like 2^30, and future more, it will increase doubly
when found capacity not enough.
When the column id is 2^30, the double size is 2^31, which is overflow, will
cause master crash.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)