When running object-server without x-static-large-object in allowed_headers then SLO downloads silently fail and return the JSON manifest instead:
# 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"}]
Please consider either forcing x-static-large-object in allowed_headers regardless of configuration or expand SLO documentation to have explicit mention of the header
thanks!
Filippo
DLO has similar troubles if you override allowed_headers to not include X-Object-Manifest, and I bet object-expiration goes sideways if you don't include X-Delete-At.