)]}'
{
  "commit": "8455b8c4c1fa8c8da8cccf925213057b6d277c85",
  "tree": "cf4efd23c1182517a18d4d88199bb818a17f3553",
  "parents": [
    "d703886e2c8ee24c54c013243e4a477497cc4e2f"
  ],
  "author": {
    "name": "Zhenyu Luo",
    "email": "zhenyu@apache.org",
    "time": "Sat Jan 31 07:45:47 2026 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sat Jan 31 07:45:47 2026 +0800"
  },
  "message": "Optimize TsTable with Copy-on-Write pattern for thread-safe concurrent access (#17069)\n\n* Optimize TsTable with Copy-on-Write pattern for thread-safe concurrent access\n\n- Change columnSchemaMap, tagColumnIndexMap, and idColumnIndexMap from final to volatile\n- Implement Copy-on-Write in executeWrite method:\n  1. Create local copies of maps before modification\n  2. Execute write operations on local copies\n  3. Atomically update class fields after write completes\n- Add WriteOperation functional interface to pass map copies to write operations\n- Add executeWriteWithTransform for efficient single-pass transformation during copy\n- Optimize renameColumnSchema to preserve column order with single-pass copy\n- This ensures readers see either complete old data or complete new data, avoiding ConcurrentModificationException\n\n* fix\n\n* fix\n\n* fix\n\n* Revert \"fix\"\n\nThis reverts commit 2155558217aabe2a0dd7dc09e85c569597d38b9f.\n\n* Revert \"fix\"\n\nThis reverts commit 7e798b1ba71365cc7ad8a76c5e83122ead6a3744.\n\n* Revert \"fix\"\n\nThis reverts commit 9b221b192be5ecf73fb4bd23ec2a7d3009888bfd.\n\n* Revert \"Optimize TsTable with Copy-on-Write pattern for thread-safe concurrent access\"\n\nThis reverts commit 3eeaf83f3dc3c32ee944daf3f7ff9b456e88b29e.\n\n* fix",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9beab9bcfff9ab5214bb694ff008219efa679ad8",
      "old_mode": 33188,
      "old_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/table/DataNodeTableCache.java",
      "new_id": "64fa5f34ac49b54da9814ffd810d463050635d89",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/table/DataNodeTableCache.java"
    }
  ]
}
