Skip to content

Improper cleanup between runs causes erroneous timeouts to be triggered #49

@ivoadf

Description

@ivoadf

These two variables are not properly reset when a run completes

    private void checkSampleTimeout() {
        long previousSampleCount = 0;
        long previousSampleTime = 0;

while noResultsReturned = 0; is reset in the endOfRun method.

This means that once the first run completes and noResultsReturned is reset to 0 this if condition is never true

if (previousSampleCount < noResultsReturned) {
                previousSampleCount = noResultsReturned;
                previousSampleTime = System.currentTimeMillis();
            } else {
                if (previousSampleTime < (System.currentTimeMillis() - jlbhOptions.timeout)) {
                    printStream.println("Sample timed out. Aborting test...");
                    abort();
                    break;
                }
            }

Meaning the previousSampleCount and previousSampleTime are never updated and unless the jlbhOptions.timeout value is larger than the total runtime of all remaining runs in the test it will eventually trigger a timeout when it should not.

To fix this previousSampleCount and previousSampleTime should be reset alongside the reset that already happens to noResultsReturned in the endOfRun method.

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