)]}'
{"src/dcp-stream.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":"160330aa02353a88dbb68444c9ad3cac5abc7628","unresolved":false,"context_lines":[{"line_number":288,"context_line":"    RCPtr\u003cVBucket\u003e vbucket \u003d engine-\u003egetVBucket(vb);"},{"line_number":289,"context_line":"    if (vbucket) {"},{"line_number":290,"context_line":"        // An atomic read of vbucket state without acquiring the"},{"line_number":291,"context_line":"        // reader lock for state should suffice here."},{"line_number":292,"context_line":"        if (vbucket-\u003egetState() \u003d\u003d vbucket_state_replica) {"},{"line_number":293,"context_line":"            uint64_t snapshot_start, snapshot_end;"},{"line_number":294,"context_line":"            vbucket-\u003egetCurrentSnapshot(snapshot_start, snapshot_end);"}],"source_content_type":"text/x-c","patch_set":3,"id":"dded0539_e5ae9222","line":291,"updated":"2016-04-27 23:42:39.000000000","message":"Is this still OK if a vbucket state is changed from replica to active while this if clause is being executed?","commit_id":"e9497dafc32e4a744580ce0ab0896480906d6408"},{"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":"3b8ca4684efd5e0eb2d1a154d70cfa935c44c3da","unresolved":false,"context_lines":[{"line_number":288,"context_line":"    RCPtr\u003cVBucket\u003e vbucket \u003d engine-\u003egetVBucket(vb);"},{"line_number":289,"context_line":"    if (vbucket) {"},{"line_number":290,"context_line":"        // An atomic read of vbucket state without acquiring the"},{"line_number":291,"context_line":"        // reader lock for state should suffice here."},{"line_number":292,"context_line":"        if (vbucket-\u003egetState() \u003d\u003d vbucket_state_replica) {"},{"line_number":293,"context_line":"            uint64_t snapshot_start, snapshot_end;"},{"line_number":294,"context_line":"            vbucket-\u003egetCurrentSnapshot(snapshot_start, snapshot_end);"}],"source_content_type":"text/x-c","patch_set":3,"id":"dded0539_4573feed","line":291,"in_reply_to":"dded0539_e5ae9222","updated":"2016-04-28 00:05:20.000000000","message":"I believe it should be fine, because views are the only DCP client that can read from the replica at the moment. If the current vb\u0027s snapshot_end seqno is greater than the en_seqno specified, the producer would just stream the entire snapshot and close, as opposed to streaming till the specified en_seqno and closing in case of an active vbucket.","commit_id":"e9497dafc32e4a744580ce0ab0896480906d6408"}]}
