)]}'
{
  "commit": "db9a86eeeacac1bce757c81b622f7237187c65f5",
  "tree": "e07eb6f6a8097f6191a55e64eab58f7149ab040c",
  "parents": [
    "4ca78b58ebeb388c02068806dd074bc8b509c779"
  ],
  "author": {
    "name": "Richard Jankowski",
    "email": "rjankows@ciena.com",
    "time": "Mon Sep 17 13:33:29 2018 -0400"
  },
  "committer": {
    "name": "khenaidoo Nursimulu",
    "email": "knursimu@ciena.com",
    "time": "Mon Sep 17 19:01:52 2018 +0000"
  },
  "message": "VOL-1183: OFagent cannot reach vcore after vcore moved to different node in cluster\n\nTwo gRPC calls made by OFagent\u0027s ConnectionManager, Subscribe and ListLogicalDevices, actually\nrun in the Twisted reactor thread. On rare occasions, either call never returns when the vcore\nconnected to the OFagent dies. Because the blocking gRPC runs in the reactor thread, the entire\napplication is blocked and cannot detect comms errors with the deceased vcore. The handling  of\nthese gRPCs has been moved to the OFagent\u0027s internal GrpcClient, which wraps all gRPC calls in\nthe twisted.internet.threads.deferToThread function.\n\nChange-Id: Ifa3479a3cbca7ae8d7f5e2ca0372e22507d5e4b9\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "13ce2a0e6e15edfecdab03880233b63a42ea865f",
      "old_mode": 33188,
      "old_path": "ofagent/connection_mgr.py",
      "new_id": "2496dd5887fb46da8845ca71555435080d389898",
      "new_mode": 33188,
      "new_path": "ofagent/connection_mgr.py"
    },
    {
      "type": "modify",
      "old_id": "af3ffe4882b0d7b91b46580d7e60ba038a8706f1",
      "old_mode": 33188,
      "old_path": "ofagent/grpc_client.py",
      "new_id": "56af9494f2b1cd44067e0511c0d19b5ca11ce031",
      "new_mode": 33188,
      "new_path": "ofagent/grpc_client.py"
    },
    {
      "type": "modify",
      "old_id": "23335bb803ab260de3b1b1c19edbf895efa7a869",
      "old_mode": 33261,
      "old_path": "ofagent/main.py",
      "new_id": "06c2ae380dc9f3d2b36f34e5fa0ddce77a3068c8",
      "new_mode": 33261,
      "new_path": "ofagent/main.py"
    },
    {
      "type": "modify",
      "old_id": "731ecfa0653e1a062dc7e2737da91e17fa2397a8",
      "old_mode": 33188,
      "old_path": "tests/utests/README.md",
      "new_id": "7a1c9b1eb84a36d0d96b2dd92f89af797e6d3929",
      "new_mode": 33188,
      "new_path": "tests/utests/README.md"
    },
    {
      "type": "modify",
      "old_id": "4ca022cce9f7a1d98bfdf259e7281b27684e51b7",
      "old_mode": 33188,
      "old_path": "tests/utests/ofagent/test_connection_mgr.py",
      "new_id": "fe7bcdf74ff84bdd34c4d33abb6adee66dd79b9e",
      "new_mode": 33188,
      "new_path": "tests/utests/ofagent/test_connection_mgr.py"
    }
  ]
}
