GithubHelp home page GithubHelp logo

Comments (7)

ligurio avatar ligurio commented on May 23, 2024 1

Could you verify this? Many thanks.

Sure. I can confirm that this version fixes the problem.

from curl.

icing avatar icing commented on May 23, 2024 1

Thanks, with the new test case in place, I hope we can avoid stumbling into this again in the future.

from curl.

icing avatar icing commented on May 23, 2024

I tried to reproduce the situation in a curl test case, so that we can avoid regressions on this in the future. The case where I could reproduce a stall with the server going aways is:

A transfer

  • where the upload is PAUSED
  • where the download is done
  • the server closes the connection

If this is indeed the situation that you are in with the etcd server (speculating here), then this points to a poor HTTP API design. Which you can probably do nothing about, I just wanted to mention it.

from curl.

icing avatar icing commented on May 23, 2024

Could you verify if #13271 addresses your issue?

from curl.

ligurio avatar ligurio commented on May 23, 2024

Could you verify if #13271 addresses your issue?

Sure, will do and report soon.

from curl.

ligurio avatar ligurio commented on May 23, 2024

The issue is still present with a patch on top of the master (60971d6).

Curl's output:

Captured stderr:
* !!! WARNING !!!
* This is a debug build of libcurl, do not use in production.
* STATE: INIT => CONNECT handle 0x5d9a3121cbc8; line 1910
* Curl_client_reset(), clear readers
* Added connection 0. The cache now contains 1 members
* Host localhost:2379 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
* STATE: CONNECT => CONNECTING handle 0x5d9a3121cbc8; line 1964
*   Trying [::1]:2379...
* connect to ::1 port 2379 from ::1 port 52424 failed: Connection refused
*   Trying 127.0.0.1:2379...
* Connected to localhost (127.0.0.1) port 2379
* STATE: CONNECTING => PROTOCONNECT handle 0x5d9a3121cbc8; line 2072
* STATE: PROTOCONNECT => DO handle 0x5d9a3121cbc8; line 2101
* cr_exp100_read, start AWAITING_CONTINUE
> POST /v3/watch HTTP/1.1
Host: localhost:2379
Transfer-Encoding: chunked
Accept: */*
Connection: Keep-Alive
Keep-Alive: timeout=1
Expect: 100-continue

* STATE: DO => DID handle 0x5d9a3121cbc8; line 2197
* STATE: DID => PERFORMING handle 0x5d9a3121cbc8; line 2315
* cr_exp100_read, AWAITING_CONTINUE, not expired
* HTTP 1.1 or later with persistent connection
< HTTP/1.1 100 Continue
< 
* cr_exp100_read, pass through
* cr_in_read(len=65524, total=-1, read=0) -> 0, 0, 0
* nread <= 0, server closed connection, bailing

from curl.

icing avatar icing commented on May 23, 2024

Thanks @ligurio for the log output. I believe I have not a correct test case for the situation and a better fix in #13271. Could you verify this? Many thanks.

from curl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.