Skip to content

ReportPortal Auto Analyzer cannot load project-specific models from AWS S3 #274

Description

@JonnyJoypad

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

  1. Configure Analyzer to use AWS S3 (single-bucket mode).
  2. Train a project-specific suggestion model.
  3. Request suggestions for a failed test item.
  4. 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:

  1. 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
  2. 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions