)]}' { "commit": "179a2238b1529e6ce8045c53782be06880d6f670", "tree": "58888be00ebc7840ace82f2a6c1bdb6ff9007d5e", "parents": [ "3850cbac5c2b813cdcf27be18cea9492b0bc0531" ], "author": { "name": "Robin Thellend", "email": "rthellend@google.com", "time": "Mon Jun 20 17:36:32 2016 -0700" }, "committer": { "name": "Robin Thellend", "email": "rthellend@google.com", "time": "Tue Jun 21 01:40:50 2016 +0000" }, "message": "services/mounttable/btmtd: Fix bug with concurrent createChild\n\nWhen createChild() is called concurrently, it is possible to leave an\nincorrect reference in the parent, e.g.\n\ncreateChild1 --\u003e insert child with ts1 in parent\n createChild2 --\u003e insert child with ts2 in parent\n\ncreateChild1 --\u003e Create child row with ts1\n createChild2 --\u003e Create child row wth ts2 (Fails, already exists)\n\nOR,\n\ncreateChild1 --\u003e insert child with ts1 in parent\n createChild2 --\u003e insert child with ts2 in parent\n\n createChild2 --\u003e Create child row wth ts2\ncreateChild1 --\u003e Create child row with ts1 (Fails, already exists)\n\nWhen createChild1 or createChild2 fails, the reference in the parent\nfor ts1 or ts2 was left behind. The fix is to delete that reference when\nthe row creation fails.\n\nhttps://github.com/vanadium/build/issues/88\n\nChange-Id: I9947ef2459550636ce0bc7ec3f8c1766f789bbec\n", "tree_diff": [ { "type": "modify", "old_id": "ffb96c1c8fd1dbad1f58f9e89a9fe5b060f17b29", "old_mode": 33188, "old_path": "services/mounttable/btmtd/internal/node.go", "new_id": "b83da7ba70f0d5a447fb26f7f337011d25c389e6", "new_mode": 33188, "new_path": "services/mounttable/btmtd/internal/node.go" } ] }