)]}'
{
  "log": [
    {
      "commit": "3c6b5ab6647660adcf2d51b7f9c12e5ec8748fc8",
      "tree": "cf3cf16e8fec0f75ef4b0134ed60c6acf4d8f473",
      "parents": [
        "d880dd24df1d37599fb9e565733d0442540cb6cf"
      ],
      "author": {
        "name": "Jiacai Liu",
        "email": "dev@liujiacai.net",
        "time": "Thu Jan 25 15:46:12 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 25 15:46:12 2024 +0800"
      },
      "message": "chore: add warning (#303)\n\n## Rationale\r\n\r\n\r\n## Detailed Changes\r\n\r\n\r\n## Test Plan"
    },
    {
      "commit": "d880dd24df1d37599fb9e565733d0442540cb6cf",
      "tree": "bf4b1d496a8aa064743097fafdfea89657cdf475",
      "parents": [
        "1da3a208a64430646bdc2f1aa175040b56ab025f"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Tue Jan 23 15:35:47 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 23 15:35:47 2024 +0800"
      },
      "message": "refactor: make create table idempotent (#286)\n\n## Rationale\r\nStore the intermediate data for table creation through procedures to\r\nsupport idempotent table creation.\r\n\r\n## Detailed Changes\r\n* Store the intermediate data for table creation through procedure.\r\n* Supports retrying from the upper layer to complete failed table\r\ncreation procedures.\r\n\r\n## Test Plan\r\nPass all unit tests and integration tests."
    },
    {
      "commit": "1da3a208a64430646bdc2f1aa175040b56ab025f",
      "tree": "3cbee6a91751f98d19979f0e6818e3f643d9b273",
      "parents": [
        "7d9019087cd2d1fa12539e7b448846bc9124db74"
      ],
      "author": {
        "name": "Cancai Cai",
        "email": "77189278+caicancai@users.noreply.github.com",
        "time": "Mon Jan 15 09:50:42 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 15 09:50:42 2024 +0800"
      },
      "message": "chore: fix broken link (#301)\n\n## Rationale\r\n\r\n\r\n## Detailed Changes\r\n\r\n\r\n## Test Plan"
    },
    {
      "commit": "7d9019087cd2d1fa12539e7b448846bc9124db74",
      "tree": "5dbdd0dad55e5615dd5416083fc87c90cec04ada",
      "parents": [
        "51536a12f2855d0dbb2d48ab8329b5ef1ae2aea3"
      ],
      "author": {
        "name": "Jiacai Liu",
        "email": "dev@liujiacai.net",
        "time": "Thu Jan 11 15:51:27 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 11 15:51:27 2024 +0800"
      },
      "message": "chore!: replace ceresdb with test (#298)\n\n## Rationale\r\nSee https://github.com/apache/incubator-horaedb/issues/1319\r\n\r\n## Detailed Changes\r\nThis is a breaking change. users need to add following config to keep\r\nback-compatitble\r\n```\r\nstorage-root-path \u003d \"/ceresdb\"\r\n```\r\nOr set via env vars \r\n```\r\nexport STORAGE_ROOT_PATH\u003d\"/ceresdb\"\r\n```\r\n## Test Plan\r\nNo need"
    },
    {
      "commit": "51536a12f2855d0dbb2d48ab8329b5ef1ae2aea3",
      "tree": "d3a3fc3f426ce6ef16fbca739bfe0b78e81ddb41",
      "parents": [
        "b3d62d9cbd7e8c56c7ca77d3c627a8c881e3ae6f"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Thu Jan 11 15:38:59 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 11 15:38:59 2024 +0800"
      },
      "message": "refactor: remove useless procedure persist (#300)\n\n## Rationale\r\nCurrently, the `TransferLeader` procedure will be persisted every time\r\nit is executed, but they actually have no effect. When the cluster runs\r\nfor a long time, some garbage data will be generated to occupy ETCD\u0027s\r\nstorage space.\r\n\r\n## Detailed Changes\r\n* Remove useless procedure persist in `transfer_leader`.\r\n\r\n## Test Plan\r\nPass CI."
    },
    {
      "commit": "b3d62d9cbd7e8c56c7ca77d3c627a8c881e3ae6f",
      "tree": "5d020e4c65edcc75dbf9e788de0379aeb3f48db7",
      "parents": [
        "7e5268a39fc73f047a383490c971d3aa249aa76b"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Wed Jan 10 15:24:28 2024 +0800"
      },
      "committer": {
        "name": "WEI Xikai",
        "email": "ShiKaiWi@users.noreply.github.com",
        "time": "Wed Jan 10 15:30:22 2024 +0800"
      },
      "message": "fix ut\n"
    },
    {
      "commit": "7e5268a39fc73f047a383490c971d3aa249aa76b",
      "tree": "71f5be180d0c96732107b626428a8bbaec0bf718",
      "parents": [
        "475647fce2a7876cdf133b894a93dc10c05b0027"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Thu Dec 28 17:11:41 2023 +0800"
      },
      "committer": {
        "name": "WEI Xikai",
        "email": "ShiKaiWi@users.noreply.github.com",
        "time": "Wed Jan 10 15:30:22 2024 +0800"
      },
      "message": "feat: add drop shard node api (#295)\n\n## Rationale\r\nIn some extreme cases (for this situation, please refer to\r\nhttps://github.com/apache/incubator-horaedb-meta/issues/296), the shard\r\nnode cannot be cleaned normally, and we need to add an operation and\r\nmaintenance interface to complete manual cleaning.\r\n\r\n## Detailed Changes\r\n* Add drop shard node api.\r\n\r\n## Test Plan\r\nPass CI."
    },
    {
      "commit": "475647fce2a7876cdf133b894a93dc10c05b0027",
      "tree": "2e0a7745e1eff2f8244ed0202fc11e16166ec9be",
      "parents": [
        "52ee69c1a40cf7e93d2581f939bac2ce21621b1e"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Thu Dec 07 17:09:13 2023 +0800"
      },
      "committer": {
        "name": "WEI Xikai",
        "email": "ShiKaiWi@users.noreply.github.com",
        "time": "Wed Jan 10 15:30:22 2024 +0800"
      },
      "message": "refactor: refactor create table procedure (#288)\n\n## Rationale\r\nDue to the implementation problem of create table procedure, the current\r\ntable creation error message of ceresmeta cannot be returned to ceresdb\r\nnormally. We need to reconstruct it.\r\n\r\n## Detailed Changes\r\n* Refactor create table procedure, make it could return error\r\ninformation normally.\r\n* Modify the error message returned in the service.\r\n\r\n## Test Plan\r\nPass CI."
    },
    {
      "commit": "52ee69c1a40cf7e93d2581f939bac2ce21621b1e",
      "tree": "80617c9b742d76a78c260260816d603a57d1311e",
      "parents": [
        "5b5eb124635654d8a35586ad87af068fad14d81a"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Wed Dec 06 16:29:10 2023 +0800"
      },
      "committer": {
        "name": "WEI Xikai",
        "email": "ShiKaiWi@users.noreply.github.com",
        "time": "Wed Jan 10 15:30:22 2024 +0800"
      },
      "message": "fix: fix integration tests on dev branch (#287)\n\nCurrently the tests on the dev branch are not running properly.\n\n* Cherry pick some changes on main branch.\n* Fix integration test.\n\nPass CI.\n"
    },
    {
      "commit": "5b5eb124635654d8a35586ad87af068fad14d81a",
      "tree": "13876cb44d0539045de510e6421a1134be2ab71a",
      "parents": [
        "24322bc75e73db1f40313c24f86dfbfd205a2db9"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao@apache.org",
        "time": "Wed Jan 03 18:06:40 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 03 18:06:40 2024 +0800"
      },
      "message": "chore: update website url (#294)\n\n## Rationale\r\nThe website URL for the project is wrong.\r\n\r\n## Detailed Changes\r\nUpdate the URL.\r\n\r\n## Test Plan\r\nNo need."
    },
    {
      "commit": "24322bc75e73db1f40313c24f86dfbfd205a2db9",
      "tree": "8629ea408e25176f4b4ea5c88b0b022b6896e958",
      "parents": [
        "ab067bf0305e4bc913b986b43745db2194e334c1"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao@apache.org",
        "time": "Thu Dec 28 17:51:24 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 28 17:51:24 2023 +0800"
      },
      "message": "feat!: upgrade horaedbproto (#297)\n\n## Rationale\r\nUpgrade horaedbproto.\r\n\r\n## Detailed Changes\r\nBreak changes:  Change `CeresmetaRpcService` to `MetaRpcService`.\r\n\r\n## Test Plan\r\nDue to Break changes, CI cannot pass. It is necessary to merge the\r\nchanges on the `horaemeta` side first, and then modify the `horaedb`\r\nside."
    },
    {
      "commit": "ab067bf0305e4bc913b986b43745db2194e334c1",
      "tree": "4ed4a92c266edff0b23da99b9f1ee06206f2d55d",
      "parents": [
        "393774aa7a1512369d2fef9c6cfd16d2641b035a"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao.rcs@antgroup.com",
        "time": "Mon Dec 25 11:31:00 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 25 11:31:00 2023 +0800"
      },
      "message": "chore: fix publish nightly image (#293)\n\n## Rationale\r\nFix publish nightly image.\r\n\r\n## Detailed Changes\r\n\r\n\r\n## Test Plan\r\nNo need."
    },
    {
      "commit": "393774aa7a1512369d2fef9c6cfd16d2641b035a",
      "tree": "358fd9231da31c9361a8377e89057c6ad6b50bc8",
      "parents": [
        "a937ab1545e5a7d29ce67f8e23427902245b0520"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao.rcs@antgroup.com",
        "time": "Mon Dec 25 11:30:45 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 25 11:30:45 2023 +0800"
      },
      "message": "chore: add asf yaml (#292)\n\n## Rationale\r\nAdd `.asf.yaml`.\r\n\r\n## Detailed Changes\r\n\r\n\r\n## Test Plan\r\nNo need."
    },
    {
      "commit": "a937ab1545e5a7d29ce67f8e23427902245b0520",
      "tree": "7baa6126bca505ab070d2052ece817ab4a5757eb",
      "parents": [
        "1285ef89a17ca7e0ea02ba1c000bc6293d336612"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Thu Dec 21 10:38:15 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 21 10:38:15 2023 +0800"
      },
      "message": "chore: update license header and do the rename (#290)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "1285ef89a17ca7e0ea02ba1c000bc6293d336612",
      "tree": "9fdd0499bfa9c662aa6408236e2131cfde043649",
      "parents": [
        "2bce1d11952488691e773b4796a8ecc71ccce502"
      ],
      "author": {
        "name": "caicancai",
        "email": "77189278+caicancai@users.noreply.github.com",
        "time": "Tue Dec 05 14:06:54 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 05 14:06:54 2023 +0800"
      },
      "message": "chore: rename comment\u0027s ceresdb to horaedb (#285)\n\n## Rationale\r\nrelated https://github.com/CeresDB/horaedb/issues/1319\r\n\r\n## Detailed Changes\r\nrename comment\u0027s ceresdb to horaedb\r\n\r\n## Test Plan\r\nci"
    },
    {
      "commit": "2bce1d11952488691e773b4796a8ecc71ccce502",
      "tree": "7186c6e1ab0e4cb000afc8a4d7f4e5ed9dddbfd4",
      "parents": [
        "08d66c4283b9b9f1cb738a0995f3b9327e4df2c3"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Thu Nov 30 18:43:25 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 30 18:43:25 2023 +0800"
      },
      "message": "chore: rename ceresdb to horaedb (#283)\n\nExpect org name occurance.\r\n\r\nThis refers to https://github.com/CeresDB/horaedb/issues/1319.\r\n\r\n---------\r\n\r\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e\r\nCo-authored-by: xikai.wxk \u003cxikai.wxk@antgroup.com\u003e"
    },
    {
      "commit": "08d66c4283b9b9f1cb738a0995f3b9327e4df2c3",
      "tree": "92a12bdf9e2e5baa6ffd2c45c5007c4d2c1655d7",
      "parents": [
        "472b91c031773df6d13a0792a89e9b9aaf16e6c7"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Tue Nov 28 19:52:28 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 28 19:52:28 2023 +0800"
      },
      "message": "refactor: procedure storage (#279)\n\n## Rationale\r\nThe current design of the procedure storage module is unreasonable. The\r\ndata will be stored permanently and will not be cleared. This will cause\r\nthe storage space of `ETCD` to be filled up quickly. We need to redesign\r\nthe interface of procedure storage.\r\n\r\n## Detailed Changes\r\n* Add `ttl` config for `CreateOrUpdate`.\r\n* Add `Delete` interface, it used to delete history procedure data and\r\ncurrent procedure data.\r\n\r\n## Test Plan\r\nPass all unit tests and integration tests."
    },
    {
      "commit": "472b91c031773df6d13a0792a89e9b9aaf16e6c7",
      "tree": "a69fefd4d4e25133c0bc70afc8c7e256cc8ba7cf",
      "parents": [
        "312a8601270851d300658a8fea5751cb08bf4c29"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Tue Nov 28 10:58:23 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 28 10:58:23 2023 +0800"
      },
      "message": "fix: wrong procedure id allocator (#282)\n\n## Rationale\r\nDue to misconfiguration of the ProcedureID Allocator storage path in\r\nETCD, multiple clusters will share the same ProcedureID Allocator, which\r\nwill cause ID to be wasted.\r\n\r\n## Detailed Changes\r\n* Fix wrong ID allocator storage path.\r\n\r\n## Test Plan\r\nPass CI."
    },
    {
      "commit": "312a8601270851d300658a8fea5751cb08bf4c29",
      "tree": "28345b66f4723bcbb8c31abf7184c6b4a60059a5",
      "parents": [
        "70d49deb6eb7fa4276d7f5faf65e657e2637082e"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Mon Nov 20 15:30:55 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 20 15:30:55 2023 +0800"
      },
      "message": "fix: wrong env variable in integration test (#281)\n\n## Rationale\r\nIntegration tests failed.\r\n\r\n## Detailed Changes\r\n* Fix wrong env variable name.\r\n\r\n## Test Plan\r\nCI."
    },
    {
      "commit": "70d49deb6eb7fa4276d7f5faf65e657e2637082e",
      "tree": "5a1ad8b08a9b1dd7a9bb1d0b2fb203c9ce6933a0",
      "parents": [
        "849c5853d4b21ac43ecc71573936fc8a6d26a56a"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao.rcs@antgroup.com",
        "time": "Fri Nov 17 17:35:07 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 17 17:35:07 2023 +0800"
      },
      "message": "chore: rename ceresmeta to horaemeta (#280)\n\n## Rationale\r\nRename ceresdb to horaedb in the `Readme` and  `go.mod`.\r\n\r\n## Detailed Changes\r\nRename ceresdb to horaedb in the `Readme` and  `go.mod`.\r\n\r\n## Test Plan\r\nCI.\r\n\r\n---------\r\n\r\nCo-authored-by: CooooolFrog \u003czuliangwanghust@gmail.com\u003e"
    },
    {
      "commit": "849c5853d4b21ac43ecc71573936fc8a6d26a56a",
      "tree": "644dbce88514c34a896569506b3f69bdd5803729",
      "parents": [
        "8a070adc3675ae8ce5a9178d5b2893ae99afefa5"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao.rcs@antgroup.com",
        "time": "Fri Nov 17 15:13:47 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 17 15:13:47 2023 +0800"
      },
      "message": "chore: Ratelimiter is enabled by default (#271)\n\n## Rationale\r\nRatelimiter is enabled by default to prevent ceresmeta from being hung.\r\n\r\n## Detailed Changes\r\nRatelimiter is enabled by default.\r\n\r\n## Test Plan\r\nCI."
    },
    {
      "commit": "8a070adc3675ae8ce5a9178d5b2893ae99afefa5",
      "tree": "cb728bf3d0846d29325b897c10fe429db95dba07",
      "parents": [
        "da81e536bced9447ac5f44ba95aa817c137a83be"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao.rcs@antgroup.com",
        "time": "Tue Nov 14 16:04:56 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 14 16:04:56 2023 +0800"
      },
      "message": "refactor: rename deployMode to enableSchedule (#273)\n\n## Rationale\r\n`DeployMode` is not a good name, it is not easily understandable. I\r\nsuggest changing it to `enableSchedule`.\r\n\r\n## Detailed Changes\r\nChange `DeployMode` to `EnableSchedule`.\r\n\r\n## Test Plan\r\nCI."
    },
    {
      "commit": "da81e536bced9447ac5f44ba95aa817c137a83be",
      "tree": "9d20e4def62b6e9aefe161daa370e5eda04c45a4",
      "parents": [
        "81b8d6884f3e9279353774d67b418fa12765cdcb"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao.rcs@antgroup.com",
        "time": "Tue Nov 14 13:58:22 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 14 13:58:22 2023 +0800"
      },
      "message": "ci: fix integration-test (#275)\n\n## Rationale\r\nThe current integration-test does not use the code submitted in this PR\r\nfor ceresmeta-server.\r\n\r\n## Detailed Changes\r\nUse the code in this PR for ceresmeta-server.\r\n\r\n## Test Plan\r\nCI."
    },
    {
      "commit": "81b8d6884f3e9279353774d67b418fa12765cdcb",
      "tree": "4af70e8f7c0394f8907d82f824520440b153822b",
      "parents": [
        "7afb29523785108d5c84d163f693c6a5c2e574c4"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Thu Nov 09 11:22:10 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 09 11:22:10 2023 +0800"
      },
      "message": "fix: fix update shard view (#270)\n\n## Rationale\r\nFix the problem of updating `shardview` in memory that existed in the\r\nprevious pr https://github.com/CeresDB/ceresmeta/pull/268.\r\n\r\n## Detailed Changes\r\n* Update `shardTableMapping` in memory.\r\n\r\n## Test Plan\r\nPass all unit tests and integration test."
    },
    {
      "commit": "7afb29523785108d5c84d163f693c6a5c2e574c4",
      "tree": "76163ecaab1fff990f609e189a7ff2bdccc6e4e3",
      "parents": [
        "b4402f7716870bda1f045bcccc05f20ac336b40c"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Wed Nov 08 17:50:18 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 08 17:50:18 2023 +0800"
      },
      "message": "refactor!: refactor shard version logic (#264)\n\n## Rationale\r\nRefer to this issue: https://github.com/CeresDB/ceresmeta/issues/263\r\n\r\n## Detailed Changes\r\n* Reconstruct the process of create/drop table so that the update of\r\nshard version depends on CeresDB\r\n\r\n## Test Plan\r\nPass existing unit tests and integration tests."
    },
    {
      "commit": "b4402f7716870bda1f045bcccc05f20ac336b40c",
      "tree": "1e85389a29cac8f6ac875afc64164275f0a2f4ca",
      "parents": [
        "b502492d1db5a96f35cd21b13bcdae8c41bd1360"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Thu Nov 02 17:12:32 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 02 17:12:32 2023 +0800"
      },
      "message": "refactor: correct shard version (#268)\n\n## Rationale\r\nFor detail, see: https://github.com/CeresDB/ceresmeta/issues/263\r\nIn this pr, add the checksum repair logic of shard version.\r\n\r\n## Detailed Changes\r\n* Add `MayCorrectShardVersion` in `RegisterNode`, it will correct shard\r\nversion when it is inconsistent in ceresmeta and ceresdb.\r\n\r\n## Test Plan\r\nI created some local shard version inconsistent scenarios to verify its\r\nrepair ability."
    },
    {
      "commit": "b502492d1db5a96f35cd21b13bcdae8c41bd1360",
      "tree": "dd6b6cd9b21e6c067918dc6700469c14d2dcce43",
      "parents": [
        "e621b9f75e10be52d0bafb4fc010d2e7df5d537f"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Thu Nov 02 14:36:06 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 02 14:36:06 2023 +0800"
      },
      "message": "ci: check license header tool (#269)\n\nUse hawkeye to check license headers. Apply with the standard Apache\r\nLicense 2.0 header.\r\n\r\nYou can review in commits and skip the globally apply changes one.\r\n\r\n---------\r\n\r\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "e621b9f75e10be52d0bafb4fc010d2e7df5d537f",
      "tree": "3c2cc853f69cb5ff64aee224b677530722260325",
      "parents": [
        "58617800b7f1384c6c9c87abe8e985ee803293c0"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Wed Nov 01 10:47:01 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 01 10:47:01 2023 +0800"
      },
      "message": "ci: catchup and simplify integrate test runner (#267)\n\nThis follows up https://github.com/CeresDB/ceresdb/pull/1287 and\r\nhttps://github.com/CeresDB/ceresmeta/pull/265.\r\n\r\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "58617800b7f1384c6c9c87abe8e985ee803293c0",
      "tree": "450f2c968e4e1684b418d5fe359a7b1bb68d239d",
      "parents": [
        "15b5ef7dce11dff9afb10824f3b149d87183fd06"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Oct 31 14:16:25 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 31 14:16:25 2023 +0800"
      },
      "message": "refactor!: rename binary to ceresmeta-server (#265)\n\nWhen install the binary with `go install\r\ngithub.com/CeresDB/ceresmeta/cmd/meta@latest`, the result is `meta`\r\nwhich is too general to conflict with other binaries and easily\r\nmisleading.\r\n\r\nRename the binary with a clear long name `ceresmeta-server`.\r\n\r\nNote that we should adjust ceresdb repo\u0027s usage accordingly. If this\r\nchange gets accepted, I\u0027ll handle that.\r\n\r\ncc @jiacai2050\r\n\r\n---------\r\n\r\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "15b5ef7dce11dff9afb10824f3b149d87183fd06",
      "tree": "f0a9ab0d944e79279412b7beadc9d426229f9a9a",
      "parents": [
        "40ccbe8fe723d974808e1e3c99a7677133a10ea3"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Fri Oct 20 20:50:43 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 20 20:50:43 2023 +0800"
      },
      "message": "chore: fix golang version pattern in go.mod (#262)\n\n"
    },
    {
      "commit": "40ccbe8fe723d974808e1e3c99a7677133a10ea3",
      "tree": "a7d981862de993fb81137a0ecaeae17bf834d609",
      "parents": [
        "d65de0acb4a70d5b24154f2281f906ffeabdf242"
      ],
      "author": {
        "name": "WEI Xikai",
        "email": "ShiKaiWi@users.noreply.github.com",
        "time": "Thu Oct 19 17:31:43 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 19 04:31:43 2023 -0500"
      },
      "message": "fix: nil resp if no need to forward (#261)\n\n## Rationale\r\nThe response is nil if there is no need to do http fowarding.\r\n\r\n## Detailed Changes\r\nOnly close the resp body if the http request needs forward.\r\n\r\n## Test Plan\r\nManual test."
    },
    {
      "commit": "d65de0acb4a70d5b24154f2281f906ffeabdf242",
      "tree": "06b330ae783fdc38dd276c121b9670a0067e1309",
      "parents": [
        "78483af3d965a6ba8770213dd4e06966f6d0ee5f"
      ],
      "author": {
        "name": "WEI Xikai",
        "email": "ShiKaiWi@users.noreply.github.com",
        "time": "Thu Oct 19 16:16:28 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 19 16:16:28 2023 +0800"
      },
      "message": "chore: upgrade golang to v1.21 and tool chains (#260)\n\n## Rationale\r\nClose #257 #256 \r\n\r\n## Detailed Changes\r\n- Upgrade to go1.21\r\n- Upgrade tool chains for project, especially golangci-lint. The\r\n`exhaustruct` linter has been activated to prevent uninitialized fields\r\nof any struct (except the third-party structs).\r\n\r\n## Test Plan\r\nShould pass the current unit and integration tests."
    },
    {
      "commit": "78483af3d965a6ba8770213dd4e06966f6d0ee5f",
      "tree": "9362e8382221c5e0a94c12c2806bb94644ea9ca0",
      "parents": [
        "f561cd63b197e4153ce9771c6628294d11851448"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Wed Oct 18 17:56:51 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 18 04:56:51 2023 -0500"
      },
      "message": "refactor: remove useless topology data (#237)\n\n## Rationale\r\nIn the current implementation, a copy of the topology is stored every\r\ntime the cluster topology is updated, but expired topology data has no\r\neffect and will cause a waste of ETCD storage space.\r\n\r\n## Detailed Changes\r\n* Remove expired topology data when update cluster view.\r\n\r\n\r\n## Test Plan\r\nPass all unit tests and integration test."
    },
    {
      "commit": "f561cd63b197e4153ce9771c6628294d11851448",
      "tree": "cf1170f7f208ae08a71dbd115bd584a5c92d85a1",
      "parents": [
        "bf4c026dd402e45546333c6c843a6008fe58e771"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Mon Oct 16 16:44:47 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 16 16:44:47 2023 +0800"
      },
      "message": "fix: modify the logic of pick shards (#259)\n\n## Rationale\r\nWe found that according to the current way of pick shards, the subtables\r\nof the partition table will be concentrated on some nodes, causing hot\r\nspots, so some modifications need to be made to avoid this phenomenon.\r\n\r\n## Detailed Changes\r\n* Modify the logic of pick shard, when the number of tables is the same,\r\nsort according to the size of ShardID.\r\n\r\n## Test Plan\r\nPass all unit tests and integration test."
    },
    {
      "commit": "bf4c026dd402e45546333c6c843a6008fe58e771",
      "tree": "1fbdeeee14341fcb4097bfadc04425869c71534b",
      "parents": [
        "a3baa122ed3fd7c0fd9a280268cc34b896b6a62b"
      ],
      "author": {
        "name": "Jiacai Liu",
        "email": "dev@liujiacai.net",
        "time": "Fri Oct 13 16:55:28 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 13 03:55:28 2023 -0500"
      },
      "message": "chore: add debug prefix (#258)\n\n## Rationale\r\nAll debug related API should begin with `debug`.\r\n\r\n## Detailed Changes\r\n\r\n\r\n## Test Plan\r\nManually."
    },
    {
      "commit": "a3baa122ed3fd7c0fd9a280268cc34b896b6a62b",
      "tree": "a5503f69cea3b436b8ddb75182feecebf5d64922",
      "parents": [
        "0ffbf5c6787bec6b43fa03f2f25f00f60313cb22"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Wed Oct 11 17:20:50 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 11 04:20:50 2023 -0500"
      },
      "message": "fix: return error when single node is not found in static topology (#226)\n\n## Rationale\r\nFix return error when single node is not found in static topology, make\r\nit is possible to assign shards to nodes when a single node is not\r\nfound.\r\n\r\n## Detailed Changes\r\nJust continue instead of return error when single node is not found in\r\nstatic topology.\r\n\r\n## Test Plan\r\nPass all unit tests and integration test."
    },
    {
      "commit": "0ffbf5c6787bec6b43fa03f2f25f00f60313cb22",
      "tree": "e945bd74e7f5313c44c6555c252ef4f39ae22b8c",
      "parents": [
        "89dbb61cc58fb4199376881b2b5814eba4e08187"
      ],
      "author": {
        "name": "WEI Xikai",
        "email": "ShiKaiWi@users.noreply.github.com",
        "time": "Wed Oct 11 03:38:13 2023 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 11 16:38:13 2023 +0800"
      },
      "message": "fix: unset the MaxOpsPerTxn (#255)\n\n## Rationale\r\nThe MaxOpsPerTxn is not set.\r\n\r\n## Detailed Changes\r\nSet the MaxOpsPerTxn.\r\n\r\n## Test Plan\r\nCI."
    },
    {
      "commit": "89dbb61cc58fb4199376881b2b5814eba4e08187",
      "tree": "d7a4a20a3d1bfa59ccde1952b4d2045e8d53f7c6",
      "parents": [
        "98ef81443833873bb602de53aa893f1d08654dfe"
      ],
      "author": {
        "name": "WEI Xikai",
        "email": "ShiKaiWi@users.noreply.github.com",
        "time": "Wed Oct 11 03:12:05 2023 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 11 16:12:05 2023 +0800"
      },
      "message": "feat: support MaxOpsPerTxn for operate etcd (#254)\n\n## Rationale\r\nThe external etcd server may have a limit on the number of operations in\r\na transaction. However, CeresMeta don\u0027t impose such a limit when\r\noperating etcd, and it will lead to error.\r\n\r\n## Detailed Changes\r\nIntroduce such a limit on the number of operations in a transaction.\r\n\r\n## Test Plan\r\nExisting tests."
    },
    {
      "commit": "98ef81443833873bb602de53aa893f1d08654dfe",
      "tree": "8b7779f8960139fdbb474734d5fd330a61bdfabd",
      "parents": [
        "afc07f51e8c38d1be5f5bba23234fd43baec3670"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Wed Oct 11 13:52:16 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 11 13:52:16 2023 +0800"
      },
      "message": "fix: logger panic (#252)\n\n## Rationale\r\nFix panic caused by missing logger.\r\n\r\n## Detailed Changes\r\n* Add `logger` in NewFactory.\r\n\r\n## Test Plan\r\nPass all unit tests and integration test."
    },
    {
      "commit": "afc07f51e8c38d1be5f5bba23234fd43baec3670",
      "tree": "401188cc0a20e66ccf89b18229c782a39f57673f",
      "parents": [
        "3f8105674955ff37eaffc14c2aab5df559e373bf"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Tue Oct 10 20:55:28 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 10 20:55:28 2023 +0800"
      },
      "message": "fix: TLS config (#251)\n\n## Rationale\r\nFix wrong tls config.\r\nModify parameters according to official documentation:\r\nhttps://pkg.go.dev/github.com/coreos/etcd/clientv3#Config\r\n\r\n## Detailed Changes\r\n* Fix wrong tls config.\r\n\r\n## Test Plan\r\nVerify on etcd server with tls."
    },
    {
      "commit": "3f8105674955ff37eaffc14c2aab5df559e373bf",
      "tree": "0c8dc928911c5151a4bf7fde377844f1050bcea2",
      "parents": [
        "70e316e3141de45447a636ef99c2cc7025612705"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Tue Oct 10 17:05:32 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 10 04:05:32 2023 -0500"
      },
      "message": "feat: support access etcd with tls (#250)\n\n## Rationale\r\nCurrently we support external `ETCD`, but the configuration of tls is\r\nmissing, which will result in the inability to connect to the etcd\r\ncluster normally.\r\n\r\n## Detailed Changes\r\n* Added tls related configuration.\r\n\r\n## Test Plan\r\nTest in local environment."
    },
    {
      "commit": "70e316e3141de45447a636ef99c2cc7025612705",
      "tree": "ad2a24e63192c854e32b0df734d3c8d60a97e668",
      "parents": [
        "27fad2f81b84a3c3675e3665b05e5ecb4375f89d"
      ],
      "author": {
        "name": "Jiacai Liu",
        "email": "dev@liujiacai.net",
        "time": "Tue Oct 10 16:56:09 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 10 16:56:09 2023 +0800"
      },
      "message": "chore: use clusters in api endpoint (#249)\n\n## Rationale\r\n\r\n\u003e There’s no rule on keeping the resource nouns singular or plural,\r\nthough it is advisable to keep collections plural.\r\n\r\n- https://swagger.io/resources/articles/best-practices-in-api-design/\r\n\r\n## Detailed Changes\r\n\r\n\r\n## Test Plan\r\nNo need."
    },
    {
      "commit": "27fad2f81b84a3c3675e3665b05e5ecb4375f89d",
      "tree": "66b54aefbdc4a831948d694adebf50548d2b5338",
      "parents": [
        "e35dcb38afea380140600ae3825f6a4584428b97"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao.rcs@antgroup.com",
        "time": "Mon Oct 09 19:39:42 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 09 06:39:42 2023 -0500"
      },
      "message": "refactor: diagnose shards api (#246)\n\n## Rationale\r\nWhen a shard is not open on a node, the diagnose api returns incorrect\r\ninformation.\r\n\r\n## Detailed Changes\r\nModify the method of obtaining shards to no longer retrieve all shard\r\ninformation from the `nodeshards`.\r\n\r\n## Test Plan\r\nManual test and CI."
    },
    {
      "commit": "e35dcb38afea380140600ae3825f6a4584428b97",
      "tree": "e9e7d7df72cc93bac34bd702307accc3ea28465a",
      "parents": [
        "8da409a25bd82dfd01464c16718c59693037a903"
      ],
      "author": {
        "name": "WEI Xikai",
        "email": "ShiKaiWi@users.noreply.github.com",
        "time": "Mon Oct 09 05:03:47 2023 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 09 18:03:47 2023 +0800"
      },
      "message": "feat: support shard affinity (#245)\n\n## Rationale\r\nIn some cases, some specific shards may contain tables whose query or\r\nwrite requests are massive, and these tables are hoped to be migrated to\r\nsome node alone.\r\n\r\n## Detailed Changes\r\n- Provide the shard affinity mechanism when generating the shard\r\ntopology\r\n- Support to manipulate the affinity configures by debug api\r\n- Regroupping the packages of different scheduler\r\n\r\n## Test Plan\r\nNew unit tests are added."
    },
    {
      "commit": "8da409a25bd82dfd01464c16718c59693037a903",
      "tree": "c5b4dc8c2db1c21ca65e23bffbf89fd051d7e94e",
      "parents": [
        "8e38f4bc6fbf2be4bbf49268a501bc1ea719d933"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Mon Oct 09 17:38:44 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 09 04:38:44 2023 -0500"
      },
      "message": "feat: add least table shard picker (#248)\n\n## Rationale\r\nCurrently, we use a completely random method to select shards for\r\ntables, which will lead to uneven distribution of tables in the cluster\r\nwhen the number of tables is small. In order to solve this problem, a\r\nnew shardPicker is implemented, which selects the shard with the\r\nsmallest number of current tables each time to create a table.\r\n\r\n## Detailed Changes\r\n* Add `NewLeastTableShardPicker`, which selects the shard with the\r\nsmallest number of current tables each time to create a table.\r\n\r\n## Test Plan\r\n* Pass all unit tests and manually create tables for verification in the\r\nlocal environment."
    },
    {
      "commit": "8e38f4bc6fbf2be4bbf49268a501bc1ea719d933",
      "tree": "1d2dfc33c63a3c157335a54413d0693eabc95826",
      "parents": [
        "7095a6a53b85ddcac684aacd28ce4722dd0d9454"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Sat Oct 07 20:35:40 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 07 07:35:40 2023 -0500"
      },
      "message": "feat: add deploy mode (#247)\n\n## Rationale\r\nIn the current implementation, every time the CeresDB node changes, it\r\nwill cause large-scale scheduling in the cluster. However, in the actual\r\nsituation, we hope to control the affected range of the cluster when\r\ndeploy and debug. Therefore, we need to add a deploy mode switch to\r\ncontrol cluster scheduling.\r\n\r\n## Detailed Changes\r\n* Add `DeployMode` switch in `RebalancedShardScheduler`, shard topology\r\nwill be locked when deploy mode is true.\r\n* Add some API to control `DeployMode`.\r\n\r\n## Test Plan\r\nPass all unit tests and test `DeployMode` take effect locally."
    },
    {
      "commit": "7095a6a53b85ddcac684aacd28ce4722dd0d9454",
      "tree": "7a8f03a9b3786e651f61ae8c019ac6b76bc068af",
      "parents": [
        "bdd40e6607667aa40c5bbadc0866a073220fa80f"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao.rcs@antgroup.com",
        "time": "Mon Oct 02 17:18:00 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 02 17:18:00 2023 +0800"
      },
      "message": "chore: refactor some code (#244)\n\n## Rationale\r\nThe endpoint of the leader persisted in the etcd is wrong.\r\n\r\n## Detailed Changes\r\nSave the correct endpoint of the ceresmeta leader in the etcd.\r\n\r\n## Test Plan\r\nManual tests."
    },
    {
      "commit": "bdd40e6607667aa40c5bbadc0866a073220fa80f",
      "tree": "ed1beeddd70b2a3ecad05c13c407b570f8528a99",
      "parents": [
        "3075197748a1ac9789bceb278ee74c407c05b5e9"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao.rcs@antgroup.com",
        "time": "Mon Oct 02 16:59:33 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 02 16:59:33 2023 +0800"
      },
      "message": "feat: support external etcd (#238)\n\nCo-authored-by: xikai.wxk \u003cxikai.wxk@antgroup.com\u003e\r\n"
    },
    {
      "commit": "3075197748a1ac9789bceb278ee74c407c05b5e9",
      "tree": "c5c988532cf9c9dce100d5576d70cf09e3498c94",
      "parents": [
        "a12b7fc5d42c5fd0cb843d5d020052de1faade30"
      ],
      "author": {
        "name": "WEI Xikai",
        "email": "ShiKaiWi@users.noreply.github.com",
        "time": "Mon Oct 02 14:45:39 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 02 14:45:39 2023 +0800"
      },
      "message": "fix: allow rebalance scheduler to run on the unstable cluster (#243)\n\n## Rationale\r\nCurrently, the cluster state can\u0027t be stable after\r\n`AssignShardScheduler` is removed in #236. And this results from that\r\nthe `RebalancedShardScheduler` won\u0027t schedule if the cluster state is\r\nnot stable.\r\n\r\n## Detailed Changes\r\nAllow the `RabalancedShardScheduler` to run on the unstable cluster.\r\n\r\n## Test Plan\r\nManual test."
    },
    {
      "commit": "a12b7fc5d42c5fd0cb843d5d020052de1faade30",
      "tree": "90ff7b2bce02ab42036b4723632330622fb13c62",
      "parents": [
        "40d30633b6fa5379073e2e81095c4792156920fd"
      ],
      "author": {
        "name": "WEI Xikai",
        "email": "ShiKaiWi@users.noreply.github.com",
        "time": "Mon Oct 02 10:59:02 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 02 10:59:02 2023 +0800"
      },
      "message": "improve: generate a more uniform distribution (#236)\n\n## Rationale\r\nCurrently, the shard distribution over the registered nodes is not\r\nuniform, that is to say, some nodes may be idle while some ones may be\r\nvery busy.\r\n\r\n## Detailed Changes\r\nRefactor the consistent-uniform hash implementation to make it real\r\nuniform, and surely it may be a little bit less consistent compared with\r\nbefore.\r\n\r\n## Test Plan\r\nAdd the unit tests for the uniform and consistency."
    },
    {
      "commit": "40d30633b6fa5379073e2e81095c4792156920fd",
      "tree": "f8de0cb64758955835518c8d3c41f987f91995fc",
      "parents": [
        "ab7fb2d282df316ae2db540a15a38c4c6929f925"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao.rcs@antgroup.com",
        "time": "Mon Oct 02 10:55:05 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 02 10:55:05 2023 +0800"
      },
      "message": "refactor: http mod (#242)\n\n## Rationale\r\nRefactor http model.\r\n\r\n## Detailed Changes\r\n* Move some types into `types.go` file.\r\n* Reorganize function order.\r\n\r\n## Test Plan\r\nCI."
    },
    {
      "commit": "ab7fb2d282df316ae2db540a15a38c4c6929f925",
      "tree": "26f24aac5b9f3295076af23626954646eacb77c6",
      "parents": [
        "b24f7eb418a179f3b0ae8f71aa8b7ade2d4d840e"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao.rcs@antgroup.com",
        "time": "Sun Oct 01 17:57:09 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 01 17:57:09 2023 +0800"
      },
      "message": "chore: add some operation apis (#241)\n\n## Rationale\r\nAdd some operation  apis to better troubleshoot problems.\r\n\r\n## Detailed Changes\r\n* return `createAt` when query shardTables\r\n* add `table/query` api\r\n\r\n## Test Plan\r\nManual test and CI."
    },
    {
      "commit": "b24f7eb418a179f3b0ae8f71aa8b7ade2d4d840e",
      "tree": "fe3f65248f64f6156464df88e94f9c44cb322685",
      "parents": [
        "e097efeea72dbb41de2669e01cd1f070588f0c30"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao.rcs@antgroup.com",
        "time": "Sun Oct 01 17:01:09 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 01 17:01:09 2023 +0800"
      },
      "message": "feat: support drop partition table parallelly (#240)\n\n"
    },
    {
      "commit": "e097efeea72dbb41de2669e01cd1f070588f0c30",
      "tree": "b4fb9982d6cf565e61054ac88394b802b9d5ed4d",
      "parents": [
        "ba4c8e29fe13ae3df01a8ff28ce7bb2ec443af33"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao.rcs@antgroup.com",
        "time": "Sat Sep 30 10:39:41 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 30 10:39:41 2023 +0800"
      },
      "message": "chore: remove useless code (#239)\n\n## Rationale\r\nRemove useless code.\r\n\r\n## Detailed Changes\r\nRemove `GenLogConfigConfig`.\r\n\r\n## Test Plan\r\nCI."
    },
    {
      "commit": "ba4c8e29fe13ae3df01a8ff28ce7bb2ec443af33",
      "tree": "e7a5dc6c47db706b51bbd76363a430770b5121db",
      "parents": [
        "fde3dd9939cb89163e08a2d4d4f8b663b0da2949"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao.rcs@antgroup.com",
        "time": "Thu Sep 28 14:44:24 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 28 14:44:24 2023 +0800"
      },
      "message": "feat: add diagnose/shards api (#235)\n\n## Rationale\r\nProvides `disgnose/shards` api  to check cluster shards status.\r\n\r\n## Detailed Changes\r\n* Refactor some code.\r\n* Add `disgnose/shards` api.\r\n```\r\ncurl 0:8080/api/v1/diagnose/defaultCluster/shards\r\n{\r\n    \"status\": \"success\",\r\n    \"data\":\r\n    {\r\n        \"shard_not_register\":\r\n        {\r\n            \"0\": \"127.0.0.1:8832\",\r\n            \"1\": \"127.0.0.1:8832\",\r\n            \"5\": \"127.0.0.1:8832\",\r\n            \"6\": \"127.0.0.1:8832\"\r\n        },\r\n        \"shard_not_ready\":\r\n        {}\r\n    }\r\n}\r\n```\r\n\r\n## Test Plan\r\nManual test and CI."
    },
    {
      "commit": "fde3dd9939cb89163e08a2d4d4f8b663b0da2949",
      "tree": "bbeaf7ca1b9c1862e4238efdc8e3a0f45efad151",
      "parents": [
        "b397c748802ef68155ccaf61ecd519631cefb775"
      ],
      "author": {
        "name": "Jiacai Liu",
        "email": "dev@liujiacai.net",
        "time": "Wed Sep 20 16:49:48 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 20 16:49:48 2023 +0800"
      },
      "message": "chore: remove coverage (#234)\n\n"
    },
    {
      "commit": "b397c748802ef68155ccaf61ecd519631cefb775",
      "tree": "6dcea73f0981ef7005f81a0e27f079d5f7f9c2a5",
      "parents": [
        "07a50fc9ac7e48d15877bf7f5f06e55e51203977"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Wed Sep 20 16:30:31 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 20 16:30:31 2023 +0800"
      },
      "message": "fix: drop partition table (#231)\n\n"
    },
    {
      "commit": "07a50fc9ac7e48d15877bf7f5f06e55e51203977",
      "tree": "ff31a0d878a26206987097a82a47788b05845286",
      "parents": [
        "c47a5253c3a51860340c90eb3595e445942260f5"
      ],
      "author": {
        "name": "WEI Xikai",
        "email": "ShiKaiWi@users.noreply.github.com",
        "time": "Tue Sep 19 20:34:07 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 19 20:34:07 2023 +0800"
      },
      "message": "fix: wrong shard id when drop non-exist table (#230)\n\n"
    },
    {
      "commit": "c47a5253c3a51860340c90eb3595e445942260f5",
      "tree": "9aca8ddcc1f8d14869da1e3a8f07c36683bd6052",
      "parents": [
        "bb34836c3b093eafedbfd2cccb3c9072b7d7dc6a"
      ],
      "author": {
        "name": "WEI Xikai",
        "email": "ShiKaiWi@users.noreply.github.com",
        "time": "Wed Sep 13 15:16:53 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 13 15:16:53 2023 +0800"
      },
      "message": "chore: ugprade the ceresdbproto (#229)\n\n"
    },
    {
      "commit": "bb34836c3b093eafedbfd2cccb3c9072b7d7dc6a",
      "tree": "67a4b0cd7bebe86f064e79d006435b6922c63cd9",
      "parents": [
        "7624f6fcc8b3bdcc4045aa8a2eb26ca78abcd0e5"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Wed Sep 06 14:33:19 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 06 14:33:19 2023 +0800"
      },
      "message": "fix: add cluster state check (#203)\n\n"
    },
    {
      "commit": "7624f6fcc8b3bdcc4045aa8a2eb26ca78abcd0e5",
      "tree": "4c2a9d3abda7956efcb46c38e7bc958f0de469bf",
      "parents": [
        "b14d5e7f41f938273bce64bac5fb2a91cea39046"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Wed Sep 06 11:14:59 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 06 11:14:59 2023 +0800"
      },
      "message": "chore: add version print (#227)\n\n"
    },
    {
      "commit": "b14d5e7f41f938273bce64bac5fb2a91cea39046",
      "tree": "42dfb16977812e37e19e89ecee6b6444c8f24314",
      "parents": [
        "22ed580eaba41c30b2f2043540051244df933c18"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao.rcs@antgroup.com",
        "time": "Mon Sep 04 17:01:13 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 04 17:01:13 2023 +0800"
      },
      "message": "refactor: avoid routing tables returning errors due to incorrect metadata (#225)\n\n"
    },
    {
      "commit": "22ed580eaba41c30b2f2043540051244df933c18",
      "tree": "d53e0371b743e7b0f248576f1bb7b0ad22661ccc",
      "parents": [
        "ca094dc675386644c4d295142eac33b9de7904d5"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Thu Jul 27 17:50:43 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 27 17:50:43 2023 +0800"
      },
      "message": "fix: remove gprc header error stack (#222)\n\n"
    },
    {
      "commit": "ca094dc675386644c4d295142eac33b9de7904d5",
      "tree": "df61e6ed94fa4b8d630a0a2530b383cde983ca16",
      "parents": [
        "bfb62e61c891adc844b2dd85295113a228b82641"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Thu Jul 27 16:04:15 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 27 16:04:15 2023 +0800"
      },
      "message": "refactor: optimize hash node select algo (#215)\n\n"
    },
    {
      "commit": "bfb62e61c891adc844b2dd85295113a228b82641",
      "tree": "10d55bd1fd742da4a64ce7d46731d5a8c202e6ca",
      "parents": [
        "2eeb7b0a8367cab697ea035e67708fd409709a49"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Mon Jul 24 13:47:10 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 24 13:47:10 2023 +0800"
      },
      "message": "refactor: refactor api module (#220)\n\n"
    },
    {
      "commit": "2eeb7b0a8367cab697ea035e67708fd409709a49",
      "tree": "f5be6e0bbb0ae6beeeef95a42854697aa11e221f",
      "parents": [
        "dc084d62ad35a7f1964b4ad4a76605fe4165e77f"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Fri Jul 21 11:07:37 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 21 11:07:37 2023 +0800"
      },
      "message": "feat: add ETCD member API (#207)\n\n"
    },
    {
      "commit": "dc084d62ad35a7f1964b4ad4a76605fe4165e77f",
      "tree": "c1ec08ee60dfe292f995ab2106221ee7b57fabc8",
      "parents": [
        "f33dc1bc4ca94295c5aac5cbc68fdadd334b5951"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Thu Jul 20 15:14:49 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 20 15:14:49 2023 +0800"
      },
      "message": "feat: add list procedure api (#214)\n\n"
    },
    {
      "commit": "f33dc1bc4ca94295c5aac5cbc68fdadd334b5951",
      "tree": "b986ccc7c7ba1a4ec46558860a3829428224d931",
      "parents": [
        "16f8ff402cc1543fbb15231c0edc343db952d779"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Thu Jul 20 11:05:26 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 20 11:05:26 2023 +0800"
      },
      "message": "fix: remove codecov config (#212)\n\n"
    },
    {
      "commit": "16f8ff402cc1543fbb15231c0edc343db952d779",
      "tree": "26033280405ac0c484ce540674186a17de4c121c",
      "parents": [
        "22007610d18a71d51de2810db3611eca0ec91ee0"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Wed Jul 19 18:17:42 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 19 18:17:42 2023 +0800"
      },
      "message": "feat: add reopen shard scheduler (#218)\n\n"
    },
    {
      "commit": "22007610d18a71d51de2810db3611eca0ec91ee0",
      "tree": "61c58e247aff515e5df87725ea2845a11619968e",
      "parents": [
        "95b3910793fc8aa10555259d3a3205d818481c58"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Fri Jul 07 16:33:15 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 07 16:33:15 2023 +0800"
      },
      "message": "refactor: support open shard concurrently (#205)\n\n"
    },
    {
      "commit": "95b3910793fc8aa10555259d3a3205d818481c58",
      "tree": "7fb3226e0cbdf25d144c84251eff542873468684",
      "parents": [
        "433cc8e23285eadbbd4df1fcfdc3977c40e83c61"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Tue Jul 04 15:20:35 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 04 15:20:35 2023 +0800"
      },
      "message": "chore: add nighty builder (#210)\n\n"
    },
    {
      "commit": "433cc8e23285eadbbd4df1fcfdc3977c40e83c61",
      "tree": "c22da60a262b738bc6fc752583d31e8e3711c849",
      "parents": [
        "71712bc825b7c048f0f59b4ffb05f0e99acda395"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Tue Jun 27 19:02:46 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 27 19:02:46 2023 +0800"
      },
      "message": "refactor: refactor http api module (#198)\n\n"
    },
    {
      "commit": "71712bc825b7c048f0f59b4ffb05f0e99acda395",
      "tree": "7a80940accc3a26545e929afa6d5d1642547457c",
      "parents": [
        "0f526064505925f6429a194b041ac88e6a90fb0e"
      ],
      "author": {
        "name": "鲍金日",
        "email": "baojinri@gmail.com",
        "time": "Mon Jun 26 14:26:10 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 26 14:26:10 2023 +0800"
      },
      "message": "feat: add flow limiter read interface (#197)\n\n"
    },
    {
      "commit": "0f526064505925f6429a194b041ac88e6a90fb0e",
      "tree": "22c39dceb76f30487bf2885add82242c2b65b607",
      "parents": [
        "d7ae6ee7c7d36ae87df6945858ddbfae59935f34"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Mon Jun 26 13:56:10 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 26 13:56:10 2023 +0800"
      },
      "message": "fix: fix panic when shard is not assigned (#202)\n\n"
    },
    {
      "commit": "d7ae6ee7c7d36ae87df6945858ddbfae59935f34",
      "tree": "faccc670ff89fa19d9b78036bd9b446592224dd9",
      "parents": [
        "741535c687043ca4bfe6306411425c71467d3084"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Mon Jun 26 13:54:37 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 26 13:54:37 2023 +0800"
      },
      "message": "test: fix test update cluster view (#204)\n\n"
    },
    {
      "commit": "741535c687043ca4bfe6306411425c71467d3084",
      "tree": "312bd9b21b213a56b9460d3ceb58b9ae084331d4",
      "parents": [
        "5726523d79270d2006fbe10b884a1c0b3ad84f9f"
      ],
      "author": {
        "name": "鲍金日",
        "email": "baojinri@gmail.com",
        "time": "Mon Jun 05 17:30:31 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 05 17:30:31 2023 +0800"
      },
      "message": "chore: update golangci-lint version (#196)\n\n"
    },
    {
      "commit": "5726523d79270d2006fbe10b884a1c0b3ad84f9f",
      "tree": "781dce207b78605cb6675ecdf516bed7a11303e9",
      "parents": [
        "4864e9eba1895fdde87829e691f160fbde97fcd5"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Wed May 31 16:57:54 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 31 16:57:54 2023 +0800"
      },
      "message": "refactor: compatible with topology persistence (#191)\n\n"
    },
    {
      "commit": "4864e9eba1895fdde87829e691f160fbde97fcd5",
      "tree": "40e5f691ac82bd5e56fd584b77315c7e90074aa0",
      "parents": [
        "111e9ba48664eecf80a5e5151300dffbd2bdcb79"
      ],
      "author": {
        "name": "鲍金日",
        "email": "baojinri@gmail.com",
        "time": "Wed May 31 16:05:53 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 31 16:05:53 2023 +0800"
      },
      "message": "chore: rename limiter api (#192)\n\n"
    },
    {
      "commit": "111e9ba48664eecf80a5e5151300dffbd2bdcb79",
      "tree": "390394d02720da4f37e38fde08613c361ec7a7bc",
      "parents": [
        "6ebfc4750c67b58532d6c20be6ae2f399fd575d3"
      ],
      "author": {
        "name": "鲍金日",
        "email": "baojinri@gmail.com",
        "time": "Tue May 30 14:26:28 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 30 14:26:28 2023 +0800"
      },
      "message": "fix: remove test code (#190)\n\n"
    },
    {
      "commit": "6ebfc4750c67b58532d6c20be6ae2f399fd575d3",
      "tree": "cd622351d705147082ef5a0ebc5da41b37a286d4",
      "parents": [
        "2553e087bbafd88be53d671b8b4573b6289b3b87"
      ],
      "author": {
        "name": "鲍金日",
        "email": "baojinri@gmail.com",
        "time": "Tue May 30 14:26:03 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 30 14:26:03 2023 +0800"
      },
      "message": "refactor: error message (#189)\n\n"
    },
    {
      "commit": "2553e087bbafd88be53d671b8b4573b6289b3b87",
      "tree": "55d4c53316178326a1f4bd6fb4b454a8150c8903",
      "parents": [
        "8d98f1652e7cd5272e4c192a4588435f39ef02be"
      ],
      "author": {
        "name": "鲍金日",
        "email": "baojinri@gmail.com",
        "time": "Mon May 29 21:21:28 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 29 21:21:28 2023 +0800"
      },
      "message": "feat: add gRPC flow limiter (#176)\n\n"
    },
    {
      "commit": "8d98f1652e7cd5272e4c192a4588435f39ef02be",
      "tree": "3647a2ae60c4c2cf30e17df349541d0045b07218",
      "parents": [
        "ea31bd7c7e3517a6dab71957559349d125209c43"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Mon May 29 20:48:44 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 29 20:48:44 2023 +0800"
      },
      "message": "test: add unit tests (#178)\n\n"
    },
    {
      "commit": "ea31bd7c7e3517a6dab71957559349d125209c43",
      "tree": "6ead045cd1443e5593ac075be07d8f29a6710892",
      "parents": [
        "37ff902d1e7167a61d9e6b6e104dbdbce945b4ed"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Fri May 26 14:31:17 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 26 14:31:17 2023 +0800"
      },
      "message": "refactor: refactor cluster interface (#185)\n\n"
    },
    {
      "commit": "37ff902d1e7167a61d9e6b6e104dbdbce945b4ed",
      "tree": "3b98c4bd238e49cd52c068978f9e1040798492ee",
      "parents": [
        "bf3e2f9924495cb083d44e7a3509dfe36626f3ff"
      ],
      "author": {
        "name": "鲍金日",
        "email": "baojinri@gmail.com",
        "time": "Fri May 26 09:54:09 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 26 09:54:09 2023 +0800"
      },
      "message": "fix: optimize sub table creation (#182)\n\n"
    },
    {
      "commit": "bf3e2f9924495cb083d44e7a3509dfe36626f3ff",
      "tree": "f6f582fea6da630e9cb8044a6175e7f759a6a36b",
      "parents": [
        "4ab299b4ba67030b1dddfba152dcc723dac13479"
      ],
      "author": {
        "name": "鲍金日",
        "email": "baojinri@gmail.com",
        "time": "Wed May 24 15:23:31 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 24 15:23:31 2023 +0800"
      },
      "message": "refactor: error message in http api (#180)\n\n"
    },
    {
      "commit": "4ab299b4ba67030b1dddfba152dcc723dac13479",
      "tree": "e0384b7350a4665ddc8e64a7027f28ce3ca62b87",
      "parents": [
        "713a18af00a26cfbbabc71c6e2888f73c63bbfff"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Wed May 24 14:51:29 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 24 14:51:29 2023 +0800"
      },
      "message": "fix: add leader cache (#183)\n\n"
    },
    {
      "commit": "713a18af00a26cfbbabc71c6e2888f73c63bbfff",
      "tree": "6e33ba3a3c3465d3a65bf504b7a94d124c4726a6",
      "parents": [
        "82ca6a341fa16228bfe40066d863d1abe0959903"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Wed May 24 12:57:18 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 24 12:57:18 2023 +0800"
      },
      "message": "refactor: add pprof debug API (#184)\n\n"
    },
    {
      "commit": "82ca6a341fa16228bfe40066d863d1abe0959903",
      "tree": "678b25a9ed35e2c76b687da8a55d5c28a60c9773",
      "parents": [
        "dedea8ce3aba86d578cf27aac4eddb2426adee53"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao.rcs@antgroup.com",
        "time": "Thu May 18 15:40:40 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 18 15:40:40 2023 +0800"
      },
      "message": "fix: mod zero (#171)\n\n* fix: mod zero\r\n\r\n* refactor by CR"
    },
    {
      "commit": "dedea8ce3aba86d578cf27aac4eddb2426adee53",
      "tree": "2147d46e3ad2cde528571027b3439c68dd14c6af",
      "parents": [
        "45c4f10c71032e31436a83a331a6597b7acf7da8"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Wed May 17 15:21:06 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 17 15:21:06 2023 +0800"
      },
      "message": "test: add integration test (#177)\n\n"
    },
    {
      "commit": "45c4f10c71032e31436a83a331a6597b7acf7da8",
      "tree": "e98ac92a5c30246703ca731d74fadd685280295f",
      "parents": [
        "a90ce9bdf8a5b023220d0a052a659f92c9882b59"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Mon May 15 17:58:54 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 15 17:58:54 2023 +0800"
      },
      "message": "feat: support multiple cluster (#172)\n\n* feat: support multiple cluster"
    },
    {
      "commit": "a90ce9bdf8a5b023220d0a052a659f92c9882b59",
      "tree": "dcb40034b0d6f650d6b69edac5c4bf5f79ac9062",
      "parents": [
        "7f1354e54b0c4d1a6e306be54f99ae457513dfd8"
      ],
      "author": {
        "name": "chunshao.rcs",
        "email": "chunshao.rcs@antgroup.com",
        "time": "Fri May 12 15:05:17 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 12 15:05:17 2023 +0800"
      },
      "message": "chore: add codecov.yml (#175)\n\n"
    },
    {
      "commit": "7f1354e54b0c4d1a6e306be54f99ae457513dfd8",
      "tree": "92a4723f1c1e0c0bd2b7b79478ef4c1ca5f1497c",
      "parents": [
        "541b7bf6e0820d394360357a9c80546e355f8cf2"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Sat May 06 18:11:39 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 06 18:11:39 2023 +0800"
      },
      "message": "fix: touch time not updated when register node (#170)\n\n"
    },
    {
      "commit": "541b7bf6e0820d394360357a9c80546e355f8cf2",
      "tree": "db9da94513b47f5894deeebba233dd11195dbf2e",
      "parents": [
        "77bd521511f760bf67f412ac7fdf7046347c0f8f"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Sat May 06 17:27:45 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 06 17:27:45 2023 +0800"
      },
      "message": "fix: register node (#169)\n\n"
    },
    {
      "commit": "77bd521511f760bf67f412ac7fdf7046347c0f8f",
      "tree": "8f57a911e9daafeb9721365fa68211a8abe21384",
      "parents": [
        "3f9d2471137b1a828f7a947e5f5a7463d40f31ca"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Sat May 06 17:04:19 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 06 17:04:19 2023 +0800"
      },
      "message": "refactor: support topology type (#168)\n\n"
    },
    {
      "commit": "3f9d2471137b1a828f7a947e5f5a7463d40f31ca",
      "tree": "01999c8e09db8a6ae0a4660b393d93936871bc62",
      "parents": [
        "e084d80c766ccaa9b7fbe84678c69115c8554918"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Fri May 05 19:30:49 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 05 19:30:49 2023 +0800"
      },
      "message": "fix: fix drop partition table (#167)\n\n"
    },
    {
      "commit": "e084d80c766ccaa9b7fbe84678c69115c8554918",
      "tree": "3758533bb0927eab9f195c66d2343b02307de902",
      "parents": [
        "ff52175f0445aba6c4532cfcde1ab91172aedd03"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Fri May 05 16:29:14 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 05 16:29:14 2023 +0800"
      },
      "message": "refactor: avoid frequent update of clusterVersion (#166)\n\n"
    },
    {
      "commit": "ff52175f0445aba6c4532cfcde1ab91172aedd03",
      "tree": "7ec3c0201e82d6ad922bedb0df567f90cc8c4e18",
      "parents": [
        "9608d4c8ff715ff2a9b6cb543624e7aecbaa4f61"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Thu May 04 10:56:20 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 04 10:56:20 2023 +0800"
      },
      "message": "fix: empty results of get table of shards (#164)\n\n"
    },
    {
      "commit": "9608d4c8ff715ff2a9b6cb543624e7aecbaa4f61",
      "tree": "a7d8f2c5aa29008d647699c5db972bcaa7602fe2",
      "parents": [
        "0e2b450586983c13e59d9431fb511f0ba6908d0a"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Thu Apr 27 10:23:59 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 27 10:23:59 2023 +0800"
      },
      "message": "feat: add deploy mode (#163)\n\n"
    },
    {
      "commit": "0e2b450586983c13e59d9431fb511f0ba6908d0a",
      "tree": "06a75a0323d0842dd6d9a54dd3981c16d2fa9de9",
      "parents": [
        "e84961d54f1c9f7f5fd92d69e2c36f3c28aa215d"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Wed Apr 26 11:15:05 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 26 11:15:05 2023 +0800"
      },
      "message": "feat: add rebalanced shard scheduler (#162)\n\n"
    },
    {
      "commit": "e84961d54f1c9f7f5fd92d69e2c36f3c28aa215d",
      "tree": "dd9b3c749fb9dc80d5a148587a727752c49234fc",
      "parents": [
        "9d49b87d9fe4a075c702b4b39cde8e162de8200e"
      ],
      "author": {
        "name": "CooooolFrog",
        "email": "zuliangwanghust@gmail.com",
        "time": "Tue Apr 25 16:00:28 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 25 16:00:28 2023 +0800"
      },
      "message": "fix: update cluster view when shardinfos is empty (#160)\n\n"
    }
  ],
  "next": "9d49b87d9fe4a075c702b4b39cde8e162de8200e"
}
