Added below code in Postprocessor. seems like following line is causing the issue

SamplerResult retry = prev.getSampler().execute();

How to resolve that issue?

import org.apache.jmeter.protocol.http.sampler.HTTPSampleResult
import org.apache.jmeter.threads.JMeterContextService

def prev = ctx.getPreviousResult()
def responseCode = prev.getResponseCode()

if (responseCode.equals("Non HTTP response code: org.apache.http.conn.ConnectTimeoutException") || responseCode.equals("Non HTTP response code: java.net.SocketTimeoutException")) {

    def maxRetries = 3
    def retryCount = 0

    while (retryCount < maxRetries && (prev.isSuccessful() == false)) {

        log.info("Retrying request due to ${responseCode}...")
        
SamplerResult retry = prev.getSampler().execute();

        if (retryResult.isSuccessful()) {
            log.info("Retry successful.")
            JMeterContextService.getContext().setPreviousResult(retryResult)
            break
        }

        retryCount++
    }

    if (retryCount == maxRetries) {
        log.error("Max retries reached without success.")
        JMeterContextService.getContext().setPreviousResult(prev)
    }
}
0

There are 0 best solutions below