You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by John Wilson <sa...@gmail.com> on 2018/06/12 19:35:54 UTC

How does Ignite garbage collect unused pages?

Hi,

How does Ignite free unused pages? Is there some kind of background thread
process that scans unused pages?

Thanks,

Re: How does Ignite garbage collect unused pages?

Posted by John Wilson <sa...@gmail.com>.
Thanks!

On Thu, Jun 14, 2018 at 2:00 AM, Alexey Goncharuk <
alexey.goncharuk@gmail.com> wrote:

> John,
>
> The page is moved between FreeList buckets synchronously during the
> corresponding cache entry update, so it is the part of cache.put() or
> cache.remove() operation.
>
> ср, 13 июн. 2018 г. в 2:32, Denis Magda <dm...@apache.org>:
>
> > Whenever you add or remove an entry, it changes the size of a page which
> > can lead to page movement between free list. According to this page, the
> > page defragmentation/compaction happens in the background and when a
> > threshold is met:
> > https://apacheignite.readme.io/docs/memory-defragmentation
> >
> > Hope Ignite persistence experts can shine more light on this.
> >
> > --
> > Denis
> >
> > On Tue, Jun 12, 2018 at 3:12 PM John Wilson <sa...@gmail.com>
> > wrote:
> >
> > > thanks. But *when* does that happen - i.e. when is the decision made to
> > > move pages? Is this part of the cache.put path or a separate thread?
> > >
> > > On Tue, Jun 12, 2018 at 1:03 PM, Denis Magda <dm...@apache.org>
> wrote:
> > >
> > > > A page is moved between free lists that used to track pages of
> similar
> > > free
> > > > space left:
> > > >
> > >
> > https://apacheignite.readme.io/docs/memory-architecture#
> section-free-lists
> > > >
> > > > --
> > > > Denis
> > > >
> > > >
> > > > On Tue, Jun 12, 2018 at 12:35 PM John Wilson <
> sami.hailu.15@gmail.com>
> > > > wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > How does Ignite free unused pages? Is there some kind of background
> > > > thread
> > > > > process that scans unused pages?
> > > > >
> > > > > Thanks,
> > > > >
> > > >
> > >
> >
>

Re: How does Ignite garbage collect unused pages?

Posted by Alexey Goncharuk <al...@gmail.com>.
John,

The page is moved between FreeList buckets synchronously during the
corresponding cache entry update, so it is the part of cache.put() or
cache.remove() operation.

ср, 13 июн. 2018 г. в 2:32, Denis Magda <dm...@apache.org>:

> Whenever you add or remove an entry, it changes the size of a page which
> can lead to page movement between free list. According to this page, the
> page defragmentation/compaction happens in the background and when a
> threshold is met:
> https://apacheignite.readme.io/docs/memory-defragmentation
>
> Hope Ignite persistence experts can shine more light on this.
>
> --
> Denis
>
> On Tue, Jun 12, 2018 at 3:12 PM John Wilson <sa...@gmail.com>
> wrote:
>
> > thanks. But *when* does that happen - i.e. when is the decision made to
> > move pages? Is this part of the cache.put path or a separate thread?
> >
> > On Tue, Jun 12, 2018 at 1:03 PM, Denis Magda <dm...@apache.org> wrote:
> >
> > > A page is moved between free lists that used to track pages of similar
> > free
> > > space left:
> > >
> >
> https://apacheignite.readme.io/docs/memory-architecture#section-free-lists
> > >
> > > --
> > > Denis
> > >
> > >
> > > On Tue, Jun 12, 2018 at 12:35 PM John Wilson <sa...@gmail.com>
> > > wrote:
> > >
> > > > Hi,
> > > >
> > > > How does Ignite free unused pages? Is there some kind of background
> > > thread
> > > > process that scans unused pages?
> > > >
> > > > Thanks,
> > > >
> > >
> >
>

Re: How does Ignite garbage collect unused pages?

Posted by Denis Magda <dm...@apache.org>.
Whenever you add or remove an entry, it changes the size of a page which
can lead to page movement between free list. According to this page, the
page defragmentation/compaction happens in the background and when a
threshold is met: https://apacheignite.readme.io/docs/memory-defragmentation

Hope Ignite persistence experts can shine more light on this.

--
Denis

On Tue, Jun 12, 2018 at 3:12 PM John Wilson <sa...@gmail.com> wrote:

> thanks. But *when* does that happen - i.e. when is the decision made to
> move pages? Is this part of the cache.put path or a separate thread?
>
> On Tue, Jun 12, 2018 at 1:03 PM, Denis Magda <dm...@apache.org> wrote:
>
> > A page is moved between free lists that used to track pages of similar
> free
> > space left:
> >
> https://apacheignite.readme.io/docs/memory-architecture#section-free-lists
> >
> > --
> > Denis
> >
> >
> > On Tue, Jun 12, 2018 at 12:35 PM John Wilson <sa...@gmail.com>
> > wrote:
> >
> > > Hi,
> > >
> > > How does Ignite free unused pages? Is there some kind of background
> > thread
> > > process that scans unused pages?
> > >
> > > Thanks,
> > >
> >
>

Re: How does Ignite garbage collect unused pages?

Posted by John Wilson <sa...@gmail.com>.
thanks. But *when* does that happen - i.e. when is the decision made to
move pages? Is this part of the cache.put path or a separate thread?

On Tue, Jun 12, 2018 at 1:03 PM, Denis Magda <dm...@apache.org> wrote:

> A page is moved between free lists that used to track pages of similar free
> space left:
> https://apacheignite.readme.io/docs/memory-architecture#section-free-lists
>
> --
> Denis
>
>
> On Tue, Jun 12, 2018 at 12:35 PM John Wilson <sa...@gmail.com>
> wrote:
>
> > Hi,
> >
> > How does Ignite free unused pages? Is there some kind of background
> thread
> > process that scans unused pages?
> >
> > Thanks,
> >
>

Re: How does Ignite garbage collect unused pages?

Posted by Denis Magda <dm...@apache.org>.
A page is moved between free lists that used to track pages of similar free
space left:
https://apacheignite.readme.io/docs/memory-architecture#section-free-lists

--
Denis


On Tue, Jun 12, 2018 at 12:35 PM John Wilson <sa...@gmail.com>
wrote:

> Hi,
>
> How does Ignite free unused pages? Is there some kind of background thread
> process that scans unused pages?
>
> Thanks,
>