opensearch-project / opensearch-project/performance-analyzer

[BUG] Remove reflection logic to call AdmissionControl plugin APIs

Open
#403 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Java
Stars
48
Forks
78
Avg merge
1d 2h
Merged PRs (30d)
5

Description

What is the bug?
AdmissionControlCollector right now collects jvmmp/request_size metrics from AdmissionController plugin. It uses reflection to load static instances of those classes.

How can one reproduce the bug?
Its a code best practises bug.

What is the expected behavior?
performance-analyzer plugin should expose SPI with admissioncontrol methods. AdmissionController plugin should implement this SPI as well extending performance-analyzer plugin. performance-analyzer plugin should implement ExtensiblePlugin interface and so that it can load static admission controller objects from AdmissionController plugin.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with AdmissionControlCollector and trace its reflection-based loading of AdmissionController plugin classes and static instances. Then inspect the performance-analyzer plugin's ExtensiblePlugin interface and the AdmissionController plugin API. Done means the plugins expose and implement the admission-control SPI without reflection while retaining the jvmmp/request_size metrics.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend-api-design, observability
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.