Commit c25e25b
authored
fix(shuffle): strip object key before parsing ObjectStoreUrl for S3 shuffle (#40)
ObjectStoreUrl::parse rejects URLs containing anything beyond the
scheme and authority. The runtime-backed object store shuffle reader
was passing the full shuffle file URL (e.g.
s3://bucket/job-id/.../data-35.arrow) into ObjectStoreUrl::parse,
causing async queries with S3 shuffle storage to fail with:
ObjectStoreUrl must only contain scheme and authority, got:
/job-id/.../data-35.arrow
Slice the URL up to url::Position::BeforePath when looking up the
object store in the runtime registry. The full path is still used to
fetch the individual object via store.get(). Adds a regression test
that pins the invariant.1 parent 7e9872a commit c25e25b
1 file changed
Lines changed: 29 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
951 | 951 | | |
952 | 952 | | |
953 | 953 | | |
954 | | - | |
955 | | - | |
956 | | - | |
957 | | - | |
958 | | - | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
959 | 962 | | |
960 | 963 | | |
961 | 964 | | |
| |||
2250 | 2253 | | |
2251 | 2254 | | |
2252 | 2255 | | |
| 2256 | + | |
| 2257 | + | |
| 2258 | + | |
| 2259 | + | |
| 2260 | + | |
| 2261 | + | |
| 2262 | + | |
| 2263 | + | |
| 2264 | + | |
| 2265 | + | |
| 2266 | + | |
| 2267 | + | |
| 2268 | + | |
| 2269 | + | |
| 2270 | + | |
| 2271 | + | |
| 2272 | + | |
| 2273 | + | |
| 2274 | + | |
| 2275 | + | |
| 2276 | + | |
2253 | 2277 | | |
0 commit comments