Skip to content

Connection Timed out always seen for UDP when num req/rsp are matched given a wrong perception on upstream delay #877

Open

Description

Describe the bug

When number of UDP Req/Rsp matched session should be deleted without any error log

To reproduce

Configured UDP Req/Rsp to 10/10 and send 10 packet and receive 10 rsp

Expected behavior

Post 10 req/rsp session should be cleaned up without any error log saying timed out

Your environment

nginx:alpine

Additional context


                if (pscf->responses == NGX_MAX_INT32_VALUE
                    || (u->responses >= pscf->responses * u->requests))
                {

                    /*
                     * successfully terminate timed out UDP session
                     * if expected number of responses was received
                     */

                    handler = c->log->handler;
                    c->log->handler = NULL;

                    c->log->handler = handler;

                    ngx_stream_proxy_finalize(s, NGX_STREAM_OK);
                    return;
                }

I expect above condition should rather be

                if (pscf->responses == NGX_MAX_INT32_VALUE
                    || (u->responses >=  u->requests)) << like this
                {

                    /*

Seeing always log

2024/04/08 20:31:58 [error] 1932#0: *131 upstream timed out (110: Connection timed out) while proxying connection, udp client: 127.0.0.1, server: 0.0.0.0:3123, upstream: "127.0.0.1:8084", bytes from/to client:0/170, bytes from/to upstream:170/0

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

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