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)

Reply via email to