When I run nginx with multiple worker, after some time, new request gets timeout. The timeout time equals the value set for this module configuration. However the stuck up does not happen if nginx runs with only 1 worker.
In the source code, the snode->counter is either changed by ngx_atomic_fetch_add(&snode->counter, 1) or by ++/-- directly. I believe this causes the race condition issue.