Skip to content

Crash raised by Delete statement.(PG17.2 citus 13.0.3) #8198

@duerwuyi

Description

@duerwuyi

citus version:

SELECT citus_version();
---Citus 13.0.3 on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit

PG version: 17.2
schema:

---create 5 workers, and we also found the bug can be reproduced without workers
select * from citus_add_node('docker-worker1-1', 5432);

select * from citus_add_node('docker-worker2-1', 5432);

select * from citus_add_node('docker-worker3-1', 5432);

select * from citus_add_node('docker-worker4-1', 5432);

select * from citus_add_node('docker-worker5-1', 5432);

DROP TABLE IF EXISTS t6;
create table t6 ( 
vkey int4 ,
pkey int4 ,
c8 timestamp ,
c9 numeric ,
c10 numeric ,
c11 text ,
c12 text ,
c13 int4 ,
c14 int4 ,
c15 timestamp 

);SELECT create_reference_table('t6');
DROP TABLE IF EXISTS t9;
create table t9 ( 
vkey int4 ,
pkey int4 ,
c25 numeric ,
c26 int4 

);SELECT create_reference_table('t9');
DROP TABLE IF EXISTS t12;
create table t12 ( 
vkey int4 ,
pkey int4 ,
c16 int4 ,
c17 int4 ,
c18 timestamp ,
c19 numeric ,
c20 int4 ,
c21 text ,
c22 text ,
c23 text ,
colocated_key int4 

);SELECT create_distributed_table('t12','colocated_key', colocate_with:='t10');
DROP TABLE IF EXISTS t18;
create table t18 ( 
vkey int4 ,
pkey int4 ,
c24 timestamp 

);SELECT create_distributed_table('t18','vkey', colocate_with:='t17');
DROP TABLE IF EXISTS t20;
create table t20 ( 
vkey int4 ,
pkey int4 ,
c0 int4 ,
c1 int4 ,
c2 text ,
c3 numeric ,
c4 numeric ,
c5 timestamp ,
c6 int4 ,
c7 numeric 

);SELECT create_distributed_table('t20','vkey', colocate_with:='t18');

query:

--- query
delete from t18
where 
((false::bool) in (select  
          null::bool as c_0
        from 
          t12 as ref_0
        where (ref_0.c23) !~~* (ref_0.c22)
      except
      select  
          true::bool as c_0
        from 
          t18 as ref_1
        where exists (
          select  
              ref_2.c1 as c_0, 
              ref_2.c6 as c_1, 
              ref_2.pkey as c_2
            from 
              t20 as ref_2
            where false::bool))) 
  or ((pg_catalog.citus_version()) <= ( 
    select  
        'arKwIv+u}<7XL?*74+YE' as c_0
      from 
        (t20 as ref_3
          full outer join t6 as ref_4
          on (ref_3.vkey = ref_4.vkey ))
      where (false::bool) 
        or (exists (
          select  
              ref_5.vkey as c_0, 
              (ref_3.c3) = (ref_4.c10) as c_1, 
              ref_5.c25 as c_2, 
              (select c2 from t20 order by c2 limit 1 offset 6)
                 as c_3, 
              ref_5.vkey as c_4, 
              (select vkey from t12 order by vkey limit 1 offset 1)
                 as c_5, 
              ref_5.pkey as c_6, 
              ref_5.c25 as c_7, 
              ref_5.c25 as c_8, 
              ref_5.vkey as c_9
            from 
              t9 as ref_5
            where (ref_4.c11) >= ('')))
      order by c_0 desc
       limit 1))

log from coordinator:

coord_20250917_0725-0740.log

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions