Sergi,

Thanks, now I found the exact conditions that switch the indexes from on-heap 
to off-heap.

But looks like you did a misprint in your conclusion saying that 
setOffHeapMaxMemory should be 0. 
> Thus from the user standpoint we can say, that if either setOffHeapMaxMemory
>> = 0 or setMemoryMode is set to any of off-heap modes, then indexes will go
> off-heap.

In fact, as you elaborated earlier, it has to be >= 0 which leads to the 
following final statement:

SQL engine will store indexes in the off-heap region if setOffHeapMaxMemory 
parameter >= 0 or setMemoryMode is set to any supported off-heap mode. It worth 
to mention that setOffHeapMaxMemory is set to 0 automatically if it’s value is 
less than -1 and one of off-heap memory modes is used.
  
Are we on the same page now?

—
Denis

> On Nov 4, 2016, at 1:51 AM, Sergi Vladykin <sergi.vlady...@gmail.com> wrote:
> 
> Denis,
> 
> I checked the code now as well. I actually was wrong, but your statement is
> wrong either.
> 
> If we are talking about indexes then the exact condition when index will be
> off-heap is the following: either setOffHeapMaxMemory >= 0 or setMemoryMode
> is OFFHEAP_TIERED.
> 
> But if setMemoryMode is set to one of off-heap modes and setOffHeapMaxMemory 
> is
> -1, then setOffHeapMaxMemory is silently getting switched to 0.
> 
> Thus from the user standpoint we can say, that if either setOffHeapMaxMemory
>> = 0 or setMemoryMode is set to any of off-heap modes, then indexes will go
> off-heap.
> 
> Sergi
> 
> 2016-11-04 6:30 GMT+03:00 Dmitriy Setrakyan <dsetrak...@apache.org>:
> 
>> Do we currently throw an exception if memory mode is set to off-heap by the
>> max-offheap-memory is set to "-1"? Otherwise, it can get very confusing to
>> users.
>> 
>> On Thu, Nov 3, 2016 at 10:22 AM, Denis Magda <dma...@gridgain.com> wrote:
>> 
>>> Sergi,
>>> 
>>> Referring to your response and the source code I should say that, in
>> fact,
>>> the documentation has to state the following:
>>> 
>>> “To place both data and indexes in off heap memory CacheConfiguration.
>> setMemoryMode
>>> has to be set to one of off heap modes and CacheConfiguration.
>> setOffHeapMaxMemory
>>> has to be set to a value different from -1 (disabled). If at least one of
>>> these conditions is not met then both data and indexes will be located in
>>> on heap memory”
>>> 
>>> Is this statement correct?
>>> 
>>> —
>>> Denis
>>> 
>>>> On Nov 3, 2016, at 2:53 AM, Sergi Vladykin <sergi.vlady...@gmail.com>
>>> wrote:
>>>> 
>>>> Prachi,
>>>> 
>>>> In [2] we refer to the same CacheConfiguration.setOffHeapMaxMemory
>>>> property, so [1] is correct. If setOffHeapMaxMemory is disabled (set to
>>>> -1), then indexes will never be stored offheap, regardless of
>>> setMemoryMode
>>>> setting.
>>>> 
>>>> Probably we have to change [2] to make it clear, that it is about
>>>> setOffHeapMaxMemory
>>>> but not about setMemoryMode.
>>>> 
>>>> Sergi
>>>> 
>>>> 
>>>> 2016-11-03 2:25 GMT+03:00 Prachi Garg <pg...@gridgain.com>:
>>>> 
>>>>> Engineers,
>>>>> 
>>>>> I was going through documentation for Off-Heap SQL Indexes
>>>>> <https://apacheignite.readme.io/docs/sql-queries#off-heap-sql-indexes
>>> 
>>> and
>>>>> found two contradicting statements-
>>>>> 
>>>>> According to [1] -  " `CacheConfiguration.setOffHeapMaxMemory` is the
>>> only
>>>>> property to enable or disable off-heap indexing. While
>>>>> CacheConfiguration.setMemoryMode is used to configure off-heap memory
>>>>> <https://apacheignite.readme.io/v1.7/docs/off-heap-memory>, it does
>> not
>>>>> have any effect on indexing."
>>>>> 
>>>>> According to [2] -  "Note that when off-heap memory is configured,
>>> Ignite
>>>>> will store query indexes off-heap as well."
>>>>> 
>>>>> 
>>>>> Which one is true?
>>>>> 
>>>>> [1] - https://apacheignite.readme.io/docs/sql-queries#off-heap-
>>> sql-indexes
>>>>> 
>>>>> [2] - http://apacheignite.gridgain.org/docs/off-heap-memory
>>>>> 
>>>>> 
>>>>> Thanks,
>>>>> 
>>>>> -Prachi
>>>>> 
>>> 
>>> 
>> 

Reply via email to