vesoft-inc / nebula

A distributed, fast open-source graph database featuring horizontal scalability and high availability
https://nebula-graph.io
Apache License 2.0
10.83k stars 1.2k forks source link

When LOOKUP ON Tag by geo index the storaged service will crash #5919

Closed k1995 closed 3 months ago

k1995 commented 3 months ago

社区论坛原链接 https://discuss.nebula-graph.com.cn/t/topic/15886

It's works well when there is only one geo index in the tag, but there will be problems when adding other indexes

Steps to reproduce the behavior:

  1. Create Empty Space
    CREATE SPACE `test` (partition_num = 10, replica_factor = 1, charset = utf8, collate = utf8_bin, vid_type = FIXED_STRING(32));
  2. Create Tag
    CREATE TAG `event` ( `gps` geography(point) NULL, `background_id` int64 NULL) ttl_duration = 0, ttl_col = "";
  3. Create Index
    CREATE TAG INDEX `event_bg_idx` ON `event` ( `background_id`);
    CREATE TAG INDEX `event_gps_idx` ON `event` ( `gps`);
  4. Insert Data
    INSERT VERTEX event (gps) VALUES "1":(ST_GeogFromText("POINT(107.09271891276 34.356034884983)"));
  5. Search by gps
    LOOKUP ON event
    WHERE ST_DWithin(event.gps, ST_GeogFromText("POINT(107.09271891271 54.356034884983)"), 10)
    YIELD id(VERTEX) as node

Storage Error: RPC failure, probably timeout