-
Notifications
You must be signed in to change notification settings - Fork 403
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Bug description
I am trying to use the http.client library to communicate with etcd HTTP stream API. Everything functions properly until the connection with etcd is unexpectedly lost. In this case, all current streams hang until the request timeout ends.
In fact, this is a bug in curl (see curl/curl#11769).
Tarantool version
tarantool version is 2.11.0-0-g247a9a418.
Operating system
Ubuntu 22.04.2 LTS.
Linux 6.2.0-26-generic x86-64.
Steps to reproduce
- Run etcd (for installation please check this guide).
- Execute in tarantool:
opts = {chunked=true, keepalive_interval = 1, keepalive_idle = 1, verbose = true}
client = require("http.client").new()
stream = client:post("http://localhost:2379/v3/watch", nil, opts)
stream:read(1, 10000)
- Close etcd server:
killall -SIGKILL $(pidof etcd) - See that the reproducer hangs.
Actual behavior
tarantool instance hangs (until the timeout of the read ends).
Expected behavior
I expected that the request finishes (with an error) due to a lost connection. So the reproducer will finish too.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working