)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1004059,"name":"Paolo Cocchi","email":"paolo.cocchi@couchbase.com","username":"paolococchi","avatars":[{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"6a3221bf09ecf734e8a6ec9e240caeaddc9b2044","unresolved":true,"context_lines":[{"line_number":9,"context_line":"The method did not take a queueLock and could mutate the"},{"line_number":10,"context_line":"CheckpointManager while it is being accessed, e.g. in"},{"line_number":11,"context_line":"CheckpointManager::getListOfCursorsToDrop."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I15c1e9ccc6f45f3251ebd7f78649c8a446d65b54"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"98c3b3fc_ec458e93","line":12,"updated":"2024-01-12 10:58:09.000000000","message":"Could you add some details on the race please?\n\nHint: A TSAN backtrace snippet of the 2 threads involved in the race is nice to have","commit_id":"b92aba7095a30a04e8edb70aa2e7e6795dd8c01f"},{"author":{"_account_id":1005235,"name":"Pavlos Georgiou","email":"pavlos.georgiou@couchbase.com","username":"pavlosg","avatars":[{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e2a8eb563d7cf213cab9814e4387983165db84d2","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The method did not take a queueLock and could mutate the"},{"line_number":10,"context_line":"CheckpointManager while it is being accessed, e.g. in"},{"line_number":11,"context_line":"CheckpointManager::getListOfCursorsToDrop."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I15c1e9ccc6f45f3251ebd7f78649c8a446d65b54"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5df5745d_2afc009f","line":12,"in_reply_to":"98c3b3fc_ec458e93","updated":"2024-01-12 15:57:18.000000000","message":"Done","commit_id":"b92aba7095a30a04e8edb70aa2e7e6795dd8c01f"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":1004059,"name":"Paolo Cocchi","email":"paolo.cocchi@couchbase.com","username":"paolococchi","avatars":[{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c890cce735cce584c0b7ab3e11f41f39845a711a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"cdb4a8cb_41e8cba4","updated":"2024-01-08 10:11:29.000000000","message":"Hey @pavlos, did we manage to get a TSAN hit on this in any test ?","commit_id":"81f764a7af1abdf0dd25d9e5eb5937a97ea21197"},{"author":{"_account_id":1004059,"name":"Paolo Cocchi","email":"paolo.cocchi@couchbase.com","username":"paolococchi","avatars":[{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"d35be15a5e6516b9dbff73a3968473ef396636bf","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"f09128f2_ab627fac","updated":"2024-01-12 10:46:57.000000000","message":"Code is good.\nWe can simplify the test as per offline discussion.","commit_id":"b92aba7095a30a04e8edb70aa2e7e6795dd8c01f"},{"author":{"_account_id":1005235,"name":"Pavlos Georgiou","email":"pavlos.georgiou@couchbase.com","username":"pavlosg","avatars":[{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c070525c6776af1ba88a0ea60a71e975e0fcfe7c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"6969626c_207cfa3d","updated":"2024-01-11 12:09:22.000000000","message":"Override Build Bot due to unrelated CV failures not seen in previous run","commit_id":"b92aba7095a30a04e8edb70aa2e7e6795dd8c01f"},{"author":{"_account_id":1005235,"name":"Pavlos Georgiou","email":"pavlos.georgiou@couchbase.com","username":"pavlosg","avatars":[{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e2a8eb563d7cf213cab9814e4387983165db84d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"c71d35de_fac80af8","in_reply_to":"f09128f2_ab627fac","updated":"2024-01-12 15:57:18.000000000","message":"Done","commit_id":"b92aba7095a30a04e8edb70aa2e7e6795dd8c01f"},{"author":{"_account_id":1004059,"name":"Paolo Cocchi","email":"paolo.cocchi@couchbase.com","username":"paolococchi","avatars":[{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"2318141af68f8d9298f4d25dd69537dd6041652f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"35decf8e_d9f72d96","updated":"2024-01-12 16:10:49.000000000","message":"Some minor naming to fix","commit_id":"7757b35e2bd2f0c6fbda15346b45d55c37a81db4"}],"engines/ep/src/checkpoint_manager.cc":[{"author":{"_account_id":1001546,"name":"Jim Walker","email":"jim@couchbase.com","username":"jim","avatars":[{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"caf65ce3d8020f4b9aadbda6e3e164a7948de24b","unresolved":true,"context_lines":[{"line_number":637,"context_line":"                \" Failed to remove cursor: \" + cursor.getName());"},{"line_number":638,"context_line":"    }"},{"line_number":639,"context_line":""},{"line_number":640,"context_line":"    if (persistenceCursor \u003d\u003d \u0026cursor) {"},{"line_number":641,"context_line":"        persistenceCursor \u003d nullptr;"},{"line_number":642,"context_line":"    }"},{"line_number":643,"context_line":""}],"source_content_type":"text/x-c","patch_set":2,"id":"1e7900c9_b885c82c","line":640,"updated":"2024-01-08 16:15:52.000000000","message":"can you comment this? Not clear how this relates to the takeAndResetCursors fix","commit_id":"81f764a7af1abdf0dd25d9e5eb5937a97ea21197"},{"author":{"_account_id":1005235,"name":"Pavlos Georgiou","email":"pavlos.georgiou@couchbase.com","username":"pavlosg","avatars":[{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"7a3ecdbd1c5746efce593daf36c9b00e0bfbf835","unresolved":true,"context_lines":[{"line_number":637,"context_line":"                \" Failed to remove cursor: \" + cursor.getName());"},{"line_number":638,"context_line":"    }"},{"line_number":639,"context_line":""},{"line_number":640,"context_line":"    if (persistenceCursor \u003d\u003d \u0026cursor) {"},{"line_number":641,"context_line":"        persistenceCursor \u003d nullptr;"},{"line_number":642,"context_line":"    }"},{"line_number":643,"context_line":""}],"source_content_type":"text/x-c","patch_set":2,"id":"9c6b0391_a31186e3","line":640,"in_reply_to":"1e7900c9_b885c82c","updated":"2024-01-08 16:58:39.000000000","message":"We have a test which removes the persistence cursor from the cursor map (something that wouldn\u0027t normally happen). So when the test removes the persistence cursor this pointer should be set to null.\n\nHow it relates to this patch: I have an assertion that checks that takeAndResetCursors is called on a CM with either no cursors or just one (the persistence one).\n\nThere are other places where this pointer is used, they just don\u0027t seem to be exercised in such scenario.\n\nI changed the assertion to not use that pointer, this change can go in a separate patch.","commit_id":"81f764a7af1abdf0dd25d9e5eb5937a97ea21197"},{"author":{"_account_id":1001546,"name":"Jim Walker","email":"jim@couchbase.com","username":"jim","avatars":[{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/a06928c0be234da34bb6fc731e04a0d7.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"d248267237673234538c66f95aed39d224a3aba0","unresolved":false,"context_lines":[{"line_number":637,"context_line":"                \" Failed to remove cursor: \" + cursor.getName());"},{"line_number":638,"context_line":"    }"},{"line_number":639,"context_line":""},{"line_number":640,"context_line":"    if (persistenceCursor \u003d\u003d \u0026cursor) {"},{"line_number":641,"context_line":"        persistenceCursor \u003d nullptr;"},{"line_number":642,"context_line":"    }"},{"line_number":643,"context_line":""}],"source_content_type":"text/x-c","patch_set":2,"id":"2ce4b480_0ec0c9df","line":640,"in_reply_to":"9c6b0391_a31186e3","updated":"2024-01-09 14:01:16.000000000","message":"Ack","commit_id":"81f764a7af1abdf0dd25d9e5eb5937a97ea21197"}],"engines/ep/src/checkpoint_manager.h":[{"author":{"_account_id":1004059,"name":"Paolo Cocchi","email":"paolo.cocchi@couchbase.com","username":"paolococchi","avatars":[{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"2318141af68f8d9298f4d25dd69537dd6041652f","unresolved":true,"context_lines":[{"line_number":601,"context_line":""},{"line_number":602,"context_line":"    /// Testing hook called at the start of CM::takeAndResetCursors."},{"line_number":603,"context_line":"    /// Introduced in MB-59601."},{"line_number":604,"context_line":"    TestingHook\u003c\u003e takeAndResetCursorsHook;"},{"line_number":605,"context_line":""},{"line_number":606,"context_line":"    /// Testing hook called just before iterating CM::cursors in"},{"line_number":607,"context_line":"    /// CM::getListOfCursorsToDrop. Introduced in MB-59601."}],"source_content_type":"text/x-csrc","patch_set":8,"id":"d94a6701_a0430299","line":604,"updated":"2024-01-12 16:10:49.000000000","message":"Can we name is \"\u003cprefix\u003eTestHook\"? That\u0027s for making clear on the test-only purpose in the production code, eg takeAndResetCursorsTestHook","commit_id":"7757b35e2bd2f0c6fbda15346b45d55c37a81db4"},{"author":{"_account_id":1004059,"name":"Paolo Cocchi","email":"paolo.cocchi@couchbase.com","username":"paolococchi","avatars":[{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"5d9e3a24ed581680d663244fc2d7afdf1ef5f86f","unresolved":false,"context_lines":[{"line_number":601,"context_line":""},{"line_number":602,"context_line":"    /// Testing hook called at the start of CM::takeAndResetCursors."},{"line_number":603,"context_line":"    /// Introduced in MB-59601."},{"line_number":604,"context_line":"    TestingHook\u003c\u003e takeAndResetCursorsHook;"},{"line_number":605,"context_line":""},{"line_number":606,"context_line":"    /// Testing hook called just before iterating CM::cursors in"},{"line_number":607,"context_line":"    /// CM::getListOfCursorsToDrop. Introduced in MB-59601."}],"source_content_type":"text/x-csrc","patch_set":8,"id":"0ea4c57d_c4a60a89","line":604,"in_reply_to":"79e9bb12_54ba0c7d","updated":"2024-01-12 16:20:08.000000000","message":"Mmm you\u0027re right, I (wrongly) recalled that we were following that style everywhere.. But I do see in the code that that\u0027s not the case.\nNo need to change","commit_id":"7757b35e2bd2f0c6fbda15346b45d55c37a81db4"},{"author":{"_account_id":1005235,"name":"Pavlos Georgiou","email":"pavlos.georgiou@couchbase.com","username":"pavlosg","avatars":[{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/37a23779d2698c24df7ea51f7c1f8d81.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3df805cf2a4f94d5f3cc3f8a1b41805287662eb7","unresolved":true,"context_lines":[{"line_number":601,"context_line":""},{"line_number":602,"context_line":"    /// Testing hook called at the start of CM::takeAndResetCursors."},{"line_number":603,"context_line":"    /// Introduced in MB-59601."},{"line_number":604,"context_line":"    TestingHook\u003c\u003e takeAndResetCursorsHook;"},{"line_number":605,"context_line":""},{"line_number":606,"context_line":"    /// Testing hook called just before iterating CM::cursors in"},{"line_number":607,"context_line":"    /// CM::getListOfCursorsToDrop. Introduced in MB-59601."}],"source_content_type":"text/x-csrc","patch_set":8,"id":"79e9bb12_54ba0c7d","line":604,"in_reply_to":"d94a6701_a0430299","updated":"2024-01-12 16:15:55.000000000","message":"The other hooks tend to not follow this, and the testing purpose is already indicated by the data type. But not opposed in general.","commit_id":"7757b35e2bd2f0c6fbda15346b45d55c37a81db4"},{"author":{"_account_id":1004059,"name":"Paolo Cocchi","email":"paolo.cocchi@couchbase.com","username":"paolococchi","avatars":[{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"2318141af68f8d9298f4d25dd69537dd6041652f","unresolved":true,"context_lines":[{"line_number":605,"context_line":""},{"line_number":606,"context_line":"    /// Testing hook called just before iterating CM::cursors in"},{"line_number":607,"context_line":"    /// CM::getListOfCursorsToDrop. Introduced in MB-59601."},{"line_number":608,"context_line":"    TestingHook\u003c\u003e getListOfCursorsToDropHook;"},{"line_number":609,"context_line":""},{"line_number":610,"context_line":"protected:"},{"line_number":611,"context_line":"    /**"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"4d57d925_98e3c18e","line":608,"range":{"start_line":608,"start_character":18,"end_line":608,"end_character":44},"updated":"2024-01-12 16:10:49.000000000","message":"Same","commit_id":"7757b35e2bd2f0c6fbda15346b45d55c37a81db4"},{"author":{"_account_id":1004059,"name":"Paolo Cocchi","email":"paolo.cocchi@couchbase.com","username":"paolococchi","avatars":[{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/3367cfbc4fbf29e6d6b3a5397e41849d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"5899feed6aa62af364c647bb764a2d9dbd9c7a25","unresolved":false,"context_lines":[{"line_number":605,"context_line":""},{"line_number":606,"context_line":"    /// Testing hook called just before iterating CM::cursors in"},{"line_number":607,"context_line":"    /// CM::getListOfCursorsToDrop. Introduced in MB-59601."},{"line_number":608,"context_line":"    TestingHook\u003c\u003e getListOfCursorsToDropHook;"},{"line_number":609,"context_line":""},{"line_number":610,"context_line":"protected:"},{"line_number":611,"context_line":"    /**"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"213e45c3_a0de74de","line":608,"range":{"start_line":608,"start_character":18,"end_line":608,"end_character":44},"in_reply_to":"4d57d925_98e3c18e","updated":"2024-01-12 16:26:06.000000000","message":"Done","commit_id":"7757b35e2bd2f0c6fbda15346b45d55c37a81db4"}]}
