Lchangliang opened a new pull request, #15654:
URL: https://github.com/apache/doris/pull/15654

   # Proposed changes
   
   Issue Number: close #xxx
   
   ## Problem summary
   example:
   ```
   CREATE TABLE IF NOT EXISTS sale (
                   `user_id` LARGEINT NOT NULL COMMENT "用户id",
                   `date` DATE NOT NULL COMMENT "数据灌入日期时间",
                   `age` SMALLINT COMMENT "用户年龄",
                   `sex` TINYINT COMMENT "用户性别",
                   `city` VARCHAR(20) DEFAULT "beijing "COMMENT "用户所在城市",
                   `last_visit_date` DATETIME DEFAULT "1970-01-01 00:00:00" 
COMMENT "用户最后一次访问时间",
                   `last_update_date` DATETIME DEFAULT "1970-01-01 00:00:00" 
COMMENT "用户最后一次更新时间",
                   `last_visit_date_not_null` DATETIME NOT NULL DEFAULT 
"1970-01-01 00:00:00" COMMENT "用户最后一次访问时间",
                   `cost` BIGINT DEFAULT "0" COMMENT "用户总消费",
                   `max_dwell_time` INT DEFAULT "0" COMMENT "用户最大停留时间",
                   `min_dwell_time` INT DEFAULT "99999" COMMENT "用户最小停留时间")
               UNIQUE KEY(`user_id`, `date`, `age`, `sex`) DISTRIBUTED BY 
HASH(`user_id`)
               BUCKETS 1
               PROPERTIES ( "replication_num" = "1", "light_schema_change" = 
"true");
   
   insert datas
   
   ALTER TABLE sale ADD ROLLUP rollup(`user_id`,`date`,`age`, `sex`, `cost`);
   
   select rollup
   coredump
   ```
   
   
![image](https://user-images.githubusercontent.com/31928846/210744630-ff870a56-962d-46b2-aef2-fc785ddcf1ae.png)
   
   Because of the rollup has the same keys and the keys's order is same, BE 
will do linked schema change. The base tablet's segments will link to the new 
rollup tablet. But the unique id from the base tablet is starting from 0 and as 
the rollup tablet also. In this case, the unique id 4 in the base table is 
column 'city', but in the rollup tablet is 'cost'. It will decode the varcode 
page to bigint page so that be coredump. It needs to be rejected.
   
   I think that if a rollup add by link schema change, it means this rollup is 
redundant. It brings no additional revenue and wastes storage space. So 
   
   ## Checklist(Required)
   
   1. Does it affect the original behavior: 
       - [ ] Yes
       - [ ] No
       - [ ] I don't know
   2. Has unit tests been added:
       - [ ] Yes
       - [ ] No
       - [ ] No Need
   3. Has document been added or modified:
       - [ ] Yes
       - [ ] No
       - [ ] No Need
   4. Does it need to update dependencies:
       - [ ] Yes
       - [ ] No
   5. Are there any changes that cannot be rolled back:
       - [ ] Yes (If Yes, please explain WHY)
       - [ ] No
   
   ## Further comments
   
   If this is a relatively large or complex change, kick off the discussion at 
[d...@doris.apache.org](mailto:d...@doris.apache.org) by explaining why you 
chose the solution you did and what alternatives you considered, etc...
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to