!RROtHmAaQIkiJzJZZE:nixos.org

NixOS Infrastructure

400 Members
Next Infra call: 2024-07-11, 18:00 CEST (UTC+2) | Infra operational issues backlog: https://github.com/orgs/NixOS/projects/52 | See #infra-alerts:nixos.org for real time alerts from Prometheus.120 Servers

Load older messages


SenderMessageTime
19 Mar 2026
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)Well if that's the case bernardo will get an earful from me since I asked him if it does and he confirmed10:03:36
@arianvp:matrix.orgArian

Nope 100% HTTP1.1


 Host: nix-cache.s3.us-east-1.amazonaws.com
> User-Agent: curl/8.17.0
> Accept: */*
> 
* Request completely sent off
< HTTP/1.1 200 OK
10:04:16
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)womp womp10:05:00
@arianvp:matrix.orgArian https://gist.github.com/arianvp/cf5ce0cba528acc43904d7987ae90f98 10:06:10
@arianvp:matrix.orgArian

You can also verify yourself with just openssl:

openssl s_client  -alpn 'h2,http/1.1' -connect nix-cache.s3.amazonaws.com:443 
openssl s_client  -alpn 'h2' -connect nix-cache.s3.amazonaws.com:443

In the first one it negotiates HTTP1.1 and in the second one it says “No ALPN Negotiated”

10:12:13
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)Hm so issue then would be keepalive making things worse10:31:54
@emilazy:matrix.orgemilyshhh, SQS will hear you11:28:58
@joerg:thalheim.ioMic92I think I remember he talked about some proxies at some point.11:56:59
@joerg:thalheim.ioMic92So might be not the s3 itself11:57:19
@joerg:thalheim.ioMic92 Sergei Zimmerman (xokdvium): https://github.com/NixOS/nix/pull/15522 so this would be the most sensible fix for now? 11:57:33
@arianvp:matrix.orgArianI feel like we have something misconfigured with curl's connection pooling11:58:12
@joerg:thalheim.ioMic92* So might be not the s3 itself that does http11:59:15
@joerg:thalheim.ioMic92* So might be not the s3 itself that does http 2.012:00:36
@joerg:thalheim.ioMic92 hexa (signing key rotation when): so my plan, would be to apply the patch above to our hydra and if this fixes the issue, we could merge it and have a nix patch release today 12:07:53
@hexa:lossy.networkhexaWorks for me12:08:15
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)

Don't think so. With a dummy python server with h1.1 I do get reuse:

curl: Reusing existing http: connection with host localhost
downloading 'http://localhost:9000/9x7dq2sgrw63d93pa5lyk51hgwsmmn9k.narinfo'...
12:15:58
@joerg:thalheim.ioMic92https://github.com/NixOS/infra/pull/98212:17:11
@joerg:thalheim.ioMic92I am checking also what the aws sdk is actually doing, since it's also using curl12:22:47
@joerg:thalheim.ioMic92https://github.com/aws/aws-sdk-cpp/blob/9204e236faaa1ca6a0342dee7caf61c7cf5ad8bb/src/aws-cpp-sdk-core/source/http/curl/CurlHandleContainer.cpp#L172-L17612:24:33
@joerg:thalheim.ioMic92So looks like we always had keep-alive12:25:12
@joerg:thalheim.ioMic92but aws does it's own pooling12:26:48
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)It might have retries for the error. Also one thing to note is that old code didn't run concurrent s3 requests at all, since it was using the blocking API. Now we fire off a bunch of requests in parallel.12:26:53
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)We do curl_multi pooling too, that does reuse the handles12:27:25
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)Or rather the connections for the easy handles12:27:36
@joerg:thalheim.ioMic92aws, doesn't seem to use this interface12:28:30
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)Well it effectively does the same thing. What aws probably does is retry on that 400 error12:29:30
@arianvp:matrix.orgArian
In reply to @joerg:thalheim.io
but aws does it's own pooling
Only if you use the transfer API iirc which we didn't
12:32:54
@arianvp:matrix.orgArianFor S3 you also need to retry on 503 for uploads https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance-design-patterns.html12:34:08
@arianvp:matrix.orgArianThey use 503 for rate limit :')12:34:30
@joerg:thalheim.ioMic92https://github.com/aws/aws-sdk-cpp/blob/9204e236faaa1ca6a0342dee7caf61c7cf5ad8bb/src/aws-cpp-sdk-core/source/client/CoreErrors.cpp#L90-L9112:35:08

Show newer messages


Back to Room ListRoom Version: 6