You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by 18624049226 <18...@163.com> on 2021/06/05 03:09:03 UTC

Re: IGNITE-13364: Improve index inline defaults

Hello team,

I think this is a very valuable optimization. This patch has been 
developed for a long time, I don't think there is any reason to continue 
to delay the release of this patch to version 2.12.
Is anyone willing to push this forward and merge this patch into the master?

2021/1/27 下午4:52, Maxim Muzafarov 写道:
> Stanislav,
>
>> I think the most compatibility impact will be on the in-memory caches with SQL and without explicitly specified inline sizes.
> I don't think that this is `true` compatibility issue. But I think we
> should at least mentioned it on our documentation pages and in the
> release notes. So, I'm +1 to proceed with the merge.
>
> Should we include the issue into 2.10 release?
>
> On Fri, 8 Jan 2021 at 16:50, Stanislav Lukyanov <st...@gmail.com> wrote:
>> Hi Igniters,
>>
>> I'd like to discuss the change implemented by Evgeniy Rudenko in the ticket https://issues.apache.org/jira/browse/IGNITE-13364.
>> I see that the fix is ready for review and merging, and I'm interested in it so I'd like to pick it up on the last mile.
>> I also wanted to bring community's attention to it before the merge as it changes the default behavior.
>>
>> The patch changes how SQL index inline size is calculated.
>>
>> Specifically:
>>
>> 1. When inline size is calculated for a variable-sized field, a constant 10 (configurable via IGNITE_VARIABLE_TYPE_DEFAULT_INDEX_SIZE) is added to the calculated size instead of setting the entire calculation result to 10.
>> For example, consider the following cases
>>
>> Index (int, int, string)
>> Before the change: inline size = 10
>> After the change: inline size = 5 + 5 + 10 = 20
>>
>> Index (long, long, long, long,  string)
>> Before the change: inline size = 10
>> After the change: inline size = 9 + 9 + 9 + 9 + 10 = 46
>>
>> 2. If there is a VARCHAR_FIXED, e.g. VARCHAR(5), then instead of the default IGNITE_VARIABLE_TYPE_DEFAULT_INDEX_SIZE Ignite will use the value provided in the calculation
>>
>> 3. If the calculated size exceeds IGNITE_MAX_INDEX_PAYLOAD_SIZE_DEFAULT=64, it will be truncated to 64.
>>
>> All of this only affects calculated inline sizes of new indexes.
>> Existing indexes should not be affected.
>> Indexes with explicitly specified inline size should not be affected.
>>
>> I think the most compatibility impact will be on the in-memory caches with SQL and without explicitly specified inline sizes.
>> After the upgrade these caches may slightly increase in size (because the inline is likely to become bigger) while SQL is also likely to become faster.
>>
>> Please comment.
>> If there are no concerns, I'll proceed with finding a committer to review and merge the fix at the end of the next week.
>>
>> Thanks,
>> Stan

Re: IGNITE-13364: Improve index inline defaults

Posted by Maksim Timonin <ti...@gmail.com>.
Hi!

JFYI, it was merged to master today, then this patch will be part of 2.12
only.


On Thu, Jun 10, 2021 at 5:00 PM Maksim Timonin <ti...@gmail.com>
wrote:

> Hi,
>
> I've prepared a patch for this feature. Can anybody have a look at it?
>
> https://github.com/apache/ignite/pull/9167
> https://issues.apache.org/jira/browse/IGNITE-13364
>
> On Mon, Jun 7, 2021 at 12:14 PM Maksim Timonin <ti...@gmail.com>
> wrote:
>
>> Hi, I've left a comment in your PR, could you please have a look?
>>
>> On Sat, Jun 5, 2021 at 6:09 AM 18624049226 <18...@163.com> wrote:
>>
>>> Hello team,
>>>
>>> I think this is a very valuable optimization. This patch has been
>>> developed for a long time, I don't think there is any reason to continue
>>> to delay the release of this patch to version 2.12.
>>> Is anyone willing to push this forward and merge this patch into the
>>> master?
>>>
>>> 2021/1/27 下午4:52, Maxim Muzafarov 写道:
>>> > Stanislav,
>>> >
>>> >> I think the most compatibility impact will be on the in-memory caches
>>> with SQL and without explicitly specified inline sizes.
>>> > I don't think that this is `true` compatibility issue. But I think we
>>> > should at least mentioned it on our documentation pages and in the
>>> > release notes. So, I'm +1 to proceed with the merge.
>>> >
>>> > Should we include the issue into 2.10 release?
>>> >
>>> > On Fri, 8 Jan 2021 at 16:50, Stanislav Lukyanov <
>>> stanlukyanov@gmail.com> wrote:
>>> >> Hi Igniters,
>>> >>
>>> >> I'd like to discuss the change implemented by Evgeniy Rudenko in the
>>> ticket https://issues.apache.org/jira/browse/IGNITE-13364.
>>> >> I see that the fix is ready for review and merging, and I'm
>>> interested in it so I'd like to pick it up on the last mile.
>>> >> I also wanted to bring community's attention to it before the merge
>>> as it changes the default behavior.
>>> >>
>>> >> The patch changes how SQL index inline size is calculated.
>>> >>
>>> >> Specifically:
>>> >>
>>> >> 1. When inline size is calculated for a variable-sized field, a
>>> constant 10 (configurable via IGNITE_VARIABLE_TYPE_DEFAULT_INDEX_SIZE) is
>>> added to the calculated size instead of setting the entire calculation
>>> result to 10.
>>> >> For example, consider the following cases
>>> >>
>>> >> Index (int, int, string)
>>> >> Before the change: inline size = 10
>>> >> After the change: inline size = 5 + 5 + 10 = 20
>>> >>
>>> >> Index (long, long, long, long,  string)
>>> >> Before the change: inline size = 10
>>> >> After the change: inline size = 9 + 9 + 9 + 9 + 10 = 46
>>> >>
>>> >> 2. If there is a VARCHAR_FIXED, e.g. VARCHAR(5), then instead of the
>>> default IGNITE_VARIABLE_TYPE_DEFAULT_INDEX_SIZE Ignite will use the value
>>> provided in the calculation
>>> >>
>>> >> 3. If the calculated size exceeds
>>> IGNITE_MAX_INDEX_PAYLOAD_SIZE_DEFAULT=64, it will be truncated to 64.
>>> >>
>>> >> All of this only affects calculated inline sizes of new indexes.
>>> >> Existing indexes should not be affected.
>>> >> Indexes with explicitly specified inline size should not be affected.
>>> >>
>>> >> I think the most compatibility impact will be on the in-memory caches
>>> with SQL and without explicitly specified inline sizes.
>>> >> After the upgrade these caches may slightly increase in size (because
>>> the inline is likely to become bigger) while SQL is also likely to become
>>> faster.
>>> >>
>>> >> Please comment.
>>> >> If there are no concerns, I'll proceed with finding a committer to
>>> review and merge the fix at the end of the next week.
>>> >>
>>> >> Thanks,
>>> >> Stan
>>>
>>

Re: IGNITE-13364: Improve index inline defaults

Posted by Maksim Timonin <ti...@gmail.com>.
Hi,

I've prepared a patch for this feature. Can anybody have a look at it?

https://github.com/apache/ignite/pull/9167
https://issues.apache.org/jira/browse/IGNITE-13364

On Mon, Jun 7, 2021 at 12:14 PM Maksim Timonin <ti...@gmail.com>
wrote:

> Hi, I've left a comment in your PR, could you please have a look?
>
> On Sat, Jun 5, 2021 at 6:09 AM 18624049226 <18...@163.com> wrote:
>
>> Hello team,
>>
>> I think this is a very valuable optimization. This patch has been
>> developed for a long time, I don't think there is any reason to continue
>> to delay the release of this patch to version 2.12.
>> Is anyone willing to push this forward and merge this patch into the
>> master?
>>
>> 2021/1/27 下午4:52, Maxim Muzafarov 写道:
>> > Stanislav,
>> >
>> >> I think the most compatibility impact will be on the in-memory caches
>> with SQL and without explicitly specified inline sizes.
>> > I don't think that this is `true` compatibility issue. But I think we
>> > should at least mentioned it on our documentation pages and in the
>> > release notes. So, I'm +1 to proceed with the merge.
>> >
>> > Should we include the issue into 2.10 release?
>> >
>> > On Fri, 8 Jan 2021 at 16:50, Stanislav Lukyanov <st...@gmail.com>
>> wrote:
>> >> Hi Igniters,
>> >>
>> >> I'd like to discuss the change implemented by Evgeniy Rudenko in the
>> ticket https://issues.apache.org/jira/browse/IGNITE-13364.
>> >> I see that the fix is ready for review and merging, and I'm interested
>> in it so I'd like to pick it up on the last mile.
>> >> I also wanted to bring community's attention to it before the merge as
>> it changes the default behavior.
>> >>
>> >> The patch changes how SQL index inline size is calculated.
>> >>
>> >> Specifically:
>> >>
>> >> 1. When inline size is calculated for a variable-sized field, a
>> constant 10 (configurable via IGNITE_VARIABLE_TYPE_DEFAULT_INDEX_SIZE) is
>> added to the calculated size instead of setting the entire calculation
>> result to 10.
>> >> For example, consider the following cases
>> >>
>> >> Index (int, int, string)
>> >> Before the change: inline size = 10
>> >> After the change: inline size = 5 + 5 + 10 = 20
>> >>
>> >> Index (long, long, long, long,  string)
>> >> Before the change: inline size = 10
>> >> After the change: inline size = 9 + 9 + 9 + 9 + 10 = 46
>> >>
>> >> 2. If there is a VARCHAR_FIXED, e.g. VARCHAR(5), then instead of the
>> default IGNITE_VARIABLE_TYPE_DEFAULT_INDEX_SIZE Ignite will use the value
>> provided in the calculation
>> >>
>> >> 3. If the calculated size exceeds
>> IGNITE_MAX_INDEX_PAYLOAD_SIZE_DEFAULT=64, it will be truncated to 64.
>> >>
>> >> All of this only affects calculated inline sizes of new indexes.
>> >> Existing indexes should not be affected.
>> >> Indexes with explicitly specified inline size should not be affected.
>> >>
>> >> I think the most compatibility impact will be on the in-memory caches
>> with SQL and without explicitly specified inline sizes.
>> >> After the upgrade these caches may slightly increase in size (because
>> the inline is likely to become bigger) while SQL is also likely to become
>> faster.
>> >>
>> >> Please comment.
>> >> If there are no concerns, I'll proceed with finding a committer to
>> review and merge the fix at the end of the next week.
>> >>
>> >> Thanks,
>> >> Stan
>>
>

Re: IGNITE-13364: Improve index inline defaults

Posted by Maksim Timonin <ti...@gmail.com>.
Hi, I've left a comment in your PR, could you please have a look?

On Sat, Jun 5, 2021 at 6:09 AM 18624049226 <18...@163.com> wrote:

> Hello team,
>
> I think this is a very valuable optimization. This patch has been
> developed for a long time, I don't think there is any reason to continue
> to delay the release of this patch to version 2.12.
> Is anyone willing to push this forward and merge this patch into the
> master?
>
> 2021/1/27 下午4:52, Maxim Muzafarov 写道:
> > Stanislav,
> >
> >> I think the most compatibility impact will be on the in-memory caches
> with SQL and without explicitly specified inline sizes.
> > I don't think that this is `true` compatibility issue. But I think we
> > should at least mentioned it on our documentation pages and in the
> > release notes. So, I'm +1 to proceed with the merge.
> >
> > Should we include the issue into 2.10 release?
> >
> > On Fri, 8 Jan 2021 at 16:50, Stanislav Lukyanov <st...@gmail.com>
> wrote:
> >> Hi Igniters,
> >>
> >> I'd like to discuss the change implemented by Evgeniy Rudenko in the
> ticket https://issues.apache.org/jira/browse/IGNITE-13364.
> >> I see that the fix is ready for review and merging, and I'm interested
> in it so I'd like to pick it up on the last mile.
> >> I also wanted to bring community's attention to it before the merge as
> it changes the default behavior.
> >>
> >> The patch changes how SQL index inline size is calculated.
> >>
> >> Specifically:
> >>
> >> 1. When inline size is calculated for a variable-sized field, a
> constant 10 (configurable via IGNITE_VARIABLE_TYPE_DEFAULT_INDEX_SIZE) is
> added to the calculated size instead of setting the entire calculation
> result to 10.
> >> For example, consider the following cases
> >>
> >> Index (int, int, string)
> >> Before the change: inline size = 10
> >> After the change: inline size = 5 + 5 + 10 = 20
> >>
> >> Index (long, long, long, long,  string)
> >> Before the change: inline size = 10
> >> After the change: inline size = 9 + 9 + 9 + 9 + 10 = 46
> >>
> >> 2. If there is a VARCHAR_FIXED, e.g. VARCHAR(5), then instead of the
> default IGNITE_VARIABLE_TYPE_DEFAULT_INDEX_SIZE Ignite will use the value
> provided in the calculation
> >>
> >> 3. If the calculated size exceeds
> IGNITE_MAX_INDEX_PAYLOAD_SIZE_DEFAULT=64, it will be truncated to 64.
> >>
> >> All of this only affects calculated inline sizes of new indexes.
> >> Existing indexes should not be affected.
> >> Indexes with explicitly specified inline size should not be affected.
> >>
> >> I think the most compatibility impact will be on the in-memory caches
> with SQL and without explicitly specified inline sizes.
> >> After the upgrade these caches may slightly increase in size (because
> the inline is likely to become bigger) while SQL is also likely to become
> faster.
> >>
> >> Please comment.
> >> If there are no concerns, I'll proceed with finding a committer to
> review and merge the fix at the end of the next week.
> >>
> >> Thanks,
> >> Stan
>