I have an issue where I get periodic failures (~50%) for an UPSERT SELECT query involving a JOIN on salted tables. Unfortunately I haven't been able to create a reproducible test case yet, though I'll keep trying. I believe this same behaviour existed in 4.3.1 as well, so I don't think it's a regression.
The upsert query itself looks something like this:
Without the upsert, the query always returns the right data, but with the upsert, it ends up with failures like:
Error: ERROR 201 (22000): Illegal data. ERROR 201 (22000): Illegal data. Expected length of at least 109 bytes, but had 19 (state=22000,code=201)
The explain plan looks like:
I'm using SALT_BUCKETS=16 for both tables in the join, and this is a dev environment, so only 1 region server. Note that without salted tables, I have no issue with this query.
The number of rows in E_C is around 23K, and the number of rows in E_S is 62.