Doing some more tests I found out that, when I run the full GC procedure a
*second* *time*, then the files deleted the first time are removed, along
with the tar file that was referencing them (a tar file is removed, so I
assumed that was the one referencing them).
Still don't understand when it should be used the "compactFull" or the
"fullGC", so if someone can clarify that would be of great help.

Marco.
On Wed, Apr 15, 2020 at 11:46 AM Amit Jain <am...@ieee.org> wrote:

> Hi Marco,
>
> I am not really sure about the difference, maybe fullGC is the right way.
> But for that to be effective it should estimate enough garbage to proceed.
> So, that is why the blob gc test first creates enough garbage.
>
> Thanks
> Amit
>
> On Wed, Apr 15, 2020 at 2:32 PM Marco Piovesana <pioves...@esteco.com>
> wrote:
>
> > Hi Amit,
> > reading the test I saw that the garbage collection is done executing the
> > command "compactFull" followed by the "cleanup". I was using the command
> > "fullGC" and reading at the code I can't fully understand the difference.
> > When should be used one and when the other?
> >
> > Marco.
> >
> > On Wed, Apr 15, 2020 at 8:38 AM Amit Jain <am...@ieee.org> wrote:
> >
> > > Hi,
> > >
> > > To delete blobs the segment compaction has to be executed before hand
> to
> > > remove older revisions referring to the blobs in the datastore. You can
> > > take a look at the IT for the blob garbage collection [1].
> > > I am not so sure about the creation of new segement tar file should be
> > > directly related to a run of MarkSweepGarbageCollector as it only reads
> > the
> > > internal index for external binaries.
> > >
> > > Thanks
> > > Amit
> > >
> > > [1]
> > >
> > >
> >
> https://github.com/apache/jackrabbit-oak/blob/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentDataStoreBlobGCIT.java#L218-L221
> > >
> > > On Wed, Apr 15, 2020 at 12:06 AM Marco Piovesana <pioves...@esteco.com
> >
> > > wrote:
> > >
> > > > Hi all,
> > > > I'm running some tests with the MarkSweepGarbageCollector to run a
> > > garbage
> > > > collection on a local file store.
> > > > I'm running it with the maxLastModifiedInterval set to 0, so I
> expected
> > > the
> > > > garbage collector to remove the binary right after I delete the file.
> > > > What happens, however, is that the binary is never deleted, and for
> > each
> > > > execution of the garbage collector I see a new segment tar file
> > (doesn't
> > > > matter if I run a FileStore.fullGC() or not before).
> > > > Why is that? What am I missing?
> > > >
> > > > Marco.
> > > >
> >

Reply via email to