Skip to content

Bogus handling of failures to archive test configuration when downloading results #589

@h-arlt

Description

@h-arlt

Every download of load test results includes the retrieval of used load test configuration from remote agent controllers. More specifically, this involves the following steps:

  • each agent controller is requested to archive its actual configuration load test configuration files to a temporary file and provide its path to XLT master controller for download
  • perform the download of the provided archive files
  • extract downloaded test configuration archive files in sequence but stop upon first successful extracted file (all agent controllers participating in a load test share the very same load test configuration such that all archive files are assumed to be equal in their contents)

In case archiving of test configuration fails, the agent controller logs an error and returns the null reference as path to the temporary archive file to the master controller to signal the failure. The master controller in turn won't download such a file but still creates an empty file - say E - and stores its path into an internal collection that is used later on for extraction of the downloaded archive files.

As archiving of the test configuration and its download is done in parallel, the position of the empty file E within the internal collection of "downloaded" archive files is unpredictable. As long as it is not the first element in this collection, download of load test results continues as usual and succeeds in case no further issue comes up.
However, in case this empty file is the first element in this collection, download of load test results fails with an error as the downloaded load test configuration could not be parsed (extraction of empty files succeeds but obviously no file is extracted at all).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions