Page MenuHomePhabricator

S3api + multipart uploads not working as expected in thanos-swift
Closed, ResolvedPublic

Description

Thanos compactor is failing to compact some blocks with this error:

/var/log/syslog:Jun  9 03:33:57 thanos-fe2001 thanos[7657]: level=warn ts=2020-06-09T03:33:57.045927309Z caller=intrumentation.go:54 msg="changing probe status" status=not-ready reason="error executing compaction
: first pass of downsampling failed: downsampling to 5 min: open block 01EABJ7NFEJDDPS0TFHTVN70H2: invalid magic number 5b7b2268"

Upon inspection, these are the contents of the block's chunks (unsurprisingly 5b7b2268 is ascii for [{"h)

root@thanos-fe2001:~# s3cmd get s3://thanos/01EABJ7NFEJDDPS0TFHTVN70H2/chunks/000001 - | jq .
[
  {
    "hash": "f0db4e4b923918fbc3053ec871197ccd",
    "last_modified": "2020-06-09T03:33:35.000000",
    "bytes": 134217728,
    "name": "/thanos+segments/01EABJ7NFEJDDPS0TFHTVN70H2/chunks/000001/OTMxZDA0OWYtZmIyOC00YmYxLThiZWUtY2RhZGQ4MGUyYmJh/1",
    "content_type": "application/octet-stream"
  },
  {
    "hash": "d3c66bcb5d80ecedc004663cb1698738",
    "last_modified": "2020-06-09T03:33:35.000000",
    "bytes": 118687527,
    "name": "/thanos+segments/01EABJ7NFEJDDPS0TFHTVN70H2/chunks/000001/OTMxZDA0OWYtZmIyOC00YmYxLThiZWUtY2RhZGQ4MGUyYmJh/2",
    "content_type": "application/octet-stream"
  }
]

Meaning that instead of the file's content we have downloaded the file's manifest for Swift's static large file support. In other words a list of pointers to actual Swift objects, as if Swift wasn't recognizing the upload as a SLO.

Event Timeline

Using the swift client API seems to suggest SLO is enabled and working:

root@thanos-fe2001:~# swift upload --segment-size 15M test-container random-64M
random-64M segment 4
random-64M segment 1
random-64M segment 3
random-64M segment 2
random-64M segment 0
random-64M
root@thanos-fe2001:~# swift download -o - test-container random-64M | md5sum
45eb1e0fc9b4272ef387f984298ce80e  -
root@thanos-fe2001:~# md5sum random-64M 
45eb1e0fc9b4272ef387f984298ce80e  random-64M
root@thanos-fe2001:~#

Though not through s3api via s3cmd for example:

root@thanos-fe2001:~# s3cmd put random-64M s3://test-container-s3/random-64M
upload: 'random-64M' -> 's3://test-container-s3/random-64M'  [part 1 of 5, 15MB] [1 of 1]
 15728640 of 15728640   100% in    0s    74.33 MB/s  done
upload: 'random-64M' -> 's3://test-container-s3/random-64M'  [part 2 of 5, 15MB] [1 of 1]
 15728640 of 15728640   100% in    0s    73.18 MB/s  done
upload: 'random-64M' -> 's3://test-container-s3/random-64M'  [part 3 of 5, 15MB] [1 of 1]
 15728640 of 15728640   100% in    0s    76.64 MB/s  done
upload: 'random-64M' -> 's3://test-container-s3/random-64M'  [part 4 of 5, 15MB] [1 of 1]
 15728640 of 15728640   100% in    0s    70.94 MB/s  done
upload: 'random-64M' -> 's3://test-container-s3/random-64M'  [part 5 of 5, 4MB] [1 of 1]
 4194304 of 4194304   100% in    0s    33.78 MB/s  done
root@thanos-fe2001:~# s3cmd get s3://test-container-s3/random-64M - | md5sum
WARNING: MD5 signatures do not match: computed=d315c770f5bd4d4df84895d82ee64850, received=45eb1e0fc9b4272ef387f984298ce80e
d315c770f5bd4d4df84895d82ee64850  -
root@thanos-fe2001:~# s3cmd get s3://test-container-s3/random-64M - | jq .
WARNING: MD5 signatures do not match: computed=d315c770f5bd4d4df84895d82ee64850, received=45eb1e0fc9b4272ef387f984298ce80e
[
  {
    "name": "/test-container-s3+segments/random-64M/MTRjN2VlMWYtODBlNi00NTFkLThkNDAtNjg4MjkyNWRhNjRm/1",
    "bytes": 15728640,
    "hash": "84f6f0d18bf19c930de217013c714401",
    "content_type": "application/octet-stream",
    "last_modified": "2020-06-09T09:36:33.000000"
  },
  {
    "name": "/test-container-s3+segments/random-64M/MTRjN2VlMWYtODBlNi00NTFkLThkNDAtNjg4MjkyNWRhNjRm/2",
    "bytes": 15728640,
    "hash": "ca1bc71dc134a51d0f8d417fe50a40f2",
    "content_type": "application/octet-stream",
    "last_modified": "2020-06-09T09:36:33.000000"
  },
  {
    "name": "/test-container-s3+segments/random-64M/MTRjN2VlMWYtODBlNi00NTFkLThkNDAtNjg4MjkyNWRhNjRm/3",
    "bytes": 15728640,
    "hash": "ea5f4a196ecd0f60141d86cd1cb39666",
    "content_type": "application/octet-stream",
    "last_modified": "2020-06-09T09:36:34.000000"
  },
  {
    "name": "/test-container-s3+segments/random-64M/MTRjN2VlMWYtODBlNi00NTFkLThkNDAtNjg4MjkyNWRhNjRm/4",
    "bytes": 15728640,
    "hash": "45cacd497421b0ed8682e1c302fd701f",
    "content_type": "application/octet-stream",
    "last_modified": "2020-06-09T09:36:34.000000"
  },
  {
    "name": "/test-container-s3+segments/random-64M/MTRjN2VlMWYtODBlNi00NTFkLThkNDAtNjg4MjkyNWRhNjRm/5",
    "bytes": 4194304,
    "hash": "481ab77ed6893d77e13e9da08953a802",
    "content_type": "application/octet-stream",
    "last_modified": "2020-06-09T09:36:34.000000"
  }
]

Using the swift client API seems to suggest SLO is enabled and working:

I was wrong on this, turns out swift client CLI defaults to DLO not SLO, with --use-slo things also fail (test on WMCS / pontoon-thanos-01)

# env | grep ST_
ST_KEY=foo
ST_USER=thanos:prod
ST_AUTH=http://localhost:8888/auth/v1.0
# swift upload --segment-size 15M --use-slo test-container random-64M --object-name test5
test5 segment 4
test5 segment 1
test5 segment 2
test5 segment 0
test5 segment 3
test5
# swift download -o - test-container test5
[{"hash": "92064c25276fbbdf9853f958fb56d606", "last_modified": "2020-06-10T08:47:10.000000", "bytes": 15728640, "name": "/test-container_segments/test5/slo/1591775858.097106/67108864/15728640/00000000", "content_t
ype": "application/swiftclient-segment"}, {"hash": "dc2a1b59d03a6878651059e905ce525e", "last_modified": "2020-06-10T08:47:10.000000", "bytes": 15728640, "name": "/test-container_segments/test5/slo/1591775858.097106/67108864/15728640/00000001", "content_type": "application/swiftclient-segment"}, {"hash": "f634631ba4e7c10c8fde3ebce56d5033", "last_modified": "2020-06-10T08:47:11.000000", "bytes": 15728640, "name": "/test-container_segments/test5/slo/1591775858.097106/67108864/15728640/00000002", "content_type": "application/swiftclient-segment"}, {"hash": "afcc920dbc9229317df933d9530e9d54", "last_modified": "2020-06-10T08:47:11.000000", "bytes": 15728640, "name": "/test-container_segments/test5/slo/1591775858.097106/67108864/15728640/00000003", "content_type": "application/swiftclient-segment"}, {"hash": "98de56a414b514146325d90fae5a45e1", "last_modified": "2020-06-10T08:47:11.000000", "bytes": 4194304, "name": "/test-container_segments/test5/slo/1591775858.097106/67108864/15728640/00000004", "content_type": "application/swiftclient-segment"}]

And the corresponding logs from swift-proxy

Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/09 HEAD /auth/v1.0 HTTP/1.0 400 - Swift - - - - tx76c3cc78dc7148d98dc9e-005ee09e0d - 0.0007 RL - 1591778829.513061047 1591778829.513756990 -
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/09 HEAD /v1/AUTH_thanos%3Fformat%3Djson HTTP/1.0 204 - Swift - - - - txbf73365a95a7498ba04f7-005ee09e0d - 0.0066 RL - 1591778829.523150921 1591778829.529736996 -
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: User: thanos:prod uses token AUTH_tkb32f5b71929447c1839a3a937dd3bdfe (trans_id txbf73365a95a7498ba04f7-005ee09e0d)
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: User thanos:prod has admin authorizing. (txn: txbf73365a95a7498ba04f7-005ee09e0d) (client_ip: 172.16.1.106)
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: removed response headers: [('X-Backend-Storage-Policy-Index', '0')] (txn: txbf73365a95a7498ba04f7-005ee09e0d) (client_ip: 172.16.1.106)
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: 172.16.1.106 172.16.1.106 10/Jun/2020/08/47/09 PUT /v1/AUTH_thanos/test-container HTTP/1.0 202 - python-swiftclient-3.6.0 AUTH_tkb32f5b719... - 76 - txbf73365a95a7498ba04f7-005ee09e0d - 0.0190 - - 1591778829.531797886 1591778829.550796032 0
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: User: thanos:prod uses token AUTH_tkb32f5b71929447c1839a3a937dd3bdfe (trans_id tx1d80eaf8a55f4692971df-005ee09e0d) (client_ip: 172.16.1.106)
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: User thanos:prod has admin authorizing. (txn: tx1d80eaf8a55f4692971df-005ee09e0d) (client_ip: 172.16.1.106)
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: removed response headers: [('X-Backend-Sharding-State', 'unsharded'), ('X-Backend-Timestamp', '1591775786.88106'), ('X-Backend-Put-Timestamp', '1591778829.53255'), ('X-Backend-Delete-Timestamp', '1591775905.75232'), ('X-Backend-Recheck-Container-Existence', '60'), ('X-Backend-Storage-Policy-Index', '0'), ('X-Backend-Status-Changed-At', '1591775970.78935')] (txn: tx1d80eaf8a55f4692971df-005ee09e0d) (client_ip: 172.16.1.106)
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: 172.16.1.106 172.16.1.106 10/Jun/2020/08/47/09 HEAD /v1/AUTH_thanos/test-container%3Fstates%3Dlisting%26format%3Djson HTTP/1.0 204 - python-swiftclient-3.6.0 AUTH_tkb32f5b719... - - - tx1d80eaf8a55f4692971df-005ee09e0d - 0.0067 - - 1591778829.576148987 1591778829.582849026 0
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: User: thanos:prod uses token AUTH_tkb32f5b71929447c1839a3a937dd3bdfe (trans_id txc34fbe15f6234278b6b79-005ee09e0d) (client_ip: 172.16.1.106)
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: User thanos:prod has admin authorizing. (txn: txc34fbe15f6234278b6b79-005ee09e0d) (client_ip: 172.16.1.106)
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: removed response headers: [('X-Backend-Storage-Policy-Index', '0')] (txn: txc34fbe15f6234278b6b79-005ee09e0d) (client_ip: 172.16.1.106)
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: 172.16.1.106 172.16.1.106 10/Jun/2020/08/47/09 PUT /v1/AUTH_thanos/test-container_segments HTTP/1.0 202 - python-swiftclient-3.6.0 AUTH_tkb32f5b719... - 76 - txc34fbe15f6234278b6b79-005ee09e0d - 0.0215 - - 1591778829.732213020 1591778829.753695965 0
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/09 HEAD /auth/v1.0 HTTP/1.0 400 - Swift - - - - txccaf6b694b7c4cdd994cb-005ee09e0d - 0.0004 RL - 1591778829.796135902 1591778829.796566963 -
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: User: thanos:prod uses token AUTH_tkb32f5b71929447c1839a3a937dd3bdfe (trans_id tx9e47487b9642467eaa9a6-005ee09e0d)
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: User thanos:prod has admin authorizing. (txn: tx9e47487b9642467eaa9a6-005ee09e0d) (client_ip: 172.16.1.106)
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: 172.16.1.106 172.16.1.106 10/Jun/2020/08/47/09 HEAD /v1/AUTH_thanos/test-container/test5 HTTP/1.0 404 - python-swiftclient-3.6.0 AUTH_tkb32f5b719... - - - tx9e47487b9642467eaa9a6-005ee09e0d - 0.0106 - - 1591778829.803596020 1591778829.814225912 0
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/09 HEAD /auth/v1.0 HTTP/1.0 400 - Swift - - - - tx05599ec5495b46afbf643-005ee09e0d - 0.0005 RL - 1591778829.820988894 1591778829.821453094 -
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/09 HEAD /auth/v1.0 HTTP/1.0 400 - Swift - - - - tx883020727dca4ff4acc7c-005ee09e0d - 0.0015 RL - 1591778829.831276894 1591778829.832777977 -
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/09 HEAD /auth/v1.0 HTTP/1.0 400 - Swift - - - - tx55a61de6863d43659034c-005ee09e0d - 0.0005 RL - 1591778829.859532118 1591778829.860025883 -
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/09 HEAD /auth/v1.0 HTTP/1.0 400 - Swift - - - - txa65fc034928a4d1ab4c08-005ee09e0d - 0.0050 RL - 1591778829.871726036 1591778829.876722097 -
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/09 HEAD /auth/v1.0 HTTP/1.0 400 - Swift - - - - txbfce80d0e87c4f639e4bb-005ee09e0d - 0.0035 RL - 1591778829.899533033 1591778829.902992964 -
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/09 HEAD /v1/AUTH_thanos/test-container_segments%3Fstates%3Dlisting%26format%3Djson HTTP/1.0 204 - Swift - - - - tx71a2b355537c490da4845-005ee09e0d - 0.1150 RL - 1591778829.850677013 1591778829.965629101 0
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: User: thanos:prod uses token AUTH_tkb32f5b71929447c1839a3a937dd3bdfe (trans_id tx71a2b355537c490da4845-005ee09e0d)
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: User thanos:prod has admin authorizing. (txn: tx71a2b355537c490da4845-005ee09e0d) (client_ip: 172.16.1.106)
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/09 HEAD /v1/AUTH_thanos/test-container_segments%3Fstates%3Dlisting%26format%3Djson HTTP/1.0 204 - Swift - - - - tx70a54beab07a4c70be3c5-005ee09e0d - 0.0956 RL - 1591778829.895546913 1591778829.991141081 0                                                                      
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: User: thanos:prod uses token AUTH_tkb32f5b71929447c1839a3a937dd3bdfe (trans_id tx70a54beab07a4c70be3c5-005ee09e0d)
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: User thanos:prod has admin authorizing. (txn: tx70a54beab07a4c70be3c5-005ee09e0d) (client_ip: 172.16.1.106)
Jun 10 08:47:09 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/09 HEAD /v1/AUTH_thanos/test-container_segments%3Fstates%3Dlisting%26format%3Djson HTTP/1.0 204 - Swift - - - - tx3071931f396746dfa4809-005ee09e0d - 0.0594 RL - 1591778829.939480066 1591778829.998848915 0                                                                      
Jun 10 08:47:10 pontoon-thanos-01 proxy-server[4448]: User: thanos:prod uses token AUTH_tkb32f5b71929447c1839a3a937dd3bdfe (trans_id tx3071931f396746dfa4809-005ee09e0d)
Jun 10 08:47:10 pontoon-thanos-01 proxy-server[4448]: User thanos:prod has admin authorizing. (txn: tx3071931f396746dfa4809-005ee09e0d) (client_ip: 172.16.1.106)
Jun 10 08:47:10 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/10 HEAD /v1/AUTH_thanos/test-container_segments%3Fstates%3Dlisting%26format%3Djson HTTP/1.0 204 - Swift - - - - txa60d5d28d96f460a9c50b-005ee09e0d - 0.0546 RL - 1591778829.947870016 1591778830.002428055 0                                                                      
Jun 10 08:47:10 pontoon-thanos-01 proxy-server[4448]: User: thanos:prod uses token AUTH_tkb32f5b71929447c1839a3a937dd3bdfe (trans_id txa60d5d28d96f460a9c50b-005ee09e0d)
Jun 10 08:47:10 pontoon-thanos-01 proxy-server[4448]: User thanos:prod has admin authorizing. (txn: txa60d5d28d96f460a9c50b-005ee09e0d) (client_ip: 172.16.1.106)
Jun 10 08:47:10 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/10 HEAD /v1/AUTH_thanos/test-container_segments%3Fstates%3Dlisting%26format%3Djson HTTP/1.0 204 - Swift - - - - txb1f4d760694e4e02a44d8-005ee09e0d - 0.0822 RL - 1591778829.923861027 1591778830.006048918 0                                                                      
Jun 10 08:47:10 pontoon-thanos-01 proxy-server[4448]: User: thanos:prod uses token AUTH_tkb32f5b71929447c1839a3a937dd3bdfe (trans_id txb1f4d760694e4e02a44d8-005ee09e0d)
Jun 10 08:47:10 pontoon-thanos-01 proxy-server[4448]: User thanos:prod has admin authorizing. (txn: txb1f4d760694e4e02a44d8-005ee09e0d) (client_ip: 172.16.1.106)
Jun 10 08:47:11 pontoon-thanos-01 proxy-server[4448]: 172.16.1.106 172.16.1.106 10/Jun/2020/08/47/11 PUT /v1/AUTH_thanos/test-container_segments/test5/slo/1591775858.097106/67108864/15728640/00000004 HTTP/1.0 201 - python-swiftclient-3.6.0 AUTH_tkb32f5b719... 4194304 - - txa60d5d28d96f460a9c50b-005ee09e0d - 1.7160 - - 1591778830.004158020 1591778831.720185041 0
Jun 10 08:47:14 pontoon-thanos-01 proxy-server[4448]: 172.16.1.106 172.16.1.106 10/Jun/2020/08/47/14 PUT /v1/AUTH_thanos/test-container_segments/test5/slo/1591775858.097106/67108864/15728640/00000001 HTTP/1.0 201 - python-swiftclient-3.6.0 AUTH_tkb32f5b719... 15728640 - - tx70a54beab07a4c70be3c5-005ee09e0d - 4.0673 - - 1591778829.995002985 1591778834.062338114 0
Jun 10 08:47:14 pontoon-thanos-01 proxy-server[4448]: 172.16.1.106 172.16.1.106 10/Jun/2020/08/47/14 PUT /v1/AUTH_thanos/test-container_segments/test5/slo/1591775858.097106/67108864/15728640/00000002 HTTP/1.0 201 - python-swiftclient-3.6.0 AUTH_tkb32f5b719... 15728640 - - txb1f4d760694e4e02a44d8-005ee09e0d - 4.5995 - - 1591778830.007859945 1591778834.607357979 0
Jun 10 08:47:14 pontoon-thanos-01 proxy-server[4448]: 172.16.1.106 172.16.1.106 10/Jun/2020/08/47/14 PUT /v1/AUTH_thanos/test-container_segments/test5/slo/1591775858.097106/67108864/15728640/00000000 HTTP/1.0 201 - python-swiftclient-3.6.0 AUTH_tkb32f5b719... 15728640 - - tx71a2b355537c490da4845-005ee09e0d - 4.7174 - - 1591778829.975577116 1591778834.693010092 0
Jun 10 08:47:14 pontoon-thanos-01 proxy-server[4448]: 172.16.1.106 172.16.1.106 10/Jun/2020/08/47/14 PUT /v1/AUTH_thanos/test-container_segments/test5/slo/1591775858.097106/67108864/15728640/00000003 HTTP/1.0 201 - python-swiftclient-3.6.0 AUTH_tkb32f5b719... 15728640 - - tx3071931f396746dfa4809-005ee09e0d - 4.7300 - - 1591778830.000602007 1591778834.730592012 0
Jun 10 08:47:14 pontoon-thanos-01 proxy-server[4448]: User: thanos:prod uses token AUTH_tkb32f5b71929447c1839a3a937dd3bdfe (trans_id tx6d7fc59d09f94f2e8bcf4-005ee09e12) (client_ip: 172.16.1.106)
Jun 10 08:47:14 pontoon-thanos-01 proxy-server[4448]: User thanos:prod has admin authorizing.                                            
Jun 10 08:47:14 pontoon-thanos-01 proxy-server[4448]: User thanos:prod has admin authorizing.                                            
Jun 10 08:47:14 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/14 HEAD /v1/AUTH_thanos/test-container_segments/test5/slo/1591775858.097106/67108864/15728640/00000004 HTTP/1.0 200 - python-swiftclient-3.6.0%20SLO%20MultipartPUT AUTH_tkb32f5b719... - - - tx6d7fc59d09f94f2e8bcf4-005ee09e12 - 0.0082 SLO - 1591778834.743269920 1591778834.751476049 0
Jun 10 08:47:14 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/14 HEAD /v1/AUTH_thanos/test-container_segments/test5/slo/1591775858.097106/67108864/15728640/00000000 HTTP/1.0 200 - python-swiftclient-3.6.0%20SLO%20MultipartPUT AUTH_tkb32f5b719... - - - tx6d7fc59d09f94f2e8bcf4-005ee09e12 - 0.0090 SLO - 1591778834.744899988 1591778834.753876925 0
Jun 10 08:47:14 pontoon-thanos-01 proxy-server[4448]: User thanos:prod has admin authorizing.                                            
Jun 10 08:47:14 pontoon-thanos-01 proxy-server[4448]: User thanos:prod has admin authorizing.                                            
Jun 10 08:47:14 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/14 HEAD /v1/AUTH_thanos/test-container_segments/test5/slo/1591775858.097106/67108864/15728640/00000001 HTTP/1.0 200 - python-swiftclient-3.6.0%20SLO%20MultipartPUT AUTH_tkb32f5b719... - - - tx6d7fc59d09f94f2e8bcf4-005ee09e12 - 0.0058 SLO - 1591778834.755764961 1591778834.761552095 0
Jun 10 08:47:14 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/14 HEAD /v1/AUTH_thanos/test-container_segments/test5/slo/1591775858.097106/67108864/15728640/00000002 HTTP/1.0 200 - python-swiftclient-3.6.0%20SLO%20MultipartPUT AUTH_tkb32f5b719... - - - tx6d7fc59d09f94f2e8bcf4-005ee09e12 - 0.0063 SLO - 1591778834.757457018 1591778834.763724089 0
Jun 10 08:47:14 pontoon-thanos-01 proxy-server[4448]: User thanos:prod has admin authorizing.                                            
Jun 10 08:47:14 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/14 HEAD /v1/AUTH_thanos/test-container_segments/test5/slo/1591775858.097106/67108864/15728640/00000003 HTTP/1.0 200 - python-swiftclient-3.6.0%20SLO%20MultipartPUT AUTH_tkb32f5b719... - - - tx6d7fc59d09f94f2e8bcf4-005ee09e12 - 0.0042 SLO - 1591778834.765321016 1591778834.769474030 0
Jun 10 08:47:14 pontoon-thanos-01 proxy-server[4448]: User thanos:prod has admin authorizing. (txn: tx6d7fc59d09f94f2e8bcf4-005ee09e12) (client_ip: 172.16.1.106)
Jun 10 08:47:14 pontoon-thanos-01 proxy-server[4448]: 172.16.1.106 172.16.1.106 10/Jun/2020/08/47/14 PUT /v1/AUTH_thanos/test-container/test5%3Fmultipart-manifest%3Dput HTTP/1.0 201 - python-swiftclient-3.6.0 AUTH_tkb32f5b719... 1269 - d753f58850d08cf49cb7227b819070fb tx6d7fc59d09f94f2e8bcf4-005ee09e12 - 0.0186 - - 1591778834.771270990 1591778834.789834023 0
Jun 10 08:47:54 pontoon-thanos-01 proxy-server[4448]: - - 10/Jun/2020/08/47/54 HEAD /auth/v1.0 HTTP/1.0 400 - Swift - - - - tx7a078ada97de45ac8d935-005ee09e3a - 0.0008 RL - 1591778874.123063087 1591778874.123877048 -                                                                                                                                      
Jun 10 08:47:54 pontoon-thanos-01 proxy-server[4448]: User: thanos:prod uses token AUTH_tkb32f5b71929447c1839a3a937dd3bdfe (trans_id txf58074fb74a5418aa6f91-005ee09e3a)
Jun 10 08:47:54 pontoon-thanos-01 proxy-server[4448]: User thanos:prod has admin authorizing. (txn: txf58074fb74a5418aa6f91-005ee09e3a) (client_ip: 172.16.1.106)
Jun 10 08:47:54 pontoon-thanos-01 proxy-server[4448]: removed response headers: [('X-Backend-Timestamp', '1591778834.77221'), ('X-Object-Sysmeta-Slo-Size', '67108864'), ('X-Backend-Data-Timestamp', '1591778834.77221'), ('X-Backend-Durable-Timestamp', '1591778834.77221'), ('X-Object-Sysmeta-Container-Update-Override-Etag', 'd753f58850d08cf49cb7227b819070fb; slo_etag=243d2d84a017f529c915d83c4e69ce1c'), ('X-Object-Sysmeta-Slo-Etag', '243d2d84a017f529c915d83c4e69ce1c')] (txn: txf58074fb74a5418aa6f91-005ee09e3a) (client_ip: 172.16.1.106)                         
Jun 10 08:47:54 pontoon-thanos-01 proxy-server[4448]: 172.16.1.106 172.16.1.106 10/Jun/2020/08/47/54 GET /v1/AUTH_thanos/test-container/test5 HTTP/1.0 200 - python-swiftclient-3.6.0 AUTH_tkb32f5b719... - 1269 - txf58074fb74a5418aa6f91-005ee09e3a - 0.0096 - - 1591778874.131486893 1591778874.141068935 0

To recap: this is swift 2.19.1-1 on Debian Buster and the proxy is configured as follows in WMCS (but reproducible in prod too):

[DEFAULT]
bind_port = 8888
workers = 1
user = swift
log_statsd_host = localhost
log_statsd_port = 9125
log_statsd_metric_prefix = swift.thanos-prod.pontoon-thanos-01
log_statsd_sample_rate_factor = 1
log_level = DEBUG

[pipeline:main]

pipeline = healthcheck cache container_sync bulk tempurl ratelimit s3api tempauth slo proxy-logging proxy-server

# s3api requirement
[filter:bulk]
use = egg:swift#bulk

# s3api requirement
[filter:slo]
use = egg:swift#slo

[filter:s3api]
use = egg:swift#s3api

[app:proxy-server]
use = egg:swift#proxy
account_autocreate = true

[filter:tempurl]
use = egg:swift#tempurl
# default includes PUT
methods = GET HEAD

[filter:tempauth]
use = egg:swift#tempauth
token_life = 604800
user_swift_dispersion = bar .admin http://localhost:8888/v1/AUTH_dispersion
user_thanos_prod = foo .admin http://localhost:8888/v1/AUTH_thanos

# https://docs.openstack.org/developer/swift/ratelimit.html
[filter:ratelimit]
use = egg:swift#ratelimit
# accounts limited to 5/s PUT/DELETE to containers
account_ratelimit = 5
account_whitelist = AUTH_mw
log_sleep_time_seconds = 3
# containers with > 200 objects limited to 30/s PUT/DELETE/POST and listings
container_ratelimit_200 = 30
container_listing_ratelimit_200 = 30

[filter:container_sync]
use = egg:swift#container_sync

[filter:healthcheck]
use = egg:swift#healthcheck

[filter:cache]
use = egg:swift#memcache
memcache_servers = pontoon-thanos-01.monitoring.eqiad.wmflabs:11211
memcache_serialization_support = 2
# per worker!
memcache_max_connections = 12

[filter:proxy-logging]
use = egg:swift#proxy_logging
set access_log_facility = LOG_LOCAL1

Change 604415 had a related patch set uploaded (by Filippo Giunchedi; owner: Filippo Giunchedi):
[operations/puppet@production] swift: allow x-static-large-object header

https://gerrit.wikimedia.org/r/604415

Change 604415 merged by Filippo Giunchedi:
[operations/puppet@production] swift: allow x-static-large-object header

https://gerrit.wikimedia.org/r/604415

fgiunchedi claimed this task.

Fixed with upstream's help, and filed as a bug at https://bugs.launchpad.net/swift/+bug/1882962