)]}'
{
  "commit": "1ea981998e6ee87fc466652c4c66cb2ec6b2dc14",
  "tree": "a9a66751a7faa8b0f252ab46521fcc4c0ac46921",
  "parents": [
    "cd90641429051eee5221cdd87247397fbdd5defa"
  ],
  "author": {
    "name": "ColinLee",
    "email": "shuolin_l@163.com",
    "time": "Sun May 31 17:43:13 2026 +0800"
  },
  "committer": {
    "name": "ColinLee",
    "email": "shuolin_l@163.com",
    "time": "Sun May 31 17:43:13 2026 +0800"
  },
  "message": "columnar series_stats in dataset manifest\n\nBump cache_version 2 -\u003e 3 and flip each shard\u0027s series_stats from a list\nof per-series dicts into eight parallel primitive lists (device_index,\nfield_index, length, min_time, max_time, timeline_length,\ntimeline_min_time, timeline_max_time).\n\nJSON parse time is dominated by the number of objects allocated; folding\nN per-series dicts into eight long primitive lists turns the hot\nrehydrate path from O(N) Python dicts into O(1) Python lists. In-memory\nMetadataCatalog.series_stats_by_ref keeps its dict-of-dict shape, so no\ndownstream caller needs to change.\n\nOld v2 manifests fail the version check in read_manifest and are\nrebuilt on the next load.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "82f4b3091d0246bd514950f6bd7965cf24c9cb71",
      "old_mode": 33188,
      "old_path": "python/tests/test_dataset_cache.py",
      "new_id": "f3ededd7a430308a2f69fad065486fb5c24a7e72",
      "new_mode": 33188,
      "new_path": "python/tests/test_dataset_cache.py"
    },
    {
      "type": "modify",
      "old_id": "4a14b6eb265659d3b77ee3334319a849aac2e8e1",
      "old_mode": 33188,
      "old_path": "python/tsfile/dataset/README.md",
      "new_id": "14b8ce059783458ee396d755df88ee099ebcd593",
      "new_mode": 33188,
      "new_path": "python/tsfile/dataset/README.md"
    },
    {
      "type": "modify",
      "old_id": "a2269910d4eca02aa71a55e496ad3d19afafd7b1",
      "old_mode": 33188,
      "old_path": "python/tsfile/dataset/cache.py",
      "new_id": "a35142bc43b2c5bbeac606580c739203e25b6c78",
      "new_mode": 33188,
      "new_path": "python/tsfile/dataset/cache.py"
    }
  ]
}
