)]}'
{"engines/ep/src/checkpoint.cc":[{"author":{"_account_id":1004341,"name":"Ben Huddleston","email":"ben.huddleston@couchbase.com","username":"BenHuddleston","avatars":[{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0bface9d03823f18376397ca71b334ec2af6b22a","unresolved":true,"context_lines":[{"line_number":306,"context_line":"                                pPrevCheckpoint-\u003egetMutationIdForKey(key,"},{"line_number":307,"context_line":"                                                                     false))};"},{"line_number":308,"context_line":"                keyIndex[key] \u003d entry;"},{"line_number":309,"context_line":"                newEntryMemOverhead +\u003d getItemOverhead(*rit);"},{"line_number":310,"context_line":"                ++numItems;"},{"line_number":311,"context_line":"                ++numNewItems;"},{"line_number":312,"context_line":""}],"source_content_type":"text/x-c","patch_set":11,"id":"9f974dfd_83997053","line":309,"range":{"start_line":309,"start_character":39,"end_line":309,"end_character":61},"updated":"2020-11-10 14:18:54.000000000","message":"Was this previously incorrect?","commit_id":"722c42c1ea2c2d88776a100dcea19260b060c11f"},{"author":{"_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0c22811b1802ddbe2267a593a6ab026ec953cddd","unresolved":true,"context_lines":[{"line_number":108,"context_line":"      memOverhead(0),"},{"line_number":109,"context_line":"      memOverheadChangedCallback(memOverheadChangedCallback),"},{"line_number":110,"context_line":"      effectiveMemUsage(0) {"},{"line_number":111,"context_line":"    stats.coreLocal.get()-\u003ememOverhead.fetch_add(memorySize());"},{"line_number":112,"context_line":"}"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Checkpoint::~Checkpoint() {"}],"source_content_type":"text/x-c","patch_set":14,"id":"78a3925a_0241e367","line":111,"updated":"2020-11-10 16:38:22.000000000","message":"Do you want to invoke the overhead callback in the ctor (probably by memorySize() )?","commit_id":"d9391815129818d1d1113162ccd2930a33f96a65"},{"author":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c65688f9616c171ba3670d20c6f0b09216de8046","unresolved":false,"context_lines":[{"line_number":108,"context_line":"      memOverhead(0),"},{"line_number":109,"context_line":"      memOverheadChangedCallback(memOverheadChangedCallback),"},{"line_number":110,"context_line":"      effectiveMemUsage(0) {"},{"line_number":111,"context_line":"    stats.coreLocal.get()-\u003ememOverhead.fetch_add(memorySize());"},{"line_number":112,"context_line":"}"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Checkpoint::~Checkpoint() {"}],"source_content_type":"text/x-c","patch_set":14,"id":"1eccaee0_c54f045a","line":111,"in_reply_to":"78a3925a_0241e367","updated":"2020-11-10 16:47:50.000000000","message":"Done","commit_id":"d9391815129818d1d1113162ccd2930a33f96a65"}],"engines/ep/src/checkpoint.h":[{"author":{"_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0c22811b1802ddbe2267a593a6ab026ec953cddd","unresolved":true,"context_lines":[{"line_number":354,"context_line":"               uint64_t snapStart,"},{"line_number":355,"context_line":"               uint64_t snapEnd,"},{"line_number":356,"context_line":"               uint16_t vbid,"},{"line_number":357,"context_line":"               const std::function\u003cvoid(int64_t delta)\u003e\u0026"},{"line_number":358,"context_line":"                       memOverheadChangedCallback);"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"    ~Checkpoint();"}],"source_content_type":"text/x-csrc","patch_set":14,"id":"4b71ab43_663518c7","line":357,"updated":"2020-11-10 16:38:22.000000000","message":"This new callback should be documented somewhere. There isn\u0027t currently a comment explicitly for the ctor, but you could add some words to the class description above.","commit_id":"d9391815129818d1d1113162ccd2930a33f96a65"},{"author":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c65688f9616c171ba3670d20c6f0b09216de8046","unresolved":false,"context_lines":[{"line_number":354,"context_line":"               uint64_t snapStart,"},{"line_number":355,"context_line":"               uint64_t snapEnd,"},{"line_number":356,"context_line":"               uint16_t vbid,"},{"line_number":357,"context_line":"               const std::function\u003cvoid(int64_t delta)\u003e\u0026"},{"line_number":358,"context_line":"                       memOverheadChangedCallback);"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"    ~Checkpoint();"}],"source_content_type":"text/x-csrc","patch_set":14,"id":"4c026830_0b905df3","line":357,"in_reply_to":"4b71ab43_663518c7","updated":"2020-11-10 16:47:50.000000000","message":"Indeed - added a short description, can expand if it\u0027s too brief","commit_id":"d9391815129818d1d1113162ccd2930a33f96a65"},{"author":{"_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0c22811b1802ddbe2267a593a6ab026ec953cddd","unresolved":true,"context_lines":[{"line_number":586,"context_line":"    /**"},{"line_number":587,"context_line":"     * Increase the tracked overhead of the checkpoint. See getMemoryOverhead"},{"line_number":588,"context_line":"     */"},{"line_number":589,"context_line":"    void increaseMemoryOverhead(size_t delta) {"},{"line_number":590,"context_line":"        memOverhead +\u003d delta;"},{"line_number":591,"context_line":"        memOverheadChangedCallback(delta);"},{"line_number":592,"context_line":"    }"}],"source_content_type":"text/x-csrc","patch_set":14,"id":"c738d542_c3a723a9","line":589,"updated":"2020-11-10 16:38:22.000000000","message":"Should this be public?","commit_id":"d9391815129818d1d1113162ccd2930a33f96a65"},{"author":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c65688f9616c171ba3670d20c6f0b09216de8046","unresolved":false,"context_lines":[{"line_number":586,"context_line":"    /**"},{"line_number":587,"context_line":"     * Increase the tracked overhead of the checkpoint. See getMemoryOverhead"},{"line_number":588,"context_line":"     */"},{"line_number":589,"context_line":"    void increaseMemoryOverhead(size_t delta) {"},{"line_number":590,"context_line":"        memOverhead +\u003d delta;"},{"line_number":591,"context_line":"        memOverheadChangedCallback(delta);"},{"line_number":592,"context_line":"    }"}],"source_content_type":"text/x-csrc","patch_set":14,"id":"69ef2803_9ba8dc99","line":589,"in_reply_to":"c738d542_c3a723a9","updated":"2020-11-10 16:47:50.000000000","message":"No, done.","commit_id":"d9391815129818d1d1113162ccd2930a33f96a65"}],"engines/ep/src/ephemeral_bucket.cc":[{"author":{"_account_id":1004341,"name":"Ben Huddleston","email":"ben.huddleston@couchbase.com","username":"BenHuddleston","avatars":[{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"172789f347b70cd0a6e15fa6d7eff1e63f1566ff","unresolved":true,"context_lines":[{"line_number":152,"context_line":"    // As such, \u0027pageable\u0027 memory is non-replica memmory."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    // We don\u0027t directly track \"active_mem_used\", but we can roughtly estimate"},{"line_number":155,"context_line":"    // it from mem_used - replica_ht_mem - replica_checkpoint_mem"},{"line_number":156,"context_line":"    const size_t estimatedActiveMemory \u003d"},{"line_number":157,"context_line":"            stats.getEstimatedTotalMemoryUsed() - stats.replicaTotalMemory;"},{"line_number":158,"context_line":"    return estimatedActiveMemory;"}],"source_content_type":"text/x-c","patch_set":6,"id":"726f33a9_a7d7829c","line":155,"range":{"start_line":155,"start_character":43,"end_line":155,"end_character":65},"updated":"2020-10-30 11:51:10.000000000","message":"Did you intend to add this too? Looks like we\u0027re just tracking HT mem.","commit_id":"e59061051ba90e6f2ac215f966323c92c0d00d88"},{"author":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"af6c02e7ad85c0e0454870aadb5126da6253df90","unresolved":true,"context_lines":[{"line_number":152,"context_line":"    // As such, \u0027pageable\u0027 memory is non-replica memmory."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    // We don\u0027t directly track \"active_mem_used\", but we can roughtly estimate"},{"line_number":155,"context_line":"    // it from mem_used - replica_ht_mem - replica_checkpoint_mem"},{"line_number":156,"context_line":"    const size_t estimatedActiveMemory \u003d"},{"line_number":157,"context_line":"            stats.getEstimatedTotalMemoryUsed() - stats.replicaTotalMemory;"},{"line_number":158,"context_line":"    return estimatedActiveMemory;"}],"source_content_type":"text/x-c","patch_set":6,"id":"f8a074f7_db28727f","line":155,"range":{"start_line":155,"start_character":43,"end_line":155,"end_character":65},"in_reply_to":"726f33a9_a7d7829c","updated":"2020-10-30 14:20:17.000000000","message":"Hmmm. Probably _should_ do, but the current replica checkpoint mem stat is from a vb visitor, which wouldn\u0027t be great. Could do a similar thing to the hash table callback for the checkpoint manager to track it directly instead.\n\nIn general, would eph replica checkpoints even be of notable size? There\u0027s no persistence cursor, and only views should be streaming from replicas :philosoraptor:","commit_id":"e59061051ba90e6f2ac215f966323c92c0d00d88"},{"author":{"_account_id":1004341,"name":"Ben Huddleston","email":"ben.huddleston@couchbase.com","username":"BenHuddleston","avatars":[{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"52b597caddd4a0ea2f4e502310bc71bcacbc027b","unresolved":true,"context_lines":[{"line_number":152,"context_line":"    // As such, \u0027pageable\u0027 memory is non-replica memmory."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    // We don\u0027t directly track \"active_mem_used\", but we can roughtly estimate"},{"line_number":155,"context_line":"    // it from mem_used - replica_ht_mem - replica_checkpoint_mem"},{"line_number":156,"context_line":"    const size_t estimatedActiveMemory \u003d"},{"line_number":157,"context_line":"            stats.getEstimatedTotalMemoryUsed() - stats.replicaTotalMemory;"},{"line_number":158,"context_line":"    return estimatedActiveMemory;"}],"source_content_type":"text/x-c","patch_set":6,"id":"67d4ab0d_996a6acf","line":155,"range":{"start_line":155,"start_character":43,"end_line":155,"end_character":65},"in_reply_to":"f8a074f7_db28727f","updated":"2020-10-30 14:28:17.000000000","message":"Views, and also \"disk\" checkpoint (backfills) coud lead to us having (at some points in time) fairly large replica checkpoints in ephemeral","commit_id":"e59061051ba90e6f2ac215f966323c92c0d00d88"},{"author":{"_account_id":1004341,"name":"Ben Huddleston","email":"ben.huddleston@couchbase.com","username":"BenHuddleston","avatars":[{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"172789f347b70cd0a6e15fa6d7eff1e63f1566ff","unresolved":true,"context_lines":[{"line_number":159,"context_line":"}"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"size_t EphemeralBucket::getPageableMemHighWatermark() const {"},{"line_number":162,"context_line":"    // Ephemeral buckets can only page out non-replica memory (see comments"},{"line_number":163,"context_line":"    // in getPageableMemCurrent). As such, set pagable high watermark to"},{"line_number":164,"context_line":"    // a fraction of the overall high watermark based on what faction of"},{"line_number":165,"context_line":"    // vBuckets are active."},{"line_number":166,"context_line":"    const double activeVBCount \u003d vbMap.getVBStateCount(vbucket_state_active);"},{"line_number":167,"context_line":"    const double pendingVBCount \u003d vbMap.getVBStateCount(vbucket_state_pending);"},{"line_number":168,"context_line":"    const double replicaVBCount \u003d vbMap.getVBStateCount(vbucket_state_replica);"}],"source_content_type":"text/x-c","patch_set":6,"id":"bc4eedd0_3eacaa1e","line":165,"range":{"start_line":162,"start_character":3,"end_line":165,"end_character":27},"updated":"2020-10-30 11:51:10.000000000","message":"I can undertand why you might not want to include dead vBuckets here (their memory should be freed when their last use is) but it may be worth adding to the comment.","commit_id":"e59061051ba90e6f2ac215f966323c92c0d00d88"},{"author":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"af6c02e7ad85c0e0454870aadb5126da6253df90","unresolved":false,"context_lines":[{"line_number":159,"context_line":"}"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"size_t EphemeralBucket::getPageableMemHighWatermark() const {"},{"line_number":162,"context_line":"    // Ephemeral buckets can only page out non-replica memory (see comments"},{"line_number":163,"context_line":"    // in getPageableMemCurrent). As such, set pagable high watermark to"},{"line_number":164,"context_line":"    // a fraction of the overall high watermark based on what faction of"},{"line_number":165,"context_line":"    // vBuckets are active."},{"line_number":166,"context_line":"    const double activeVBCount \u003d vbMap.getVBStateCount(vbucket_state_active);"},{"line_number":167,"context_line":"    const double pendingVBCount \u003d vbMap.getVBStateCount(vbucket_state_pending);"},{"line_number":168,"context_line":"    const double replicaVBCount \u003d vbMap.getVBStateCount(vbucket_state_replica);"}],"source_content_type":"text/x-c","patch_set":6,"id":"499efeab_71d375e2","line":165,"range":{"start_line":162,"start_character":3,"end_line":165,"end_character":27},"in_reply_to":"bc4eedd0_3eacaa1e","updated":"2020-10-30 14:20:17.000000000","message":"Done","commit_id":"e59061051ba90e6f2ac215f966323c92c0d00d88"},{"author":{"_account_id":1004341,"name":"Ben Huddleston","email":"ben.huddleston@couchbase.com","username":"BenHuddleston","avatars":[{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"172789f347b70cd0a6e15fa6d7eff1e63f1566ff","unresolved":true,"context_lines":[{"line_number":176,"context_line":"}"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"size_t EphemeralBucket::getPageableMemLowWatermark() const {"},{"line_number":179,"context_line":"    // Ephemeral buckets can only page out non-replica memory (see comments"},{"line_number":180,"context_line":"    // in getPageableMemCurrent). As such, set pagable low watermark to"},{"line_number":181,"context_line":"    // a fraction of the overall low watermark based on what faction of"},{"line_number":182,"context_line":"    // vBuckets are active."},{"line_number":183,"context_line":"    const double activeVBCount \u003d vbMap.getVBStateCount(vbucket_state_active);"},{"line_number":184,"context_line":"    const double pendingVBCount \u003d vbMap.getVBStateCount(vbucket_state_pending);"},{"line_number":185,"context_line":"    const double replicaVBCount \u003d vbMap.getVBStateCount(vbucket_state_replica);"}],"source_content_type":"text/x-c","patch_set":6,"id":"49292440_604786ae","line":182,"range":{"start_line":179,"start_character":0,"end_line":182,"end_character":27},"updated":"2020-10-30 11:51:10.000000000","message":"same as above comment","commit_id":"e59061051ba90e6f2ac215f966323c92c0d00d88"},{"author":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"af6c02e7ad85c0e0454870aadb5126da6253df90","unresolved":false,"context_lines":[{"line_number":176,"context_line":"}"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"size_t EphemeralBucket::getPageableMemLowWatermark() const {"},{"line_number":179,"context_line":"    // Ephemeral buckets can only page out non-replica memory (see comments"},{"line_number":180,"context_line":"    // in getPageableMemCurrent). As such, set pagable low watermark to"},{"line_number":181,"context_line":"    // a fraction of the overall low watermark based on what faction of"},{"line_number":182,"context_line":"    // vBuckets are active."},{"line_number":183,"context_line":"    const double activeVBCount \u003d vbMap.getVBStateCount(vbucket_state_active);"},{"line_number":184,"context_line":"    const double pendingVBCount \u003d vbMap.getVBStateCount(vbucket_state_pending);"},{"line_number":185,"context_line":"    const double replicaVBCount \u003d vbMap.getVBStateCount(vbucket_state_replica);"}],"source_content_type":"text/x-c","patch_set":6,"id":"d5c18421_a5fa4b73","line":182,"range":{"start_line":179,"start_character":0,"end_line":182,"end_character":27},"in_reply_to":"49292440_604786ae","updated":"2020-10-30 14:20:17.000000000","message":"Done","commit_id":"e59061051ba90e6f2ac215f966323c92c0d00d88"}],"engines/ep/src/item_pager.cc":[{"author":{"_account_id":1004341,"name":"Ben Huddleston","email":"ben.huddleston@couchbase.com","username":"BenHuddleston","avatars":[{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"172789f347b70cd0a6e15fa6d7eff1e63f1566ff","unresolved":true,"context_lines":[{"line_number":248,"context_line":"            double p \u003d (current - static_cast\u003cdouble\u003e(lower)) / current;"},{"line_number":249,"context_line":"            adjustPercent(p, vb-\u003egetState());"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"            LOG(EXTENSION_LOG_NOTICE,"},{"line_number":252,"context_line":"                \"PagingVisitor::visitBucket() vb:%d current:%f lower:%f p:%f \""},{"line_number":253,"context_line":"                \"percent:%f\","},{"line_number":254,"context_line":"                vb-\u003egetId(),"}],"source_content_type":"text/x-c","patch_set":6,"id":"f0557928_ce090a3a","line":251,"range":{"start_line":251,"start_character":16,"end_line":251,"end_character":36},"updated":"2020-10-30 11:51:10.000000000","message":"Should this be notice level? Feels like more of a debug level message","commit_id":"e59061051ba90e6f2ac215f966323c92c0d00d88"},{"author":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"af6c02e7ad85c0e0454870aadb5126da6253df90","unresolved":false,"context_lines":[{"line_number":248,"context_line":"            double p \u003d (current - static_cast\u003cdouble\u003e(lower)) / current;"},{"line_number":249,"context_line":"            adjustPercent(p, vb-\u003egetState());"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"            LOG(EXTENSION_LOG_NOTICE,"},{"line_number":252,"context_line":"                \"PagingVisitor::visitBucket() vb:%d current:%f lower:%f p:%f \""},{"line_number":253,"context_line":"                \"percent:%f\","},{"line_number":254,"context_line":"                vb-\u003egetId(),"}],"source_content_type":"text/x-c","patch_set":6,"id":"8018e547_bcdb3972","line":251,"range":{"start_line":251,"start_character":16,"end_line":251,"end_character":36},"in_reply_to":"f0557928_ce090a3a","updated":"2020-10-30 14:20:17.000000000","message":"Done","commit_id":"e59061051ba90e6f2ac215f966323c92c0d00d88"}],"engines/ep/src/stats.h":[{"author":{"_account_id":1004341,"name":"Ben Huddleston","email":"ben.huddleston@couchbase.com","username":"BenHuddleston","avatars":[{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"172789f347b70cd0a6e15fa6d7eff1e63f1566ff","unresolved":true,"context_lines":[{"line_number":243,"context_line":"    // counters merge their info, this could be negative"},{"line_number":244,"context_line":"    cb::CachelinePadded\u003cCouchbase::RelaxedAtomic\u003cint64_t\u003e\u003e estimatedTotalMemory;"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    Couchbase::RelaxedAtomic\u003cint64_t\u003e replicaTotalMemory;"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    //! Core-local statistics"},{"line_number":249,"context_line":"    CoreStore\u003ccb::CachelinePadded\u003cCoreLocalStats\u003e\u003e coreLocal;"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"b8061866_ba5e01cb","line":246,"range":{"start_line":246,"start_character":0,"end_line":246,"end_character":3},"updated":"2020-10-30 11:51:10.000000000","message":"prbably deserves a comment","commit_id":"e59061051ba90e6f2ac215f966323c92c0d00d88"},{"author":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"af6c02e7ad85c0e0454870aadb5126da6253df90","unresolved":false,"context_lines":[{"line_number":243,"context_line":"    // counters merge their info, this could be negative"},{"line_number":244,"context_line":"    cb::CachelinePadded\u003cCouchbase::RelaxedAtomic\u003cint64_t\u003e\u003e estimatedTotalMemory;"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    Couchbase::RelaxedAtomic\u003cint64_t\u003e replicaTotalMemory;"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    //! Core-local statistics"},{"line_number":249,"context_line":"    CoreStore\u003ccb::CachelinePadded\u003cCoreLocalStats\u003e\u003e coreLocal;"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"8b072790_0fec42a5","line":246,"range":{"start_line":246,"start_character":0,"end_line":246,"end_character":3},"in_reply_to":"b8061866_ba5e01cb","updated":"2020-10-30 14:20:17.000000000","message":"Done","commit_id":"e59061051ba90e6f2ac215f966323c92c0d00d88"}],"engines/ep/tests/module_tests/item_pager_test.cc":[{"author":{"_account_id":1004341,"name":"Ben Huddleston","email":"ben.huddleston@couchbase.com","username":"BenHuddleston","avatars":[{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ccb3e7e3b52c3d14e759d1b4c0507a3b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"172789f347b70cd0a6e15fa6d7eff1e63f1566ff","unresolved":true,"context_lines":[{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    // Add a document to both the active and pending vbucket."},{"line_number":308,"context_line":"    const std::string value(512, \u0027x\u0027); // 512B value to use for documents."},{"line_number":309,"context_line":"    for (int ii \u003d 0; ii \u003c 20; ii++) {"},{"line_number":310,"context_line":"        auto key \u003d makeStoredDocKey(\"key_\" + std::to_string(ii));"},{"line_number":311,"context_line":"        auto activeItem \u003d make_item(activeVB, key, value);"},{"line_number":312,"context_line":"        auto pendingItem \u003d make_item(pendingVB, key, value);"}],"source_content_type":"text/x-c","patch_set":6,"id":"d07f67d5_de335e4f","line":309,"range":{"start_line":309,"start_character":0,"end_line":309,"end_character":10},"updated":"2020-10-30 11:51:10.000000000","message":"necessary change?","commit_id":"e59061051ba90e6f2ac215f966323c92c0d00d88"},{"author":{"_account_id":1003828,"name":"James H","email":"james.harrison@couchbase.com","username":"jameseh96","avatars":[{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/70d2875f461e17e71a2a16972681c794.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"af6c02e7ad85c0e0454870aadb5126da6253df90","unresolved":true,"context_lines":[{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    // Add a document to both the active and pending vbucket."},{"line_number":308,"context_line":"    const std::string value(512, \u0027x\u0027); // 512B value to use for documents."},{"line_number":309,"context_line":"    for (int ii \u003d 0; ii \u003c 20; ii++) {"},{"line_number":310,"context_line":"        auto key \u003d makeStoredDocKey(\"key_\" + std::to_string(ii));"},{"line_number":311,"context_line":"        auto activeItem \u003d make_item(activeVB, key, value);"},{"line_number":312,"context_line":"        auto pendingItem \u003d make_item(pendingVB, key, value);"}],"source_content_type":"text/x-c","patch_set":6,"id":"ac8422c0_3fd8c921","line":309,"range":{"start_line":309,"start_character":0,"end_line":309,"end_character":10},"in_reply_to":"d07f67d5_de335e4f","updated":"2020-10-30 14:20:17.000000000","message":"Yes - should probably comment it.\n\nWithout it, this test doesn\u0027t add enough items to active vbuckets to trigger eviction for ephemeral","commit_id":"e59061051ba90e6f2ac215f966323c92c0d00d88"}]}
