Server crashes when using UPDATE with JOIN on REFERENCE TABLEs

Consider this schema:

create reference table t1 (id int primary key);
create reference table t2 (id int primary key, t1_id int, foreign key (t1_id) references t1 (id));
create reference table t3 (id int primary key, t2_id int, x int, foreign key (t2_id) references t2 (id));

insert into t1 values (1), (2), (3), (4);
insert into t2 values (1, 1), (2, 1), (3, 2), (4, 4);
insert into t3 values (1, 1, 1), (2, 2, 2), (3, 3, 3), (4, 4, 4);

Now, run this UPDATE:

update (
  t3
    join (
      t2
        join t1
          on t2.t1_id = t1.id
    )
      on t3.t2_id = t2.id
  )
set
  t3.x = 2
where (
  t3.t2_id = 1
  and t1.id = 1
)

It crashes the server producing the following error:

SQL Error [08S01]: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

I’m using the latest version from docker hub:
https://hub.docker.com/r/singlestore/cluster-in-a-box

Which corresponds to the tag alma-7.8.9-e94a66258d-4.0.7-1.13.9

Thank you for providing feedback on this Lukas! :raised_hands: I’ve passed this along. Much appreciated and Happy Friday!