)]}'
{
  "commit": "504542718687f097c9b3e0bd65b804c85bbd6e92",
  "tree": "0d37c4da2ed4391fad6e8479f319381763e3a00f",
  "parents": [
    "0aaed8d5236cf197590f86a1c854fb625e71c7fa"
  ],
  "author": {
    "name": "Gang Wu",
    "email": "ustcwg@gmail.com",
    "time": "Fri Oct 23 15:44:04 2026 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Oct 23 15:44:04 2026 +0800"
  },
  "message": "refactor(auth): refresh OAuth2 tokens on a caller-provided executor (#1033)\n\nReplace TokenRefreshScheduler with an internal ScheduledExecutor using\none process-wide timer. Pass a borrowed auth executor through\nRestCatalog and AuthManager.\n\nUse RetryRunner for HTTP retries within each refresh task, matching\nJava\u0027s retry settings. Stop refreshing when submission fails.\n\nCancel pending refreshes and wait for active refreshes when closing\nthe session.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c751cd7a6ef52166ddcaafd338263fd00c0533f7",
      "old_mode": 33188,
      "old_path": "src/iceberg/CMakeLists.txt",
      "new_id": "5af4fdae52bf6635bebd499287a10a64726cae7b",
      "new_mode": 33188,
      "new_path": "src/iceberg/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "0736290bc51cf7521b98b37b899205ddbb4c7436",
      "old_mode": 33188,
      "old_path": "src/iceberg/catalog/rest/CMakeLists.txt",
      "new_id": "a8146d468a2fcb7c332c33ba23584be0846b2c65",
      "new_mode": 33188,
      "new_path": "src/iceberg/catalog/rest/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "5facfa3eb51b47f524d0f464fac858296b3e2556",
      "old_mode": 33188,
      "old_path": "src/iceberg/catalog/rest/auth/auth_manager.cc",
      "new_id": "df5d7304a8506df91af186e08fa5d736f7e8331a",
      "new_mode": 33188,
      "new_path": "src/iceberg/catalog/rest/auth/auth_manager.cc"
    },
    {
      "type": "modify",
      "old_id": "6ba25c284087ac83fa40e3116c44e9ceed4f88fd",
      "old_mode": 33188,
      "old_path": "src/iceberg/catalog/rest/auth/auth_manager.h",
      "new_id": "d390d0beb31b467390f33cbb41522e311548004d",
      "new_mode": 33188,
      "new_path": "src/iceberg/catalog/rest/auth/auth_manager.h"
    },
    {
      "type": "modify",
      "old_id": "60aa0a3b48cc7fd7fc5ffbbc47d523079afb3449",
      "old_mode": 33188,
      "old_path": "src/iceberg/catalog/rest/auth/auth_session.cc",
      "new_id": "bd74b5bb60495315d1ba3c6ca67d5fb4558c7dbb",
      "new_mode": 33188,
      "new_path": "src/iceberg/catalog/rest/auth/auth_session.cc"
    },
    {
      "type": "modify",
      "old_id": "bdc77ebc4c3d9c45aa49452015ad54367613c23f",
      "old_mode": 33188,
      "old_path": "src/iceberg/catalog/rest/auth/auth_session.h",
      "new_id": "7e330706c2b17258c9a50210f66ee301edb56114",
      "new_mode": 33188,
      "new_path": "src/iceberg/catalog/rest/auth/auth_session.h"
    },
    {
      "type": "modify",
      "old_id": "b8db3836e0bf1fdeee62eaa9428a1e52c3e5e410",
      "old_mode": 33188,
      "old_path": "src/iceberg/catalog/rest/auth/auth_session_internal.h",
      "new_id": "fa2f7ede997d4b17af586d8b4d4de8846c4eb348",
      "new_mode": 33188,
      "new_path": "src/iceberg/catalog/rest/auth/auth_session_internal.h"
    },
    {
      "type": "modify",
      "old_id": "7bb7a3aa3f15c0423d241d54d0fcea90de207fa3",
      "old_mode": 33188,
      "old_path": "src/iceberg/catalog/rest/auth/sigv4_auth_manager_internal.h",
      "new_id": "feb4da5ec6d2bc6ae0e41e6d0cb1990870ac0b56",
      "new_mode": 33188,
      "new_path": "src/iceberg/catalog/rest/auth/sigv4_auth_manager_internal.h"
    },
    {
      "type": "modify",
      "old_id": "6e0dce86b2ef2e55e08e67a8d0f1eae4945affec",
      "old_mode": 33188,
      "old_path": "src/iceberg/catalog/rest/auth/sigv4_manager.cc",
      "new_id": "6568997498687572ad6ad1ea653e2569e6dcd042",
      "new_mode": 33188,
      "new_path": "src/iceberg/catalog/rest/auth/sigv4_manager.cc"
    },
    {
      "type": "delete",
      "old_id": "d66ed7d906c03a14ce819d5fd6a9e2d04e738e94",
      "old_mode": 33188,
      "old_path": "src/iceberg/catalog/rest/auth/token_refresh_scheduler.cc",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "5ef20ed94ae0b6bad1b4879f4fbef51e4f7e0763",
      "old_mode": 33188,
      "old_path": "src/iceberg/catalog/rest/auth/token_refresh_scheduler.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "a945e25d4c4602a60071dca37df53d57fc38e30d",
      "old_mode": 33188,
      "old_path": "src/iceberg/catalog/rest/rest_catalog.cc",
      "new_id": "c8d88d06fb0a9a80cfa16250bf542ab4173de411",
      "new_mode": 33188,
      "new_path": "src/iceberg/catalog/rest/rest_catalog.cc"
    },
    {
      "type": "modify",
      "old_id": "1e713a50406460d9e15aa80566dad8acef8a744a",
      "old_mode": 33188,
      "old_path": "src/iceberg/catalog/rest/rest_catalog.h",
      "new_id": "d648fa762847d3d2752f900bee7c92b0d822e61e",
      "new_mode": 33188,
      "new_path": "src/iceberg/catalog/rest/rest_catalog.h"
    },
    {
      "type": "modify",
      "old_id": "bd9a9475d8e3ff96cef0cf214b778c8d5d52837a",
      "old_mode": 33188,
      "old_path": "src/iceberg/cpp20_compatibility_internal.h",
      "new_id": "9f5d24515767b2d4b1c52f68026dfa7c9b41c1c6",
      "new_mode": 33188,
      "new_path": "src/iceberg/cpp20_compatibility_internal.h"
    },
    {
      "type": "modify",
      "old_id": "8622a1a67f5aade32dfe98de087f082fb0a467cf",
      "old_mode": 33188,
      "old_path": "src/iceberg/test/CMakeLists.txt",
      "new_id": "37e20e33911daade47b326648f265e9f3dd48e14",
      "new_mode": 33188,
      "new_path": "src/iceberg/test/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "9a5eace0ddfc0aeab4bdb98e6ba22a7d41e29648",
      "old_mode": 33188,
      "old_path": "src/iceberg/test/arrow_s3_file_io_test.cc",
      "new_id": "d0d61386c7bedc5ea4c840ad777e9bc77d95a5e9",
      "new_mode": 33188,
      "new_path": "src/iceberg/test/arrow_s3_file_io_test.cc"
    },
    {
      "type": "modify",
      "old_id": "fd9605fc31f969bce7adb92b9f5978f10c06b842",
      "old_mode": 33188,
      "old_path": "src/iceberg/test/auth_manager_test.cc",
      "new_id": "f6f1400b2bbad52808aa090986692db0c4b9b58f",
      "new_mode": 33188,
      "new_path": "src/iceberg/test/auth_manager_test.cc"
    },
    {
      "type": "modify",
      "old_id": "a3a801b9b2e459f706fc0170bcb55ec369712b8a",
      "old_mode": 33188,
      "old_path": "src/iceberg/test/executor.h",
      "new_id": "236c2d0e8844e560f63a7e52adf650dbb4b320b1",
      "new_mode": 33188,
      "new_path": "src/iceberg/test/executor.h"
    },
    {
      "type": "modify",
      "old_id": "86865a6638a2b3875d7bb81cb9e4ad492fa72dad",
      "old_mode": 33188,
      "old_path": "src/iceberg/test/rest_catalog_unit_test.cc",
      "new_id": "75bea71407baef7435a8ef95601f240dd2e3c148",
      "new_mode": 33188,
      "new_path": "src/iceberg/test/rest_catalog_unit_test.cc"
    },
    {
      "type": "modify",
      "old_id": "29bc3ab04256c5a9a46af22cfb7391fc4638b5c0",
      "old_mode": 33188,
      "old_path": "src/iceberg/test/rest_metrics_reporter_test.cc",
      "new_id": "47d06f34ccfb6dc85cec16d670c6f5a1973b3852",
      "new_mode": 33188,
      "new_path": "src/iceberg/test/rest_metrics_reporter_test.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "64d9f7e8a6e08008df10cdeba9d17fd77b0c9bee",
      "new_mode": 33188,
      "new_path": "src/iceberg/test/scheduled_executor_test.cc"
    },
    {
      "type": "modify",
      "old_id": "625c833f127ab47799b925b1a6e2c72d96e23ccc",
      "old_mode": 33188,
      "old_path": "src/iceberg/util/executor.h",
      "new_id": "4b81ca44d0f926304f0b1600f93b27e864db5825",
      "new_mode": 33188,
      "new_path": "src/iceberg/util/executor.h"
    },
    {
      "type": "modify",
      "old_id": "8d2ed2a1835aff1abb7f57e912b4d01bed70099a",
      "old_mode": 33188,
      "old_path": "src/iceberg/util/retry_util.h",
      "new_id": "afd3500418fc12ead1cc8a9e7e2f0b6fb5524e33",
      "new_mode": 33188,
      "new_path": "src/iceberg/util/retry_util.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0c143920d194f5cd4a57e2be3c1fd9713d44ef43",
      "new_mode": 33188,
      "new_path": "src/iceberg/util/scheduled_executor.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "15521ef3fe3b7a94295422a12e343d1320f31d69",
      "new_mode": 33188,
      "new_path": "src/iceberg/util/scheduled_executor_internal.h"
    }
  ]
}
