)]}'
{
  "commit": "42439fe5c154c0944b300c92ce1fe7f92f19f0c0",
  "tree": "ef0d2aa01173e1549c94d969359692bb609656a1",
  "parents": [
    "ee6a3f7455401ecf577da11f3f7d1b347900c223"
  ],
  "author": {
    "name": "lxy",
    "email": "38709059+lxy-9602@users.noreply.github.com",
    "time": "Wed Oct 21 10:30:47 2026 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Oct 21 10:30:47 2026 +0800"
  },
  "message": "feat(realtime): add hash-based offset indexes with data file rolling (#444)",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b29f20082d6981e02dbc3b4536c3a68042fb768e",
      "old_mode": 33188,
      "old_path": "LICENSE",
      "new_id": "fc8d26538232a040951de7f4982e120da788ae10",
      "new_mode": 33188,
      "new_path": "LICENSE"
    },
    {
      "type": "modify",
      "old_id": "0cb9ccbe6e4bee3b39fa6d4c76800475e641c479",
      "old_mode": 33188,
      "old_path": "src/paimon/CMakeLists.txt",
      "new_id": "a8a4afe4cbd7e1280c6c31ad534227d398de0bcb",
      "new_mode": 33188,
      "new_path": "src/paimon/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "097978af691e77e30317c9b03e53121bd0ed6adc",
      "new_mode": 33188,
      "new_path": "src/paimon/common/utils/dense_hash_table.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2c2ecfef9edd88cca6288dc210f400f139b0a484",
      "new_mode": 33188,
      "new_path": "src/paimon/common/utils/dense_hash_table_file_reader.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a301cd0900fac7a6124ddceee6d025e82e0f9ce1",
      "new_mode": 33188,
      "new_path": "src/paimon/common/utils/dense_hash_table_file_reader_test.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "75bcfb546089c69f347ce580db0d67206b2f2f37",
      "new_mode": 33188,
      "new_path": "src/paimon/common/utils/dense_hash_table_test.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b6da89666286d3ada6d89cde4f3ecee029fa83e4",
      "new_mode": 33188,
      "new_path": "src/paimon/common/utils/hash_map.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b970d0d6a8f2b564bc5bbd83747a87657464aad6",
      "new_mode": 33188,
      "new_path": "src/paimon/common/utils/hash_map_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "d0b677a78ce3aedee967b15678c5642153148868",
      "old_mode": 33188,
      "old_path": "src/paimon/core/io/append_data_file_writer_factory.cpp",
      "new_id": "e6abfa08c2a5081b1bf796823376ecd0406cee6f",
      "new_mode": 33188,
      "new_path": "src/paimon/core/io/append_data_file_writer_factory.cpp"
    },
    {
      "type": "modify",
      "old_id": "5a1517613781e629f2d69b5a6942670b430c62fb",
      "old_mode": 33188,
      "old_path": "src/paimon/core/io/data_file_writer.cpp",
      "new_id": "2263f0e0c1884f2ee00ee2e189f3d20008411799",
      "new_mode": 33188,
      "new_path": "src/paimon/core/io/data_file_writer.cpp"
    },
    {
      "type": "modify",
      "old_id": "3583c633d31e662667c4ade2dfe45fc9a3476e94",
      "old_mode": 33188,
      "old_path": "src/paimon/core/io/data_file_writer_base.h",
      "new_id": "6eb8eaa0b60d1a5cc79a8f66aef3e92d62e16b22",
      "new_mode": 33188,
      "new_path": "src/paimon/core/io/data_file_writer_base.h"
    },
    {
      "type": "modify",
      "old_id": "f2b5ac34fb4b12e46475ddebc31e95b3a8d0a88b",
      "old_mode": 33188,
      "old_path": "src/paimon/core/io/data_file_writer_base_test.cpp",
      "new_id": "dffa3cca43c4ad14ae2f502abcdb938ad300e32e",
      "new_mode": 33188,
      "new_path": "src/paimon/core/io/data_file_writer_base_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "07195ab7f13ba421d690077b5ebc3cee14acf306",
      "old_mode": 33188,
      "old_path": "src/paimon/core/io/data_file_writer_factory.cpp",
      "new_id": "aa273d1b4e01ce641fddd1248b81c4a9f8ec412d",
      "new_mode": 33188,
      "new_path": "src/paimon/core/io/data_file_writer_factory.cpp"
    },
    {
      "type": "modify",
      "old_id": "cab942f0e84bff9b46829b2fa2cbd345aa4c841e",
      "old_mode": 33188,
      "old_path": "src/paimon/core/io/data_file_writer_factory.h",
      "new_id": "94b0ed9fda279349cc71c7fa43e615803b835ed8",
      "new_mode": 33188,
      "new_path": "src/paimon/core/io/data_file_writer_factory.h"
    },
    {
      "type": "modify",
      "old_id": "0e4e82199cf39acb3371fd1ef364aba6443783a0",
      "old_mode": 33188,
      "old_path": "src/paimon/core/io/shredding_append_data_file_writer_factory.cpp",
      "new_id": "43f2c37bf4ae1ea7a4d4324c7aef5f270fc88b1b",
      "new_mode": 33188,
      "new_path": "src/paimon/core/io/shredding_append_data_file_writer_factory.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "85d83a6ed10ae2db9516375d3bc2807b63fd50d3",
      "new_mode": 33188,
      "new_path": "src/paimon/core/realtime/data_file_key_offset_index_writer.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2c2aded1c802618c330a45dfec03b5cde35b393d",
      "new_mode": 33188,
      "new_path": "src/paimon/core/realtime/data_file_key_offset_index_writer.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bd02cf7714858d2116bcff0ef62200422b9d2568",
      "new_mode": 33188,
      "new_path": "src/paimon/core/realtime/key_offset_index_utils.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ee72cd8e1ca9f2be560017e02a5c56d0e23a5ddd",
      "new_mode": 33188,
      "new_path": "src/paimon/core/realtime/key_offset_index_utils.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b45789c6ba19726b6ff6848fa6523586538f290e",
      "new_mode": 33188,
      "new_path": "src/paimon/core/realtime/key_offset_index_utils_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "45dde7bdb8ffbad48c03bba0a5794b1e93819193",
      "old_mode": 33188,
      "old_path": "src/paimon/core/realtime/realtime_deduplicate_state_test.cpp",
      "new_id": "d15a179d02d3173ff91edb4178e0686c27ffcde4",
      "new_mode": 33188,
      "new_path": "src/paimon/core/realtime/realtime_deduplicate_state_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "c9080546e7e8382f189b4af5b340b5fdc3533cb9",
      "old_mode": 33188,
      "old_path": "src/paimon/core/realtime/realtime_deduplicate_writer.cpp",
      "new_id": "15eb9335574b3126162d9f83b4e1a9c530a3ed59",
      "new_mode": 33188,
      "new_path": "src/paimon/core/realtime/realtime_deduplicate_writer.cpp"
    },
    {
      "type": "modify",
      "old_id": "2644a3256e37678226d216e04a3d6311a0fe4056",
      "old_mode": 33188,
      "old_path": "src/paimon/core/realtime/realtime_deduplicate_writer.h",
      "new_id": "90d2551b49a9c42d6ad64dd2657ba0ce9b5b22f5",
      "new_mode": 33188,
      "new_path": "src/paimon/core/realtime/realtime_deduplicate_writer.h"
    },
    {
      "type": "modify",
      "old_id": "37ee94cc6934efbb4f4b81529d70c3dc11c5e4b5",
      "old_mode": 33188,
      "old_path": "src/paimon/core/realtime/realtime_key_offset_index.cpp",
      "new_id": "c57a41fd0b7dfefdfba472f3690d3c9f58d13b2f",
      "new_mode": 33188,
      "new_path": "src/paimon/core/realtime/realtime_key_offset_index.cpp"
    },
    {
      "type": "modify",
      "old_id": "0c8e9f846af7d8eae0c6592a60d879ac84318b2c",
      "old_mode": 33188,
      "old_path": "src/paimon/core/realtime/realtime_key_offset_index.h",
      "new_id": "fe799d8feccb7782de3596842743190719611b76",
      "new_mode": 33188,
      "new_path": "src/paimon/core/realtime/realtime_key_offset_index.h"
    },
    {
      "type": "modify",
      "old_id": "c58c4f73a640f92dc53f0538103f669d73691ad7",
      "old_mode": 33188,
      "old_path": "src/paimon/core/realtime/realtime_key_offset_index_test.cpp",
      "new_id": "5275578f8d83153c64137cedd5573c993ecaa5d1",
      "new_mode": 33188,
      "new_path": "src/paimon/core/realtime/realtime_key_offset_index_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "83f39ac707ddd111cb36dcca73c2c552c7777075",
      "old_mode": 33188,
      "old_path": "src/paimon/core/realtime/realtime_offset_file_index_lookup.cpp",
      "new_id": "d9dacd7a5b5c12ce63faae0d0663c41c1caf568d",
      "new_mode": 33188,
      "new_path": "src/paimon/core/realtime/realtime_offset_file_index_lookup.cpp"
    },
    {
      "type": "modify",
      "old_id": "fa21437758abb29db03983d210aed3388e38d10b",
      "old_mode": 33188,
      "old_path": "src/paimon/core/realtime/realtime_offset_file_index_lookup.h",
      "new_id": "8ff45313cd2239e9e1f1e6a7c8e05c8375330a96",
      "new_mode": 33188,
      "new_path": "src/paimon/core/realtime/realtime_offset_file_index_lookup.h"
    },
    {
      "type": "modify",
      "old_id": "074dc9b9f9a25d78e3aff674e657560fac79dd4b",
      "old_mode": 33188,
      "old_path": "test/inte/realtime_write_inte_test.cpp",
      "new_id": "5de6c9fa75310dd8f8f7e77d86132735fee798e4",
      "new_mode": 33188,
      "new_path": "test/inte/realtime_write_inte_test.cpp"
    }
  ]
}
