ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Valentin Kulichenko <valentin.kuliche...@gmail.com>
Subject Re: [DISCUSSION] Fail on non-colocated join
Date Tue, 02 Feb 2021 19:27:03 GMT
I think it should be the first option - just throw a clear exception if a
query with a non-colocated join is executed without the flag set.
Explicitly turning this mode on seems wrong, because in most cases this is
not what a user intends to do.

We also should make sure to run performance tests. As far as I know, this
was not implemented initially because the assumption was that performing
such a check on every single query might have a significant negative
impact, especially for OLTP patterns that require low latency and high


On Tue, Feb 2, 2021 at 7:18 AM Max Timonin <timonin.maxim@gmail.com> wrote:

> Hi, Igniters!
> Last week I investigated a bug [1]. It's about an incorrect result for
> non-colocated joins. For such joins it's required to set up the
> "distributedJoin" flag, or try to make joined tables colocated. It is
> covered in docs [2]. But it's not obvious and some users don't read that or
> forget about that. In result there are wrong results for some queries that
> are pretty hard to debug.
> There is a ticket [3] with a comment, where it's suggested to add a check
> for such joins. I tried to implement it and found a place where it's
> possible to put this check. But there is an open question what this check
> should do. Currently I see 2 ways for that:
> 1. Forbid non-colocated joins that aren't marked with the distributedJoin
> flag, and throw an exception.
> 2. Check every query for such joins and implicitly setup a distributedJoin
> flag for them.
> Both solutions may break compatibility, but is this compatibility OK?
> Igniters, what do you think?
> [1] https://issues.apache.org/jira/browse/IGNITE-12847
> [2]
> https://ignite.apache.org/docs/latest/SQL/distributed-joins#distributed-joins
> [3] https://issues.apache.org/jira/browse/IGNITE-13019

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message