Security Advisories (4)
CVE-2026-61483 (2026-08-05)

Apache Lucy: QueryParser unbounded recursion on deeply-nested query -> C-stack-overflow DoS ** UNSUPPORTED WHEN ASSIGNED ** Uncontrolled Recursion vulnerability in Apache Lucy. This issue affects Apache Lucy: all versions. As this project is retired, we do not plan to release a version that fixes this issue. Users are recommended to find an alternative or restrict access to the instance to trusted users. NOTE: This vulnerability only affects products that are no longer supported by the maintainer.

CVE-2026-61485 (2026-08-05)

Apache Lucy: Freezer/InStream deserialization bomb - unbounded allocation reading an index ** UNSUPPORTED WHEN ASSIGNED ** Uncontrolled Recursion vulnerability in Apache Lucy. This issue affects Apache Lucy: all versions. As this project is retired, we do not plan to release a version that fixes this issue. Users are recommended to find an alternative or restrict access to the instance to trusted users. NOTE: This vulnerability only affects products that are no longer supported by the maintainer.

CVE-2026-61486 (2026-08-05)

Apache Lucy: stack-buffer-overflow in JSON parser error reporter on malformed input ** UNSUPPORTED WHEN ASSIGNED ** Stack-based Buffer Overflow vulnerability in Apache Lucy. This issue affects Apache Lucy: all versions. As this project is retired, we do not plan to release a version that fixes this issue. Users are recommended to find an alternative or restrict access to the instance to trusted users. NOTE: This vulnerability only affects products that are no longer supported by the maintainer.

CVE-2026-61484 (2026-08-05)

Apache Lucy: LucyX::Remote::SearchServer unauthenticated remote Storable::thaw -> RCE/DoS ** UNSUPPORTED WHEN ASSIGNED ** Deserialization of Untrusted Data vulnerability in Apache Lucy. This issue affects Apache Lucy: all versions. As this project is retired, we do not plan to release a version that fixes this issue. Users are recommended to find an alternative or restrict access to the instance to trusted users. NOTE: This vulnerability only affects products that are no longer supported by the maintainer.

NAME

Lucy::Index::BackgroundMerger - Consolidate index segments in the background.

SYNOPSIS

my $bg_merger = Lucy::Index::BackgroundMerger->new(
    index  => '/path/to/index',
);
$bg_merger->commit;

DESCRIPTION

Adding documents to an index is usually fast, but every once in a while the index must be compacted and an update takes substantially longer to complete. See FastUpdates for how to use this class to control worst-case index update performance.

As with Indexer, see FileLocking if your index is on a shared volume.

CONSTRUCTORS

new

my $bg_merger = Lucy::Index::BackgroundMerger->new(
    index   => '/path/to/index',    # required
    manager => $manager             # default: created internally
);

Open a new BackgroundMerger.

  • index - Either a string filepath or a Folder.

  • manager - An IndexManager. If not supplied, an IndexManager with a 10-second write lock timeout will be created.

METHODS

optimize

$background_merger->optimize();

Optimize the index for search-time performance. This may take a while, as it can involve rewriting large amounts of data.

commit

$background_merger->commit();

Commit any changes made to the index. Until this is called, none of the changes made during an indexing session are permanent.

Calls prepare_commit() implicitly if it has not already been called.

prepare_commit

$background_merger->prepare_commit();

Perform the expensive setup for commit() in advance, so that commit() completes quickly.

Towards the end of prepare_commit(), the BackgroundMerger attempts to re-acquire the write lock, which is then held until commit() finishes and releases it.

INHERITANCE

Lucy::Index::BackgroundMerger isa Clownfish::Obj.