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 >>>>> >>> >>> >>