)]}'
{
  "commit": "a5b668ba67c665a2efe7faaa0b5519460ab8192d",
  "tree": "56cfdfcd43ab96401bc2c67a11202c63be4998c9",
  "parents": [
    "022bd455f89b1f75609fa2a8ec488a8b567768fa"
  ],
  "author": {
    "name": "Zikun Ma",
    "email": "55695098+DanielWang2035@users.noreply.github.com",
    "time": "Fri Nov 24 01:20:29 2023 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Nov 24 01:20:29 2023 +0800"
  },
  "message": "Pipe: introduce global cache for TsFile metadatas and support TTL of Pipe TsFile (#11240)\n\nCurrently, if a TsFile is processed by N pipes, its metadata will be constructed N times, the overhead will be high when N is very big. This commit added a global cache to reduce repeated creation and redundant IO.\r\n\r\nThis commit also introduces TTL of TsFiles pinned by pipe engine, just like WALs.\r\n\r\n---------\r\n\r\nCo-authored-by: Steve Yurong Su \u003crong@apache.org\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "df9240cabe41b97fd91bf0d3050da5ef78bb64eb",
      "old_mode": 33188,
      "old_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/runtime/PipePeriodicalJobExecutor.java",
      "new_id": "c37702013711257ab1d3833e2bbf8cce804fb382",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/runtime/PipePeriodicalJobExecutor.java"
    },
    {
      "type": "modify",
      "old_id": "e9c6a50920f0e16acb879e7fbcf90a6722620f25",
      "old_mode": 33188,
      "old_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/runtime/PipeRuntimeAgent.java",
      "new_id": "9d85ec0d5ee37f90618a35277cebec292604a62a",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/runtime/PipeRuntimeAgent.java"
    },
    {
      "type": "modify",
      "old_id": "10b746b3f366793ff0f8c60f73f66e1587e11442",
      "old_mode": 33188,
      "old_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/TsFileInsertionDataContainer.java",
      "new_id": "72faf0d83b0ad7559396bd04c2e5f3eb369e202c",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/TsFileInsertionDataContainer.java"
    },
    {
      "type": "modify",
      "old_id": "b5c6aea4f153665ba1c6515306ccd9af645c3fb8",
      "old_mode": 33188,
      "old_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/IoTDBDataRegionExtractor.java",
      "new_id": "c1a1b4405795ad5cbcff0eb51914348d6070738d",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/IoTDBDataRegionExtractor.java"
    },
    {
      "type": "modify",
      "old_id": "fb4e6e521c9a006940e48a9edf8d62537b3a19e8",
      "old_mode": 33188,
      "old_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/realtime/PipeRealtimeDataRegionExtractor.java",
      "new_id": "d7c80082bfb4d2e83cd8af13ac6657081c1358a0",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/realtime/PipeRealtimeDataRegionExtractor.java"
    },
    {
      "type": "modify",
      "old_id": "f65cd12a6efaef403967037057323a11111e8bbb",
      "old_mode": 33188,
      "old_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/realtime/listener/PipeInsertionDataNodeListener.java",
      "new_id": "a2e2b76b8bf05c6d2b65352af5cd302bbfb1167c",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/realtime/listener/PipeInsertionDataNodeListener.java"
    },
    {
      "type": "modify",
      "old_id": "7523965aa912e71cf569a65ce4c8f47d6a7889fb",
      "old_mode": 33188,
      "old_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/memory/PipeMemoryBlock.java",
      "new_id": "642683fb703f1de68260ac8f4653ddb5149f4e19",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/memory/PipeMemoryBlock.java"
    },
    {
      "type": "modify",
      "old_id": "7d8ead9481492b80383865f46614f7ba246b6599",
      "old_mode": 33188,
      "old_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/memory/PipeMemoryManager.java",
      "new_id": "ad4e1951a1ee559e0fb6a5c76c04ad251c1a7de6",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/memory/PipeMemoryManager.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2445bc510e90b41eef3536690a7269423e5cff02",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/memory/PipeMemoryWeighUtil.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bbca18a4ca19d6fd542d28958f1f8f7ceb4da020",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/tsfile/PipeTsFileResource.java"
    },
    {
      "type": "modify",
      "old_id": "af92a0fa553d5cdccf684c2384e4e9c0a474c2eb",
      "old_mode": 33188,
      "old_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/tsfile/PipeTsFileResourceManager.java",
      "new_id": "315c2a7be609952b089ca651c7bc3b5930a0a713",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/tsfile/PipeTsFileResourceManager.java"
    },
    {
      "type": "modify",
      "old_id": "951ad738460e1022d7e6729abe3fa7c06de3658c",
      "old_mode": 33188,
      "old_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/wal/PipeWALResource.java",
      "new_id": "9d1e530a19d17aa3f3ab7ba1b1cf0fb6b5ad7288",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/wal/PipeWALResource.java"
    },
    {
      "type": "modify",
      "old_id": "1b3dff90fd8b88836cda63c0c3aa6574a9bada12",
      "old_mode": 33188,
      "old_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/wal/PipeWALResourceManager.java",
      "new_id": "ad1baf1b8a7a191b8b07b34b010eee676cfdac17",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/wal/PipeWALResourceManager.java"
    },
    {
      "type": "modify",
      "old_id": "04308d09cabf58dc2fcf1ad14b07989d4746bc79",
      "old_mode": 33188,
      "old_path": "iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/resource/PipeTsFileResourceManagerTest.java",
      "new_id": "03d408b77439f8820c12a6642e26bae103ccb9da",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/resource/PipeTsFileResourceManagerTest.java"
    },
    {
      "type": "modify",
      "old_id": "f8cd6f462776b3fce5fcce1abf2040b21ea4896f",
      "old_mode": 33188,
      "old_path": "iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/concurrent/ThreadName.java",
      "new_id": "bd6c8097f1eb54b3a499c44125ed2cdd4a529831",
      "new_mode": 33188,
      "new_path": "iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/concurrent/ThreadName.java"
    },
    {
      "type": "modify",
      "old_id": "5ca93c3bd07c3be669f350a93e9c8733e46c214c",
      "old_mode": 33188,
      "old_path": "iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonConfig.java",
      "new_id": "579d59e37202ffc4fcddde1b548c09e4e04226d6",
      "new_mode": 33188,
      "new_path": "iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonConfig.java"
    },
    {
      "type": "modify",
      "old_id": "0e7fd60f91fc67f6eacbd9b9ff9922828fd816fe",
      "old_mode": 33188,
      "old_path": "iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java",
      "new_id": "64c747ecae3491c25ae976dfbcaae1c7d991d517",
      "new_mode": 33188,
      "new_path": "iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java"
    }
  ]
}
