openresty / openresty/lua-nginx-module
lua request hang
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 11.8k
- Forks
- 2.1k
- Avg merge
- 6h 1m
- Merged PRs (30d)
- 6
Description
location /eads {
default_type application/json;
content_by_lua_file /home/a/share/tengine/lua/rpc_eads.lua;
}
location /rpc_eads/ {
gzip on;
proxy_connect_timeout 200ms; # optional; control backend timeouts
proxy_send_timeout 200ms; # same
proxy_read_timeout 200ms; # same
send_timeout 200ms;
gzip_types text/xml "application/x-javascript; charset=GB2312" application/xxxx;
cluster_info /home/a/share/tengine/conf/cluster.ini gig_mesh_info;
gig_mesh;
}
lua code
local res = ngx.location.capture_multi{{eads_url,{method=ngx.HTTP_GET}}}
问题描述
curl请求eads,lua代码 local res = ngx.location.capture(eads_url) 掉erpc_eads的服务(拓展的nginx module,将http转为rpc),当curl发起请求时居然卡住了,我只有kill curl时,它才能走到下面的程序,这是什么原因导致的?
单独请求curl /rpc_eads/ 有正常内容返回
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the hang with the shown locations, curl request, and the Lua entry point rpc_eads.lua, comparing ngx.location.capture or capture_multi with a direct request to /rpc_eads/. Trace the request through the eRPC nginx module and determine why the subrequest completes only after curl is killed; done means documenting the cause and a verified resolution.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua, nginx
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100