Hi team
Describe the bug
ReportPortal Auto Analyzer cannot load project-specific models from AWS S3 because it duplicates the model filename in the S3 key path. This leads to an S3 NoSuchKey error when attempting to fetch the model.
- Existing object:
analyzer/prj-<id>/suggestion_model/suggestion_model_2026-06-08/boost_model.pickle
- Requested object:
analyzer/prj-<id>/suggestion_model/suggestion_model_2026-06-08/boost_model.pickle/boost_model.pickle
Steps to Reproduce
- Configure Analyzer to use AWS S3 (single-bucket mode).
- Train a project-specific suggestion model.
- Request suggestions for a failed test item.
- Check the analyzer logs.
Expected behavior
The analyzer correctly resolves the path and loads the existing custom model from AWS S3 without appending redundant filenames to the path.
Actual behavior
The analyzer appends the filename twice in the S3 key path (e.g., .../boost_model.pickle/boost_model.pickle) and fails with an S3 NoSuchKey error.
Artifact version
service-auto-analyzer: 5.15.5
ReportPortal: 26.0.5
Additional context
- Storage mode: AWS S3 single-bucket mode.
Potential root cause:
The issue likely originates from:
ModelChooser.choose_model() — treats the first result from get_folder_objects() as a model directory:
https://github.com/reportportal/service-auto-analyzer/blob/5.15.5/app/commons/model_chooser.py#L95-L101
Boto3Client.get_folder_objects() — returns complete S3 object keys instead of immediate subdirectories:
https://github.com/reportportal/service-auto-analyzer/blob/5.15.5/app/commons/object_saving/boto3_client.py#L150-L171
Hi team
Describe the bug
ReportPortal Auto Analyzer cannot load project-specific models from AWS S3 because it duplicates the model filename in the S3 key path. This leads to an S3
NoSuchKeyerror when attempting to fetch the model.analyzer/prj-<id>/suggestion_model/suggestion_model_2026-06-08/boost_model.pickleanalyzer/prj-<id>/suggestion_model/suggestion_model_2026-06-08/boost_model.pickle/boost_model.pickleSteps to Reproduce
Expected behavior
The analyzer correctly resolves the path and loads the existing custom model from AWS S3 without appending redundant filenames to the path.
Actual behavior
The analyzer appends the filename twice in the S3 key path (e.g.,
.../boost_model.pickle/boost_model.pickle) and fails with an S3NoSuchKeyerror.Artifact version
service-auto-analyzer: 5.15.5ReportPortal: 26.0.5Additional context
Potential root cause:
The issue likely originates from:
ModelChooser.choose_model()— treats the first result fromget_folder_objects()as a model directory:https://github.com/reportportal/service-auto-analyzer/blob/5.15.5/app/commons/model_chooser.py#L95-L101
Boto3Client.get_folder_objects()— returns complete S3 object keys instead of immediate subdirectories:https://github.com/reportportal/service-auto-analyzer/blob/5.15.5/app/commons/object_saving/boto3_client.py#L150-L171