)]}'
{
  "commit": "543e51c7ecd842056f93859defd23b851bfe842e",
  "tree": "9a651e0ab1e2b3423250268535f2bd0f95379a52",
  "parents": [
    "7891ac569eeca8e8cfeedf4ee005a26f98a0ca71"
  ],
  "author": {
    "name": "Heesung Sohn",
    "email": "103456639+heesung-sn@users.noreply.github.com",
    "time": "Tue Feb 20 19:02:31 2024 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Feb 21 11:02:31 2024 +0800"
  },
  "message": "[feat] PIP-188 Support blue-green migration (#402)\n\n### Motivation\r\n\r\nSupport blue-green migration pip-188 for cpp client\r\n\r\n### Modifications\r\n\r\n- added blue-green client logic \r\n- register the producer instance in the producers map before sending produce creation command. This is required since broker could send topic migration command in the middle of creating the producer.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2d9ffc421005dd17988db9daee9ae810c0db003a",
      "old_mode": 33188,
      "old_path": "lib/BinaryProtoLookupService.cc",
      "new_id": "489d8a2787164f66823ab473234f74498cb9c8be",
      "new_mode": 33188,
      "new_path": "lib/BinaryProtoLookupService.cc"
    },
    {
      "type": "modify",
      "old_id": "a3c059e44e7b0ae48b7fb270abb2676c5a917bde",
      "old_mode": 33188,
      "old_path": "lib/BinaryProtoLookupService.h",
      "new_id": "6132825d909102469bcbef298673cb17ae726d5a",
      "new_mode": 33188,
      "new_path": "lib/BinaryProtoLookupService.h"
    },
    {
      "type": "modify",
      "old_id": "00041b2a3be54ec3e8406e0dd5ccc7a5addbeb06",
      "old_mode": 33188,
      "old_path": "lib/ClientConnection.cc",
      "new_id": "0beb739c8ae2a512677ba33973852690e9914d59",
      "new_mode": 33188,
      "new_path": "lib/ClientConnection.cc"
    },
    {
      "type": "modify",
      "old_id": "b16fc694a38d9cfc5ecbdb38d72cb04ae0d01619",
      "old_mode": 33188,
      "old_path": "lib/ClientConnection.h",
      "new_id": "3c83b4dbef353fd2ad574f1786316203a97b6f49",
      "new_mode": 33188,
      "new_path": "lib/ClientConnection.h"
    },
    {
      "type": "modify",
      "old_id": "ae339731b10602caeababc8878b43505a101c737",
      "old_mode": 33188,
      "old_path": "lib/ClientImpl.cc",
      "new_id": "3d19c4266afa9236bf87d7893623376608e5aee7",
      "new_mode": 33188,
      "new_path": "lib/ClientImpl.cc"
    },
    {
      "type": "modify",
      "old_id": "7126542bb450dad4f0f5adcdf5418e2bb52573eb",
      "old_mode": 33188,
      "old_path": "lib/ClientImpl.h",
      "new_id": "27cde3a130a6564e349b4a0bd7509703dc63696d",
      "new_mode": 33188,
      "new_path": "lib/ClientImpl.h"
    },
    {
      "type": "modify",
      "old_id": "0959af2aeb5f3bc9ae6e10f707e5385c6d7fb802",
      "old_mode": 33188,
      "old_path": "lib/HTTPLookupService.cc",
      "new_id": "93b9db44466619a177798a48adeebcf60e6c930b",
      "new_mode": 33188,
      "new_path": "lib/HTTPLookupService.cc"
    },
    {
      "type": "modify",
      "old_id": "cf0b0ad1d5a1110d0795026f9c82d41457dbb1ec",
      "old_mode": 33188,
      "old_path": "lib/HTTPLookupService.h",
      "new_id": "17dd110eb6bce4beddbd8a6845efe72221a35f77",
      "new_mode": 33188,
      "new_path": "lib/HTTPLookupService.h"
    },
    {
      "type": "modify",
      "old_id": "52e20d2d3cb8ccf6f452a48b1208f1a1a1f4def8",
      "old_mode": 33188,
      "old_path": "lib/HandlerBase.cc",
      "new_id": "46b918f6b908abda57fbd7ddfc296e582bde7aac",
      "new_mode": 33188,
      "new_path": "lib/HandlerBase.cc"
    },
    {
      "type": "modify",
      "old_id": "32e124a2e2e529f4947ee085f046ecc65e15928f",
      "old_mode": 33188,
      "old_path": "lib/HandlerBase.h",
      "new_id": "415e234cfecae5044446fc4c2156cdcd933b7656",
      "new_mode": 33188,
      "new_path": "lib/HandlerBase.h"
    },
    {
      "type": "modify",
      "old_id": "b50d1f825bb2d2fc9f22ad3abfd10f82758ed4d1",
      "old_mode": 33188,
      "old_path": "lib/LookupService.h",
      "new_id": "684984fc6e75c19387b80f1f375d9f1c414d91d4",
      "new_mode": 33188,
      "new_path": "lib/LookupService.h"
    },
    {
      "type": "modify",
      "old_id": "890d476c7b649a1a1d3625923c5f0da09ac856f1",
      "old_mode": 33188,
      "old_path": "lib/ProducerImpl.cc",
      "new_id": "f84c255e748b5d36594c02c3fadbafaf0d501eb2",
      "new_mode": 33188,
      "new_path": "lib/ProducerImpl.cc"
    },
    {
      "type": "modify",
      "old_id": "561855f9b43ea83c0bd25ab614798eec9950641b",
      "old_mode": 33188,
      "old_path": "lib/RetryableLookupService.h",
      "new_id": "8bc40bf30566d8897190ca11df836f34dcfea027",
      "new_mode": 33188,
      "new_path": "lib/RetryableLookupService.h"
    },
    {
      "type": "modify",
      "old_id": "8457d0e1b770be553022924c39432a05cedd689d",
      "old_mode": 33188,
      "old_path": "lib/ServiceNameResolver.h",
      "new_id": "e6b2523b706a60b89cb094625c3cddca4db37c13",
      "new_mode": 33188,
      "new_path": "lib/ServiceNameResolver.h"
    },
    {
      "type": "modify",
      "old_id": "a2548f3a819a2760569df8780713fc8d4df06ae8",
      "old_mode": 33188,
      "old_path": "proto/PulsarApi.proto",
      "new_id": "4e207913db9bb269c6fc35f8762a39716e0d413a",
      "new_mode": 33188,
      "new_path": "proto/PulsarApi.proto"
    },
    {
      "type": "modify",
      "old_id": "226789c52dcef2459b3b3b9b0d7482fd9c8c9c4a",
      "old_mode": 33261,
      "old_path": "run-unit-tests.sh",
      "new_id": "698ca62c50205d0d6a65e79a04fc7266acbbefe4",
      "new_mode": 33261,
      "new_path": "run-unit-tests.sh"
    },
    {
      "type": "modify",
      "old_id": "1e8e67d5b9fc5fab1233812edd599c8970c45b85",
      "old_mode": 33188,
      "old_path": "tests/ClientTest.cc",
      "new_id": "b51428601243c2a89341278ff4f2c6059193aafd",
      "new_mode": 33188,
      "new_path": "tests/ClientTest.cc"
    },
    {
      "type": "modify",
      "old_id": "0fe13851c0eea61958e7213d5dce011085865cb4",
      "old_mode": 33188,
      "old_path": "tests/LookupServiceTest.cc",
      "new_id": "924acd437adfba875f39557ece7ac0cf2a322076",
      "new_mode": 33188,
      "new_path": "tests/LookupServiceTest.cc"
    },
    {
      "type": "modify",
      "old_id": "aa4208a93377814a42d1c552b475c32f7ada49ed",
      "old_mode": 33188,
      "old_path": "tests/MockClientImpl.h",
      "new_id": "074808fc35ab87fc54c31e86abdfdd94d7148a10",
      "new_mode": 33188,
      "new_path": "tests/MockClientImpl.h"
    },
    {
      "type": "modify",
      "old_id": "7377884206027b7fa08ea59696b652ba344ea7e1",
      "old_mode": 33188,
      "old_path": "tests/PulsarFriend.h",
      "new_id": "bfa11ef14962d0d1d483ce3b1a827d791bff63cb",
      "new_mode": 33188,
      "new_path": "tests/PulsarFriend.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b2d22ebf368120c8d65e28dd88d2545ce8ce5cb2",
      "new_mode": 33188,
      "new_path": "tests/blue-green/docker-compose.yml"
    },
    {
      "type": "modify",
      "old_id": "a6379f6eb9952fc7de20ec1fffda86bce56d57c0",
      "old_mode": 33188,
      "old_path": "tests/extensibleLM/ExtensibleLoadManagerTest.cc",
      "new_id": "f4e2c81c1f2382b474e80941fd34dc0daf89f776",
      "new_mode": 33188,
      "new_path": "tests/extensibleLM/ExtensibleLoadManagerTest.cc"
    },
    {
      "type": "modify",
      "old_id": "8d3c33a3a2b70ea5b5bbb6155df8f9c369d8efa6",
      "old_mode": 33188,
      "old_path": "tests/extensibleLM/docker-compose.yml",
      "new_id": "14876395f070e8dd3579a047b68b8ce4db091c08",
      "new_mode": 33188,
      "new_path": "tests/extensibleLM/docker-compose.yml"
    }
  ]
}
