I don't want to cut over for 5.0 either way. I was more contrasting a
configurable cutover in 5.0 vs. a hard cutover later.

On Fri, May 12, 2023 at 12:09 PM Benedict <bened...@apache.org> wrote:

> If the performance characteristics are as clear cut as you think, then
> maybe it will be an easy decision once the evidence is available for
> everyone to consider?
>
> If not, then we probably can’t do the hard cutover and so the answer is
> still pretty simple?
>
> On 12 May 2023, at 18:04, Caleb Rackliffe <calebrackli...@gmail.com>
> wrote:
>
> 
> I don't particularly like the YAML solution either, but absent that, we're
> back to fighting about whether we introduce entirely new syntax or hard cut
> over to SAI at some point.
>
> We already have per-node configuration in the YAML that determines whether
> or not we can create a 2i at all, right?
>
> What if we just do #2 and #3 and punt on everything else?
>
> On Fri, May 12, 2023 at 11:56 AM Benedict <bened...@apache.org> wrote:
>
>> A table is not a local concept at all, it has a global primary index -
>> that’s the core idea of Cassandra.
>>
>> I agree with Brandon that changing CQL behaviour like this based on node
>> config is really not ideal. New syntax is by far the simplest and safest
>> solution to this IMO. It doesn’t have to use the word LOCAL, but I think
>> that’s anyway an improvement, personally.
>>
>> In future we will hopefully offer GLOBAL indexes, and IMO it is better to
>> reify the distinction in the syntax.
>>
>> On 12 May 2023, at 17:29, Caleb Rackliffe <calebrackli...@gmail.com>
>> wrote:
>>
>> 
>> We don't need to know everything about SAI's performance profile to plan
>> and execute some small, reasonable things now for 5.0. I'm going to try to
>> summarize the least controversial package of ideas from the discussion
>> above. I've left out creating any new syntax. For example, I think CREATE
>> LOCAL INDEX, while explicit, is just not necessary. We don't use CREATE
>> LOCAL TABLE, although it has the same locality as our indexes.
>>
>> Okay, so the proposal for 5.0...
>>
>> 1.) Add a YAML option that specifies a default implementation for CREATE
>> INDEX, and make this the legacy 2i for now. No existing DDL breaks. We
>> don't have to commit to the absolute superiority of SAI.
>> 2.) Add USING...WITH... support to CREATE INDEX, so we don't have to go
>> to market using CREATE CUSTOM INDEX, which feels...not so polished. (The
>> backend for this already exists w/ CREATE CUSTOM INDEX.)
>> 3.) Leave in place but deprecate (client warnings could work?) CREATE
>> CUSTOM INDEX. Support the syntax for the foreseeable future.
>>
>> Can we live w/ this?
>>
>> I don't think any information about SAI we could possibly acquire before
>> a 5.0 release would affect the reasonableness of this much.
>>
>>
>> On Fri, May 12, 2023 at 10:54 AM Benedict <bened...@apache.org> wrote:
>>
>>> if we didn't have copious amounts of (not all public, I know, working on
>>> it) evidence
>>>
>>>
>>> If that’s the assumption on which this proposal is based, let’s discuss
>>> the evidence base first, as given the fundamentally different way they work
>>> (almost diametrically opposite), I would want to see a very high quality of
>>> evidence to support the claim.
>>>
>>> I don’t think we can resolve this conversation effectively until this
>>> question is settled.
>>>
>>> On 12 May 2023, at 16:19, Caleb Rackliffe <calebrackli...@gmail.com>
>>> wrote:
>>>
>>> 
>>> > This creates huge headaches for everyone successfully using 2i today
>>> though, and SAI *is not* guaranteed to perform as well or better - it has a
>>> very different performance profile.
>>>
>>> We wouldn't have even advanced it to this point if we didn't have
>>> copious amounts of (not all public, I know, working on it) evidence it did
>>> for the vast majority of workloads. Having said that, I don't strongly
>>> agree that we should make it the default in 5.0, because performance isn't
>>> the only concern. (correctness, DDL back-compat, which we've sort of
>>> touched w/ the YAML default option, etc.)
>>>
>>> This conversation is now going in like 3 different directions, or at
>>> least 3 different "packages" of ideas, so there isn't even a single thing
>>> to vote on. Let me read through again and try to distill into something
>>> that we might be able to do so with...
>>>
>>> On Fri, May 12, 2023 at 7:56 AM Aleksey Yeshchenko <alek...@apple.com>
>>> wrote:
>>>
>>>> This.
>>>>
>>>> I would also consider adding CREATE LEGACY INDEX syntax as an alias for
>>>> today’s CREATE INDEX, the latter to be deprecated and (in very distant
>>>> future) removed.
>>>>
>>>> On 12 May 2023, at 13:14, Benedict <bened...@apache.org> wrote:
>>>>
>>>> This creates huge headaches for everyone successfully using 2i today
>>>> though, and SAI *is not* guaranteed to perform as well or better - it has a
>>>> very different performance profile.
>>>>
>>>> I think we should deprecate CREATE INDEX, and introduce new syntax
>>>> CREATE LOCAL INDEX to make clear that this is not a global index, and that
>>>> this should require the USING syntax to avoid this problem in future.
>>>>
>>>> We should report warnings to the client when CREATE INDEX is used,
>>>> indicating it is deprecated.
>>>>
>>>>
>>>>

Reply via email to