diff --git a/Makefile b/Makefile
index 92bcc104ee2a2a1ed13b0db37931ca4e377b3101..305066816e498c30f799064d462c009d93ff0a2e 100644
--- a/Makefile
+++ b/Makefile
@@ -6760,7 +6760,6 @@ LIBEND2END_TESTS_SRC = \
     test/core/end2end/end2end_tests.c \
     test/core/end2end/tests/bad_hostname.c \
     test/core/end2end/tests/binary_metadata.c \
-    test/core/end2end/tests/buffer_pool_client.c \
     test/core/end2end/tests/buffer_pool_server.c \
     test/core/end2end/tests/call_creds.c \
     test/core/end2end/tests/cancel_after_accept.c \
@@ -6845,7 +6844,6 @@ LIBEND2END_NOSEC_TESTS_SRC = \
     test/core/end2end/end2end_nosec_tests.c \
     test/core/end2end/tests/bad_hostname.c \
     test/core/end2end/tests/binary_metadata.c \
-    test/core/end2end/tests/buffer_pool_client.c \
     test/core/end2end/tests/buffer_pool_server.c \
     test/core/end2end/tests/cancel_after_accept.c \
     test/core/end2end/tests/cancel_after_client_done.c \
diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c
index 13241f6abe2a447cc5c91b1ca493248a36b93754..74dab8b5888f596b840014d1035f5c2a1b9ec858 100644
--- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c
+++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c
@@ -2131,15 +2131,17 @@ static void benign_reclaimer_locked(grpc_exec_ctx *exec_ctx, void *arg,
     }
     send_goaway(exec_ctx, t, GRPC_CHTTP2_ENHANCE_YOUR_CALM,
                 gpr_slice_from_static_string("Buffers full"));
-  } else if (grpc_buffer_pool_trace) {
+  } else if (error == GRPC_ERROR_NONE && grpc_buffer_pool_trace) {
     gpr_log(GPR_DEBUG,
             "HTTP2: %s - skip benign reclaimation, there are still %" PRIdPTR
             " streams",
             t->peer_string, grpc_chttp2_stream_map_size(&t->stream_map));
   }
   t->benign_reclaimer_registered = false;
-  grpc_buffer_user_finish_reclaimation(exec_ctx,
-                                       grpc_endpoint_get_buffer_user(t->ep));
+  if (error != GRPC_ERROR_CANCELLED) {
+    grpc_buffer_user_finish_reclaimation(exec_ctx,
+                                         grpc_endpoint_get_buffer_user(t->ep));
+  }
   GRPC_CHTTP2_UNREF_TRANSPORT(exec_ctx, t, "benign_reclaimer");
 }
 
@@ -2162,8 +2164,10 @@ static void destructive_reclaimer_locked(grpc_exec_ctx *exec_ctx, void *arg,
       post_destructive_reclaimer(exec_ctx, t);
     }
   }
-  grpc_buffer_user_finish_reclaimation(exec_ctx,
-                                       grpc_endpoint_get_buffer_user(t->ep));
+  if (error != GRPC_ERROR_CANCELLED) {
+    grpc_buffer_user_finish_reclaimation(exec_ctx,
+                                         grpc_endpoint_get_buffer_user(t->ep));
+  }
   GRPC_CHTTP2_UNREF_TRANSPORT(exec_ctx, t, "destructive_reclaimer");
 }
 
diff --git a/src/core/lib/iomgr/buffer_pool.c b/src/core/lib/iomgr/buffer_pool.c
index cfa171684b8b83ef8f52e3d03c665710f290ac76..1809d2120e8bba8edc5b8ec823ffd4ad3aa04c73 100644
--- a/src/core/lib/iomgr/buffer_pool.c
+++ b/src/core/lib/iomgr/buffer_pool.c
@@ -242,6 +242,7 @@ static bool bpreclaim(grpc_exec_ctx *exec_ctx, grpc_buffer_pool *buffer_pool,
             buffer_user->name, destructive ? "destructive" : "benign");
   }
   buffer_pool->reclaiming = true;
+  grpc_buffer_pool_internal_ref(buffer_pool);
   grpc_closure *c = buffer_user->reclaimers[destructive];
   buffer_user->reclaimers[destructive] = NULL;
   grpc_closure_run(exec_ctx, c, GRPC_ERROR_NONE);
@@ -402,6 +403,7 @@ static void bp_reclaimation_done(grpc_exec_ctx *exec_ctx, void *bp,
   grpc_buffer_pool *buffer_pool = bp;
   buffer_pool->reclaiming = false;
   bpstep_sched(exec_ctx, buffer_pool);
+  grpc_buffer_pool_internal_unref(exec_ctx, buffer_pool);
 }
 
 /*******************************************************************************
diff --git a/src/core/lib/surface/call.c b/src/core/lib/surface/call.c
index 6b2badf71bd2f7b9ce22bd9e2a0c7dd59ada248a..ed5546270b64659ff853d63b44dbfc3a9a7c6ac3 100644
--- a/src/core/lib/surface/call.c
+++ b/src/core/lib/surface/call.c
@@ -1553,8 +1553,10 @@ static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx,
               call, STATUS_FROM_API_OVERRIDE,
               GRPC_MDSTR_REF(call->send_extra_metadata[1].md->value));
         }
-        set_status_code(call, STATUS_FROM_API_OVERRIDE,
-                        (uint32_t)op->data.send_status_from_server.status);
+        if (op->data.send_status_from_server.status != GRPC_STATUS_OK) {
+          set_status_code(call, STATUS_FROM_API_OVERRIDE,
+                          (uint32_t)op->data.send_status_from_server.status);
+        }
         if (!prepare_application_metadata(
                 call,
                 (int)op->data.send_status_from_server.trailing_metadata_count,
diff --git a/test/core/end2end/end2end_nosec_tests.c b/test/core/end2end/end2end_nosec_tests.c
index aa38641a84931edf99479449aaaedcdd613eaa2b..1c9332acc171871c365da8fcb052b35e344174de 100644
--- a/test/core/end2end/end2end_nosec_tests.c
+++ b/test/core/end2end/end2end_nosec_tests.c
@@ -47,8 +47,6 @@ extern void bad_hostname(grpc_end2end_test_config config);
 extern void bad_hostname_pre_init(void);
 extern void binary_metadata(grpc_end2end_test_config config);
 extern void binary_metadata_pre_init(void);
-extern void buffer_pool_client(grpc_end2end_test_config config);
-extern void buffer_pool_client_pre_init(void);
 extern void buffer_pool_server(grpc_end2end_test_config config);
 extern void buffer_pool_server_pre_init(void);
 extern void cancel_after_accept(grpc_end2end_test_config config);
@@ -139,7 +137,6 @@ void grpc_end2end_tests_pre_init(void) {
   g_pre_init_called = true;
   bad_hostname_pre_init();
   binary_metadata_pre_init();
-  buffer_pool_client_pre_init();
   buffer_pool_server_pre_init();
   cancel_after_accept_pre_init();
   cancel_after_client_done_pre_init();
@@ -193,7 +190,6 @@ void grpc_end2end_tests(int argc, char **argv,
   if (argc <= 1) {
     bad_hostname(config);
     binary_metadata(config);
-    buffer_pool_client(config);
     buffer_pool_server(config);
     cancel_after_accept(config);
     cancel_after_client_done(config);
@@ -248,10 +244,6 @@ void grpc_end2end_tests(int argc, char **argv,
       binary_metadata(config);
       continue;
     }
-    if (0 == strcmp("buffer_pool_client", argv[i])) {
-      buffer_pool_client(config);
-      continue;
-    }
     if (0 == strcmp("buffer_pool_server", argv[i])) {
       buffer_pool_server(config);
       continue;
diff --git a/test/core/end2end/end2end_tests.c b/test/core/end2end/end2end_tests.c
index cbd194dee184a506fae2afce954f45f3a1df493a..cf0e4c8316d8dba54b9f7cbbf16055f2670b9909 100644
--- a/test/core/end2end/end2end_tests.c
+++ b/test/core/end2end/end2end_tests.c
@@ -47,8 +47,6 @@ extern void bad_hostname(grpc_end2end_test_config config);
 extern void bad_hostname_pre_init(void);
 extern void binary_metadata(grpc_end2end_test_config config);
 extern void binary_metadata_pre_init(void);
-extern void buffer_pool_client(grpc_end2end_test_config config);
-extern void buffer_pool_client_pre_init(void);
 extern void buffer_pool_server(grpc_end2end_test_config config);
 extern void buffer_pool_server_pre_init(void);
 extern void call_creds(grpc_end2end_test_config config);
@@ -141,7 +139,6 @@ void grpc_end2end_tests_pre_init(void) {
   g_pre_init_called = true;
   bad_hostname_pre_init();
   binary_metadata_pre_init();
-  buffer_pool_client_pre_init();
   buffer_pool_server_pre_init();
   call_creds_pre_init();
   cancel_after_accept_pre_init();
@@ -196,7 +193,6 @@ void grpc_end2end_tests(int argc, char **argv,
   if (argc <= 1) {
     bad_hostname(config);
     binary_metadata(config);
-    buffer_pool_client(config);
     buffer_pool_server(config);
     call_creds(config);
     cancel_after_accept(config);
@@ -252,10 +248,6 @@ void grpc_end2end_tests(int argc, char **argv,
       binary_metadata(config);
       continue;
     }
-    if (0 == strcmp("buffer_pool_client", argv[i])) {
-      buffer_pool_client(config);
-      continue;
-    }
     if (0 == strcmp("buffer_pool_server", argv[i])) {
       buffer_pool_server(config);
       continue;
diff --git a/test/core/end2end/gen_build_yaml.py b/test/core/end2end/gen_build_yaml.py
index 4675b02edb5aed7a92c5974df865659b5f9139a4..fef82a16193ea37b6375aff788998f7b48f99650 100755
--- a/test/core/end2end/gen_build_yaml.py
+++ b/test/core/end2end/gen_build_yaml.py
@@ -88,7 +88,6 @@ LOWCPU = 0.1
 END2END_TESTS = {
     'bad_hostname': default_test_options,
     'binary_metadata': default_test_options,
-    'buffer_pool_client': default_test_options,
     'buffer_pool_server': default_test_options,
     'call_creds': default_test_options._replace(secure=True),
     'cancel_after_accept': default_test_options._replace(cpu_cost=LOWCPU),
diff --git a/test/core/end2end/tests/buffer_pool_client.c b/test/core/end2end/tests/buffer_pool_client.c
deleted file mode 100644
index 27753d7d5662a5c3a3453d5f8c1ca67bcd210114..0000000000000000000000000000000000000000
--- a/test/core/end2end/tests/buffer_pool_client.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- *
- * Copyright 2016, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "test/core/end2end/end2end_tests.h"
-
-#include <stdio.h>
-#include <string.h>
-
-#include <grpc/byte_buffer.h>
-#include <grpc/support/alloc.h>
-#include <grpc/support/log.h>
-#include <grpc/support/time.h>
-#include <grpc/support/useful.h>
-#include "test/core/end2end/cq_verifier.h"
-
-static void *tag(intptr_t t) { return (void *)t; }
-
-static grpc_end2end_test_fixture begin_test(grpc_end2end_test_config config,
-                                            const char *test_name,
-                                            grpc_channel_args *client_args,
-                                            grpc_channel_args *server_args) {
-  grpc_end2end_test_fixture f;
-  gpr_log(GPR_INFO, "%s/%s", test_name, config.name);
-  f = config.create_fixture(client_args, server_args);
-  config.init_server(&f, server_args);
-  config.init_client(&f, client_args);
-  return f;
-}
-
-static gpr_timespec n_seconds_time(int n) {
-  return GRPC_TIMEOUT_SECONDS_TO_DEADLINE(n);
-}
-
-static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); }
-
-static void drain_cq(grpc_completion_queue *cq) {
-  grpc_event ev;
-  do {
-    ev = grpc_completion_queue_next(cq, five_seconds_time(), NULL);
-  } while (ev.type != GRPC_QUEUE_SHUTDOWN);
-}
-
-static void shutdown_server(grpc_end2end_test_fixture *f) {
-  if (!f->server) return;
-  grpc_server_shutdown_and_notify(f->server, f->cq, tag(1000));
-  GPR_ASSERT(grpc_completion_queue_pluck(
-                 f->cq, tag(1000), GRPC_TIMEOUT_SECONDS_TO_DEADLINE(5), NULL)
-                 .type == GRPC_OP_COMPLETE);
-  grpc_server_destroy(f->server);
-  f->server = NULL;
-}
-
-static void shutdown_client(grpc_end2end_test_fixture *f) {
-  if (!f->client) return;
-  grpc_channel_destroy(f->client);
-  f->client = NULL;
-}
-
-static void end_test(grpc_end2end_test_fixture *f) {
-  shutdown_server(f);
-  shutdown_client(f);
-
-  grpc_completion_queue_shutdown(f->cq);
-  drain_cq(f->cq);
-  grpc_completion_queue_destroy(f->cq);
-}
-
-void buffer_pool_client(grpc_end2end_test_config config) {
-  grpc_end2end_test_fixture f =
-      begin_test(config, "buffer_pool_client", NULL, NULL);
-  end_test(&f);
-  config.tear_down_data(&f);
-}
-
-void buffer_pool_client_pre_init(void) {}
diff --git a/test/core/end2end/tests/buffer_pool_server.c b/test/core/end2end/tests/buffer_pool_server.c
index 70e42d28f4427e5baaf80bdc7077418b7bde035b..40117c99b16e74da33cac39446926898fd4be993 100644
--- a/test/core/end2end/tests/buffer_pool_server.c
+++ b/test/core/end2end/tests/buffer_pool_server.c
@@ -253,6 +253,11 @@ void buffer_pool_server(grpc_end2end_test_config config) {
           abort();
       }
       GPR_ASSERT(pending_client_calls > 0);
+
+      grpc_metadata_array_destroy(&initial_metadata_recv[call_id]);
+      grpc_metadata_array_destroy(&trailing_metadata_recv[call_id]);
+      grpc_call_destroy(client_calls[call_id]);
+
       pending_client_calls--;
     } else if (ev_tag < SERVER_RECV_BASE_TAG) {
       /* new incoming call to the server */
@@ -280,12 +285,23 @@ void buffer_pool_server(grpc_end2end_test_config config) {
       GPR_ASSERT(pending_server_start_calls > 0);
       pending_server_start_calls--;
       pending_server_recv_calls++;
+
+      grpc_call_details_destroy(&call_details[call_id]);
     } else if (ev_tag < SERVER_END_BASE_TAG) {
       /* finished read on the server */
       int call_id = ev_tag - SERVER_RECV_BASE_TAG;
       GPR_ASSERT(call_id >= 0);
       GPR_ASSERT(call_id < NUM_CALLS);
 
+      if (ev.success) {
+        if (request_payload_recv[call_id] != NULL) {
+          grpc_byte_buffer_destroy(request_payload_recv[call_id]);
+          request_payload_recv[call_id] = NULL;
+        }
+      } else {
+        GPR_ASSERT(request_payload_recv[call_id] == NULL);
+      }
+
       memset(ops, 0, sizeof(ops));
       op = ops;
       op->op = GRPC_OP_RECV_CLOSE_ON_SERVER;
@@ -318,6 +334,8 @@ void buffer_pool_server(grpc_end2end_test_config config) {
       }
       GPR_ASSERT(pending_server_end_calls > 0);
       pending_server_end_calls--;
+
+      grpc_call_destroy(server_calls[call_id]);
     }
   }
 
@@ -326,6 +344,8 @@ void buffer_pool_server(grpc_end2end_test_config config) {
       "Done. %d total calls: %d cancelled at server, %d cancelled at client.",
       NUM_CALLS, cancelled_calls_on_server, cancelled_calls_on_client);
 
+  GPR_ASSERT(cancelled_calls_on_client == cancelled_calls_on_server);
+
   end_test(&f);
   config.tear_down_data(&f);
 }
diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json
index 99d6e0bcd22509f4979bb24643e0e496d2984c87..fd888f9abba76ddb85fbdc251ae72f8a7f3d80c7 100644
--- a/tools/run_tests/sources_and_headers.json
+++ b/tools/run_tests/sources_and_headers.json
@@ -5636,7 +5636,6 @@
       "test/core/end2end/end2end_tests.h", 
       "test/core/end2end/tests/bad_hostname.c", 
       "test/core/end2end/tests/binary_metadata.c", 
-      "test/core/end2end/tests/buffer_pool_client.c", 
       "test/core/end2end/tests/buffer_pool_server.c", 
       "test/core/end2end/tests/call_creds.c", 
       "test/core/end2end/tests/cancel_after_accept.c", 
@@ -5703,7 +5702,6 @@
       "test/core/end2end/end2end_tests.h", 
       "test/core/end2end/tests/bad_hostname.c", 
       "test/core/end2end/tests/binary_metadata.c", 
-      "test/core/end2end/tests/buffer_pool_client.c", 
       "test/core/end2end/tests/buffer_pool_server.c", 
       "test/core/end2end/tests/cancel_after_accept.c", 
       "test/core/end2end/tests/cancel_after_client_done.c", 
diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json
index cc7b98168a768af1a04b0c6cf79d670e21e94050..b68966eac787b159d9359ae2ba275acf5a16dbca 100644
--- a/tools/run_tests/tests.json
+++ b/tools/run_tests/tests.json
@@ -4582,28 +4582,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_census_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -5594,28 +5572,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_compress_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -6604,27 +6560,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_fakesec_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -7568,26 +7503,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "linux", 
-      "mac", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_fd_test", 
-    "platforms": [
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -8392,28 +8307,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_full_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -9392,22 +9285,6 @@
       "linux"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "linux"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_full+pipe_test", 
-    "platforms": [
-      "linux"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -10140,28 +10017,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_full+trace_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -11106,27 +10961,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_http_proxy_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -12074,28 +11908,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_load_reporting_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -13084,27 +12896,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_oauth2_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -14050,27 +13841,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_proxy_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -14890,27 +14660,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_sockpair_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -15753,7 +15502,7 @@
   }, 
   {
     "args": [
-      "buffer_pool_client"
+      "buffer_pool_server"
     ], 
     "ci_platforms": [
       "windows", 
@@ -15774,7 +15523,7 @@
   }, 
   {
     "args": [
-      "buffer_pool_server"
+      "call_creds"
     ], 
     "ci_platforms": [
       "windows", 
@@ -15795,14 +15544,14 @@
   }, 
   {
     "args": [
-      "call_creds"
+      "cancel_after_accept"
     ], 
     "ci_platforms": [
       "windows", 
       "linux", 
       "posix"
     ], 
-    "cpu_cost": 1.0, 
+    "cpu_cost": 0.1, 
     "exclude_configs": [], 
     "flaky": false, 
     "language": "c", 
@@ -15816,14 +15565,14 @@
   }, 
   {
     "args": [
-      "cancel_after_accept"
+      "cancel_after_client_done"
     ], 
     "ci_platforms": [
       "windows", 
       "linux", 
       "posix"
     ], 
-    "cpu_cost": 0.1, 
+    "cpu_cost": 1.0, 
     "exclude_configs": [], 
     "flaky": false, 
     "language": "c", 
@@ -15837,14 +15586,14 @@
   }, 
   {
     "args": [
-      "cancel_after_client_done"
+      "cancel_after_invoke"
     ], 
     "ci_platforms": [
       "windows", 
       "linux", 
       "posix"
     ], 
-    "cpu_cost": 1.0, 
+    "cpu_cost": 0.1, 
     "exclude_configs": [], 
     "flaky": false, 
     "language": "c", 
@@ -15858,28 +15607,7 @@
   }, 
   {
     "args": [
-      "cancel_after_invoke"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "posix"
-    ], 
-    "cpu_cost": 0.1, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_sockpair+trace_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
-  {
-    "args": [
-      "cancel_before_invoke"
+      "cancel_before_invoke"
     ], 
     "ci_platforms": [
       "windows", 
@@ -16570,27 +16298,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_sockpair_1byte_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -17433,28 +17140,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_ssl_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -18445,28 +18130,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_ssl_cert_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -19455,27 +19118,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_ssl_proxy_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -20293,26 +19935,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "linux", 
-      "mac", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_uds_test", 
-    "platforms": [
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -21197,28 +20819,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_census_nosec_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -22187,28 +21787,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_compress_nosec_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -23173,26 +22751,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "linux", 
-      "mac", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_fd_nosec_test", 
-    "platforms": [
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -23977,28 +23535,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_full_nosec_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -24955,22 +24491,6 @@
       "linux"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "linux"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_full+pipe_nosec_test", 
-    "platforms": [
-      "linux"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -25687,28 +25207,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_full+trace_nosec_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -26631,27 +26129,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_http_proxy_nosec_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -27578,28 +27055,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_load_reporting_nosec_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -28566,27 +28021,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_proxy_nosec_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -29385,27 +28819,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_sockpair_nosec_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -30225,27 +29638,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_sockpair+trace_nosec_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -31027,29 +30419,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "windows", 
-      "linux", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [
-      "msan"
-    ], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_sockpair_1byte_nosec_test", 
-    "platforms": [
-      "windows", 
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
@@ -31941,26 +31310,6 @@
       "posix"
     ]
   }, 
-  {
-    "args": [
-      "buffer_pool_client"
-    ], 
-    "ci_platforms": [
-      "linux", 
-      "mac", 
-      "posix"
-    ], 
-    "cpu_cost": 1.0, 
-    "exclude_configs": [], 
-    "flaky": false, 
-    "language": "c", 
-    "name": "h2_uds_nosec_test", 
-    "platforms": [
-      "linux", 
-      "mac", 
-      "posix"
-    ]
-  }, 
   {
     "args": [
       "buffer_pool_server"
diff --git a/vsprojects/vcxproj/test/end2end/tests/end2end_nosec_tests/end2end_nosec_tests.vcxproj b/vsprojects/vcxproj/test/end2end/tests/end2end_nosec_tests/end2end_nosec_tests.vcxproj
index c9b6c359009607dbdb1358a5a993fd382e7518ca..f2665cc39f6237332d3cecbc6ede176e071af834 100644
--- a/vsprojects/vcxproj/test/end2end/tests/end2end_nosec_tests/end2end_nosec_tests.vcxproj
+++ b/vsprojects/vcxproj/test/end2end/tests/end2end_nosec_tests/end2end_nosec_tests.vcxproj
@@ -157,8 +157,6 @@
     </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\binary_metadata.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\buffer_pool_client.c">
-    </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\buffer_pool_server.c">
     </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\cancel_after_accept.c">
diff --git a/vsprojects/vcxproj/test/end2end/tests/end2end_nosec_tests/end2end_nosec_tests.vcxproj.filters b/vsprojects/vcxproj/test/end2end/tests/end2end_nosec_tests/end2end_nosec_tests.vcxproj.filters
index 828a4a7f8137b47052c38006b1568f83bd457f3a..a1ea12173d838b981bf36046e51d55394abdaa8c 100644
--- a/vsprojects/vcxproj/test/end2end/tests/end2end_nosec_tests/end2end_nosec_tests.vcxproj.filters
+++ b/vsprojects/vcxproj/test/end2end/tests/end2end_nosec_tests/end2end_nosec_tests.vcxproj.filters
@@ -10,9 +10,6 @@
     <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\binary_metadata.c">
       <Filter>test\core\end2end\tests</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\buffer_pool_client.c">
-      <Filter>test\core\end2end\tests</Filter>
-    </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\buffer_pool_server.c">
       <Filter>test\core\end2end\tests</Filter>
     </ClCompile>
diff --git a/vsprojects/vcxproj/test/end2end/tests/end2end_tests/end2end_tests.vcxproj b/vsprojects/vcxproj/test/end2end/tests/end2end_tests/end2end_tests.vcxproj
index 5ab1d84132b7c98c0f5e57bd234ffce821019563..0b8c1666aea5f8e69028d6b6d9d38c682417459e 100644
--- a/vsprojects/vcxproj/test/end2end/tests/end2end_tests/end2end_tests.vcxproj
+++ b/vsprojects/vcxproj/test/end2end/tests/end2end_tests/end2end_tests.vcxproj
@@ -157,8 +157,6 @@
     </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\binary_metadata.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\buffer_pool_client.c">
-    </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\buffer_pool_server.c">
     </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\call_creds.c">
diff --git a/vsprojects/vcxproj/test/end2end/tests/end2end_tests/end2end_tests.vcxproj.filters b/vsprojects/vcxproj/test/end2end/tests/end2end_tests/end2end_tests.vcxproj.filters
index 34abc5e7fcaf57a2704b443f2d6d09ff8acdbfe2..8577b1652ab514d0c6c3b495d18fad4385f8772b 100644
--- a/vsprojects/vcxproj/test/end2end/tests/end2end_tests/end2end_tests.vcxproj.filters
+++ b/vsprojects/vcxproj/test/end2end/tests/end2end_tests/end2end_tests.vcxproj.filters
@@ -10,9 +10,6 @@
     <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\binary_metadata.c">
       <Filter>test\core\end2end\tests</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\buffer_pool_client.c">
-      <Filter>test\core\end2end\tests</Filter>
-    </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\buffer_pool_server.c">
       <Filter>test\core\end2end\tests</Filter>
     </ClCompile>