═══════════════════════════════════════════════════════════════ Clear Cache & Re-fetch Header ═══════════════════════════════════════════════════════════════ Target: user=1, name=20251012T053349Z-ca94635b ─────────────────────────────────────────────────────────────── Step 1: Clear Redis Cache ─────────────────────────────────────────────────────────────── ✓ Deleted: toc:1:20251012T053349Z-ca94635b:header ✓ Deleted: toc:1:20251012T053349Z-ca94635b:root ✗ Deleted: toc:1:20251012T053349Z-ca94635b:leaf ─────────────────────────────────────────────────────────────── Step 2: Fetch Fresh Header from S3 ─────────────────────────────────────────────────────────────── Fetching: 1/20251012T053349Z-ca94635b/20251012T053349Z-ca94635b.pmtiles Range: bytes=0-16383 (first 16KB) ✓ Fetched 16384 bytes Magic bytes: 504d54696c6573 Magic string: PMTiles ✓ Valid PMTiles magic First 127 bytes (header) in hex: 0000: 50 4d 54 69 6c 65 73 03 7f 00 00 00 00 00 00 00 PMTiles......... 0010: 93 09 00 00 00 00 00 00 12 0a 00 00 00 00 00 00 ................ 0020: 90 00 00 00 00 00 00 00 a2 0a 00 00 00 00 00 00 ................ 0030: 00 00 00 00 00 00 00 00 a2 0a 00 00 00 00 00 00 ................ 0040: 1e 3e 4b 00 00 00 00 00 f8 03 00 00 00 00 00 00 .>K............. 0050: f8 03 00 00 00 00 00 00 f6 03 00 00 00 00 00 00 ................ 0060: 01 02 01 04 00 0d 68 9b 98 c3 bc 45 94 0f 1a 5d ......h....E...] 0070: b2 c7 12 ed ee 11 00 41 7c a5 c5 67 99 c1 10 .......A|..g... ─────────────────────────────────────────────────────────────── Step 3: Parse Header ─────────────────────────────────────────────────────────────── Byte-by-byte parsing: [0-6] Magic: PMTiles [7] Spec Version: 3 [8] Tile Type: 127 [9] Tile Compression: 0 [10] Tile Type: 0 [11] Tile Compression: 0 [12-15] Min Zoom: 0 [16-23] Root Dir Offset: 2451 [24-31] Root Dir Length: 2578 Using parse_header_v3(): Spec Version: 3 Tile Type: 127 Tile Compression: 0 Min Zoom: 1 Max Zoom: 2 Root Dir Offset: 2451 Root Dir Length: 2578 Leaf Dir Offset: 0 Leaf Dir Length: 2722 JSON Offset: 144 JSON Length: 2722 Tile Data Offset: 4931102 Tile Data Length: 1016 ⚠️ WARNING: Leaf directory length is 2722 but offset is 0 This means leaf directory doesn't exist - will use root directory instead. ✓ Header looks valid ─────────────────────────────────────────────────────────────── Step 4: Preload TOC into Redis ─────────────────────────────────────────────────────────────── ✓ Preload successful ─────────────────────────────────────────────────────────────── Step 5: Verify Cache ─────────────────────────────────────────────────────────────── ✓ toc:1:20251012T053349Z-ca94635b:header => 127 bytes ✓ toc:1:20251012T053349Z-ca94635b:root => 2578 bytes ✗ toc:1:20251012T053349Z-ca94635b:leaf => NOT FOUND ═══════════════════════════════════════════════════════════════ ✓ Cache cleared and refreshed! ═══════════════════════════════════════════════════════════════ Now try your tile request: curl 'https://tile.map.one/tiles.php?user_id=1&name=20251012T053349Z-ca94635b&z=8&x=58&y=107&token=tst_...'