[BP] MB-20585: Fix memory leak 36/68936/3
authorJim Walker <jim@couchbase.com>
Wed, 19 Oct 2016 15:28:39 +0000 (16:28 +0100)
committerDave Rigby <daver@couchbase.com>
Thu, 20 Oct 2016 15:15:11 +0000 (15:15 +0000)
Only one of the MB-20585 fixes needs backporting and
a fix to two tests that came from watson->master merge
commit.

Orginal MB commit to master is a288f6c6
Test fix came from 0f532bce

Change-Id: I200706997df2d24a7629282e119b0ab8af2c4872
Reviewed-on: http://review.couchbase.org/68936
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>
src/connmap.cc
tests/module_tests/dcp_test.cc

index 457f2fd..82a667b 100644 (file)
@@ -1085,6 +1085,7 @@ void DcpConnMap::shutdownAllConnections() {
 
     if (connNotifier_ != NULL) {
         connNotifier_->stop();
+        manageConnections();
     }
 
     // Take a copy of the connection map (under lock), then using the
index 53a9e4b..c5eb313 100644 (file)
@@ -659,7 +659,9 @@ TEST_F(ConnectionTest, test_mb20716_connmap_notify_on_delete) {
     // 1. Simulate a bucket deletion.
     connMap.shutdownAllConnections();
 
-    EXPECT_EQ(1, notify_count)
+    // Can also get a second notify as part of manageConnections being called
+    // in shutdownAllConnections().
+    EXPECT_GE(notify_count, 1)
         << "expected one notify after shutting down all connections";
 
     // Restore notify_io_complete callback.
@@ -714,7 +716,7 @@ TEST_F(ConnectionTest, test_mb20716_connmap_notify_on_delete_consumer) {
     // 2. Simulate a bucket deletion.
     connMap.shutdownAllConnections();
 
-    EXPECT_EQ(1, notify_count)
+    EXPECT_GE(notify_count, 1)
         << "expected one notify after shutting down all connections";
 
     // Restore notify_io_complete callback.