)]}'
{"src/filemgr.cc":[{"author":{"_account_id":1000097,"name":"Chiyoung Seo","email":"chiyoung@northscale.com","username":"chiyoung","avatars":[{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"8d10505204822b1b4a43a5d9af989fb6b8ee4a41","unresolved":false,"context_lines":[{"line_number":1651,"context_line":"            FileMgrMap::get()-\u003eremoveEntry(file-\u003egetFileName());"},{"line_number":1652,"context_line":""},{"line_number":1653,"context_line":"            update_file_pointers(file);"},{"line_number":1654,"context_line":"            spin_unlock(\u0026filemgr_openlock);"},{"line_number":1655,"context_line":""},{"line_number":1656,"context_line":"            if (foreground_deletion) {"},{"line_number":1657,"context_line":"                FileMgr::freeFunc(file);"}],"source_content_type":"text/x-c","patch_set":3,"id":"9d9d4dd6_a2f464c0","side":"PARENT","line":1654,"updated":"2016-07-02 00:20:55.000000000","message":"This change might have a performance impact as the file free and removal takes some time while the lock is being held. We need to find a better of handling this race issue without causing a significant performance impact.","commit_id":"6215ede0f2a48282b517810b06fef5047f73e61d"},{"author":{"_account_id":1000097,"name":"Chiyoung Seo","email":"chiyoung@northscale.com","username":"chiyoung","avatars":[{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"bf8effad788518634a6bce12a5b3855d2d01bf04","unresolved":false,"context_lines":[{"line_number":1595,"context_line":"                                  // Filemgr::open() because file-\u003efMgrLock won\u0027t"},{"line_number":1596,"context_line":"                                  // prevent the race condition."},{"line_number":1597,"context_line":""},{"line_number":1598,"context_line":"    if ((--file-\u003erefCount) \u003e 0) {"},{"line_number":1599,"context_line":"        // File is still accessed by other readers or writers."},{"line_number":1600,"context_line":"        spin_unlock(\u0026filemgr_openlock);"},{"line_number":1601,"context_line":"        return FDB_RESULT_SUCCESS;"}],"source_content_type":"text/x-c","patch_set":4,"id":"7daa59ed_0f02c982","line":1598,"updated":"2016-07-05 20:18:51.000000000","message":"I think I understand why you moved this check after grabbing the open lock, but can we still keep the old logic unless it still causes this race, as we check the ref count again in line 1606?","commit_id":"1e057874b57cdce0f5e30de92c96e13b08e74cbd"},{"author":{"_account_id":1000338,"name":"Abhi Dangeti","email":"abhinav@couchbase.com","username":"abhinavdangeti","avatars":[{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/9007099855b1bf7d96e9c1a10bc9542e.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"b0c1ee18db6ed51dea23dc7b3870dc9199224c11","unresolved":false,"context_lines":[{"line_number":1595,"context_line":"                                  // Filemgr::open() because file-\u003efMgrLock won\u0027t"},{"line_number":1596,"context_line":"                                  // prevent the race condition."},{"line_number":1597,"context_line":""},{"line_number":1598,"context_line":"    if ((--file-\u003erefCount) \u003e 0) {"},{"line_number":1599,"context_line":"        // File is still accessed by other readers or writers."},{"line_number":1600,"context_line":"        spin_unlock(\u0026filemgr_openlock);"},{"line_number":1601,"context_line":"        return FDB_RESULT_SUCCESS;"}],"source_content_type":"text/x-c","patch_set":4,"id":"7daa59ed_0f38093e","line":1598,"in_reply_to":"7daa59ed_0f02c982","updated":"2016-07-05 20:43:30.000000000","message":"Done","commit_id":"1e057874b57cdce0f5e30de92c96e13b08e74cbd"},{"author":{"_account_id":1000097,"name":"Chiyoung Seo","email":"chiyoung@northscale.com","username":"chiyoung","avatars":[{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ec517f4126dd292151b452ce4d1edf31.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e381def13515e92163754852cb0f7b3b37def6d6","unresolved":false,"context_lines":[{"line_number":1732,"context_line":"    }"},{"line_number":1733,"context_line":"}"},{"line_number":1734,"context_line":""},{"line_number":1735,"context_line":"void FileMgr::freeFunc(FileMgr *file)"},{"line_number":1736,"context_line":"{"},{"line_number":1737,"context_line":"    if (!file) {"},{"line_number":1738,"context_line":"        return;"}],"source_content_type":"text/x-c","patch_set":5,"id":"7daa59ed_2fe6a5a3","side":"PARENT","line":1735,"updated":"2016-07-05 21:14:44.000000000","message":"This function is also invoked by the daemon compactor. Can we increment the free counter at the beginning of this function (i.e., your old patch)? I think this should be enough as of now to fix this specific issue.","commit_id":"ae587d1d275640573c0e6bff8e0b9a58ace3e34c"}]}
