You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@doris.apache.org by GitBox <gi...@apache.org> on 2019/04/22 12:45:27 UTC

[GitHub] [incubator-doris] kangkaisen opened a new issue #992: unknown node id error for stream load after decommission BE

kangkaisen opened a new issue #992: unknown node id error for stream load after decommission BE
URL: https://github.com/apache/incubator-doris/issues/992
 
 
   **Describe the bug**
   After we decommission BE, there will be a "unknown node id, id=xxx" error for stream load.
   
   ```
   {
       "Status": "Fail",
       "Message": "unknown node id, id=10003",
       "NumberLoadedRows": 0,
       "NumberFilteredRows": 0,
       "LoadBytes": 0,
       "LoadTimeMs": 0,
       "Label": "43fb601a-2025-4f3d-89c9-07382aac0d54"
   }
   ```
   
   **To Reproduce**
   Steps to reproduce the behavior:
   1 create a table
   ```
   CREATE TABLE `stream_test` (
     `id` bigint,
     `id2` bigint
   ) ENGINE=OLAP
   DUPLICATE KEY(`id`)
   DISTRIBUTED BY HASH(`id`) BUCKETS 20;
   ```
   
   2 load some data
   
   ```
   seq 1 10000 | awk '{OFS="\t"}{print $1, $1 * 10}' | curl --location-trusted -u xxx:xxx -T - http://xxx.com:8410/api/test/stream_test/_stream_load
   ```
   
   3 decommission a BE
   
   ```
   ALTER SYSTEM DECOMMISSION BACKEND "xxx:9050";
   ```
   
   4 wait the decommission join finish
   
   5 load some data again
   
   ```
   seq 1 10000 | awk '{OFS="\t"}{print $1, $1 * 10}' | curl --location-trusted -u xxx:xxx -T - http://xxx.com:8410/api/test/stream_test/_stream_load
   ```
   
   6 the error will happen.
   
   The reason is the TTabletLocation contains the decommissioned BE:
   
   The 411221 is the decommissioned BE.
   ```
   tablets:[TTabletLocation(tablet_id:411224, node_ids:[10002,
   411221, 411121, 383436]), TTabletLocation(tablet_id:411228, node_ids:[10002, 411221, 411121, 383436]), TTabletLocation(tablet_id:4
   11232, node_ids:[10002, 411221, 411121, 383436]), TTabletLocation(tablet_id:411236, node_ids:[10002, 411221, 411121, 383436]), TTa
   bletLocation(tablet_id:411240, node_ids:[10002, 411221, 411121, 383436]), TTabletLocation(tablet_id:411244, node_ids:[10002, 41122
   1, 411121, 383436]), TTabletLocation(tablet_id:411248, node_ids:[10002, 411221, 411121, 383436]), TTabletLocation(tablet_id:411252
   , node_ids:[10002, 411221, 411121, 383436]), TTabletLocation(tablet_id:411256, node_ids:[10002, 411121, 383436]), TTabletLocation(
   tablet_id:411260, node_ids:[10002, 411221, 411121, 383436]), TTabletLocation(tablet_id:411264, node_ids:[10002, 411221, 411121, 38
   3436]), TTabletLocation(tablet_id:411268, node_ids:[10002, 411221, 411121, 383436]), TTabletLocation(tablet_id:411272, node_ids:[1
   0002, 411221, 411121, 383436]), TTabletLocation(tablet_id:411276, node_ids:[10002, 411221, 411121, 383436]), TTabletLocation(table
   t_id:411280, node_ids:[10002, 411221, 411121, 383436]), TTabletLocation(tablet_id:411284, node_ids:[10002, 411221, 411121, 383436]
   ), TTabletLocation(tablet_id:411288, node_ids:[10002, 411121, 383436]), TTabletLocation(tablet_id:411292, node_ids:[10002, 411221,
    411121, 383436]), TTabletLocation(tablet_id:411296, node_ids:[10002, 411221, 411121, 383436]), TTabletLocation(tablet_id:411300,
   node_ids:[10002, 411221, 411121, 383436])]),
   ```
   
   I think when we `getBackendIdsList` we should ensure the replica backend is available.
   

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@doris.apache.org
For additional commands, e-mail: dev-help@doris.apache.org