K6 stopped iterating prematurely

Hi, does anyone know why is this happening?

I’m using these options:
executor: ‘ramping-arrival-rate’
gracefulStop: ‘45m’
startRate: 5
timeUnit: ‘1m’
stages:

  • target: 30
    duration: ‘3m’
  • target: 30
    duration: ‘12m’

Hi @kgdfthr

Welcome to the community forums :wave:

Could you provide a bit more context so we can have a look?

  • The (sanitized) script you are running and the options.
  • The complete test output.
  • When you say it stops prematurely, is it failing to go over all the stages and you don’t get an output summary?

Thanks in advance for the additional information.

Cheers!

Thanks for reply.
Here is the sanitized script

export const setup = () => {

};

export function a(setupData) {

}

export function b(setupData) {

}

export function c(setupData) {

}

export function d(setupData) {

}

export function teardown(setupData) {

}

export const options = {
    teardownTimeout: '600m',
    setupTimeout: '2400s',
    scenarios: {
        a: {
            executor: 'ramping-arrival-rate',
            startRate: 5,
            timeUnit: '1m',
            preAllocatedVUs: 5,
            maxVUs: 413,
            gracefulStop: '45m',
            exec: 'a',
            stages: [
                { duration: '3m', target: 30 },
                { duration: '12m', target: 30 },
            ],
        },
        b: {
            executor: 'ramping-arrival-rate',
            startRate: 5,
            timeUnit: '1m',
            preAllocatedVUs: 5,
            maxVUs: 413,
            gracefulStop: '45m',
            exec: 'b',
            stages: [
                { duration: '3m', target: 30 },
                { duration: '12m', target: 30 },
            ],
        },
        c: {
            executor: 'ramping-arrival-rate',
            startRate: 5,
            timeUnit: '1m',
            preAllocatedVUs: 5,
            maxVUs: 413,
            gracefulStop: '45m',
            exec: 'c',
            stages: [
                { duration: '3m', target: 30 },
                { duration: '12m', target: 30 },
            ],
        },
        d: {
            executor: 'ramping-arrival-rate',
            startRate: 1,
            timeUnit: '1m',
            preAllocatedVUs: 1,
            maxVUs: 137,
            gracefulStop: '45m',
            exec: 'd',
            stages: [
                { duration: '3m', target: 10 },
                { duration: '12m', target: 10 },
            ],
        },
    },
};

export function handleSummary(data) {

}

This is the output of this test:

Everything works like a normal test, after iterations it goes through teardown and generates summary, but for some reason it stopes second before a test should finish and displays a red cross .

Hi @kgdfthr

We were able to reproduce this with the script you provided, even with the latest version 0.43.1:

We are looking into it and we’ll get back here when we know more.

Many thanks for reporting this.

Cheers!

Hi @kgdfthr

This is a bug, and we opened `ramping-arrival-rate` executor shows wrong progressbar · Issue #2951 · grafana/k6 · GitHub. You can follow the resolution there.

The good news is that your test should run normally. At least in our testing k6 is not stopping prematurely. The ramping-arrival-rate` scenario executor stops when all of the already started iterations are done and, based on the scenario options, it “knows” it’s not supposed to start a new one. You can find more details in the GH issue above.

Again, many thanks for spotting and reporting this.

Cheers!

1 Like