mirror of
https://github.com/basicmachines-co/basic-memory
synced 2026-06-21 13:47:35 +00:00
fix: use global --header flag for Tigris consistency on all rclone transactions
--header-download and --header-upload only apply to GET and PUT requests. bisync starts by listing files via S3 ListObjectsV2 — neither a download nor upload — so the consistency header was never sent on list requests. Non-US users saw stale edge-cached metadata and bisync reported "0 changes." --header is rclone's global flag that applies to ALL HTTP transactions (list, download, upload), which is a superset of the previous two flags. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: phernandez <paul@basicmachines.co>
This commit is contained in:
@@ -28,11 +28,13 @@ console = Console()
|
||||
MIN_RCLONE_VERSION_EMPTY_DIRS = (1, 64, 0)
|
||||
|
||||
# Tigris edge caching returns stale data for users outside the origin region (iad).
|
||||
# These headers bypass edge cache and force reads/writes against the origin.
|
||||
# --header is rclone's global flag that applies to ALL HTTP transactions (list, download,
|
||||
# upload). This is critical because bisync starts with S3 ListObjectsV2, which is neither
|
||||
# a download nor upload — so --header-download/--header-upload would miss list requests.
|
||||
# See: https://www.tigrisdata.com/docs/objects/consistency/
|
||||
TIGRIS_CONSISTENCY_HEADERS = [
|
||||
"--header-download", "X-Tigris-Consistent: true",
|
||||
"--header-upload", "X-Tigris-Consistent: true",
|
||||
"--header",
|
||||
"X-Tigris-Consistent: true",
|
||||
]
|
||||
|
||||
|
||||
|
||||
@@ -41,15 +41,14 @@ class _Runner:
|
||||
|
||||
|
||||
def _assert_has_consistency_headers(cmd: list[str]) -> None:
|
||||
"""Assert the rclone command includes Tigris consistency headers."""
|
||||
assert "--header-download" in cmd
|
||||
assert "X-Tigris-Consistent: true" in cmd
|
||||
assert "--header-upload" in cmd
|
||||
# Verify upload header value follows --header-upload
|
||||
upload_idx = cmd.index("--header-upload")
|
||||
assert cmd[upload_idx + 1] == "X-Tigris-Consistent: true"
|
||||
download_idx = cmd.index("--header-download")
|
||||
assert cmd[download_idx + 1] == "X-Tigris-Consistent: true"
|
||||
"""Assert the rclone command includes Tigris consistency headers.
|
||||
|
||||
Uses --header (global flag) so the header applies to ALL HTTP transactions,
|
||||
including S3 list requests that bisync issues before any download/upload.
|
||||
"""
|
||||
assert "--header" in cmd
|
||||
header_idx = cmd.index("--header")
|
||||
assert cmd[header_idx + 1] == "X-Tigris-Consistent: true"
|
||||
|
||||
|
||||
def _write_filter_file(tmp_path: Path) -> Path:
|
||||
|
||||
Reference in New Issue
Block a user