Describe the bug
Performance Analyzer fails to start in OpenSearch versions 2.19.2 and above, as well as in 3.x versions.
(Note: It works correctly in version 2.19.1).
The root cause appears to be that the startup script attempts to execute org.opensearch.performanceanalyzer.PerformanceAnalyzerApp, which relies on the RCA (Root Cause Analysis) library. However, the RCA artifacts seem to be missing or unloaded in these specific versions.
Specific Observations:
-
Regression in 2.19.2+:
- Performance Analyzer works fine in 2.19.1.
- In 2.19.2, the RCA components appear to be missing, causing the crash.
OPENSEARCH_HOME/performance-analyzer-rca/ directory (which contains PerformanceAnalyzerApp) exists in version 2.19.1 but is completely missing in version 2.19.2.
- According to Pull Request opensearch-project/OpenSearch#598 (Comment), RCA was intended to be deprecated in 2.19 and removed in 3.0. Therefore, it should still be present and functional in the 2.19.x series (including 2.19.2).
-
Broken in 3.x:
- In version 3.0 and above, RCA is indeed removed as planned. However, the Performance Analyzer application still attempts to load the RCA class (
PerformanceAnalyzerApp), leading to a ClassNotFoundException. The startup logic has not been updated to handle this removal.
-
Unclear Migration Path:
-
Documentation & Config Issues:
- Documentation for version 3.3.2 includes examples using port 9600, but this is impossible to reproduce as the service cannot be started.
- Starting from version 3.0.0, the
opensearch-performance-analyzer directory is not automatically created in the OPENSEARCH_CONFIG_PATH.
Related component
Plugins
To Reproduce
- Download OpenSearch distribution for version 2.19.2 (or later 2.x) OR 3.0.0 (or later).
- Attempt to start the Performance Analyzer.
- Observe the following error in the logs:
performance-analyzer-agent-cli: Error: Could not find or load main class org.opensearch.performanceanalyzer.PerformanceAnalyzerApp
performance-analyzer-agent-cli: Caused by: java.lang.ClassNotFoundException: org.opensearch.performanceanalyzer.PerformanceAnalyzerApp
Expected behavior
- For 2.19.x (specifically 2.19.2+): The RCA components should still be present (as they are only deprecated), and Performance Analyzer should start correctly, just as it does in 2.19.1.
- For 3.x: Since RCA is removed, the startup mechanism should be updated to function without invoking the RCA classes.
- OTel Transition: If the architecture has shifted to an OpenTelemetry-based collector, the distribution should reflect this change, and the Performance Analyzer should be able to start using the new mechanism without errors.
Additional Details
Plugins
- opensearch-performance-analyzer
Screenshots
If applicable, add screenshots to help explain your problem.
Host/Environment (please complete the following information):
- OS: Ubuntu 24.04
- Version: 2.19.2-4, 3.0.0-3.3.2
Additional context
Add any other context about the problem here.
- Related issues reporting similar behavior:
Describe the bug
Performance Analyzer fails to start in OpenSearch versions 2.19.2 and above, as well as in 3.x versions.
(Note: It works correctly in version 2.19.1).
The root cause appears to be that the startup script attempts to execute
org.opensearch.performanceanalyzer.PerformanceAnalyzerApp, which relies on the RCA (Root Cause Analysis) library. However, the RCA artifacts seem to be missing or unloaded in these specific versions.Specific Observations:
Regression in 2.19.2+:
OPENSEARCH_HOME/performance-analyzer-rca/directory (which containsPerformanceAnalyzerApp) exists in version 2.19.1 but is completely missing in version 2.19.2.Broken in 3.x:
PerformanceAnalyzerApp), leading to aClassNotFoundException. The startup logic has not been updated to handle this removal.Unclear Migration Path:
Documentation & Config Issues:
opensearch-performance-analyzerdirectory is not automatically created in theOPENSEARCH_CONFIG_PATH.Related component
Plugins
To Reproduce
Expected behavior
Additional Details
Plugins
Screenshots
If applicable, add screenshots to help explain your problem.
Host/Environment (please complete the following information):
Additional context
Add any other context about the problem here.