Skip to content

Expose the name or an indication of which VectorizationProvider is being used #15292

@tflobbe

Description

@tflobbe

Description

Given an application that could benefit from using PanamaVectorizationProvider, I would like to be able to detect on startup if the conditions are adequate (jdk.incubator.vector module was added, Java is within the right range of versions, etc) so that the application can make a decision based on that (i.e. log a warning, or simply preventing to start at all if conditions aren't met).
Right now, this doesn't seem possible without using some kind of reflection and hacks on the VectorizationProvider class, or by duplicating some of the initialization code on the application side and keeping it in sync with Lucene's.

I was thinking we could have a public static String getImplementationName() or something that's allowed to be called from outside of the specific VALID_CALLERS.

I understand much of the work around the VectorizationProvider was done to not expose the internals since they are subject to change quickly and without compatibility, but the problem right now is that something such as a java version upgrade could cause unintended perf regressions.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions