You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by ad...@apache.org on 2020/03/20 05:00:12 UTC

[kudu] branch master updated (fefb433 -> 60a4778)

This is an automated email from the ASF dual-hosted git repository.

adar pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git.


    from fefb433  rpc: use a lighter weight completion for sync RPCs
     new 9f382f7  client: avoid an extra construction of ColumnSchema
     new 60a4778  tell IWYU to keep all inclusions of kudu/client/shared_ptr.h

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 src/kudu/benchmarks/tpch/rpc_line_item_dao.h                    | 2 +-
 src/kudu/client/batcher.cc                                      | 2 +-
 src/kudu/client/batcher.h                                       | 2 +-
 src/kudu/client/client-test-util.h                              | 2 +-
 src/kudu/client/client-test.cc                                  | 2 +-
 src/kudu/client/partitioner-internal.h                          | 2 +-
 src/kudu/client/predicate-test.cc                               | 2 +-
 src/kudu/client/scan_token-internal.cc                          | 3 ++-
 src/kudu/client/scan_token-test.cc                              | 2 +-
 src/kudu/client/scanner-internal.h                              | 2 +-
 src/kudu/client/schema.cc                                       | 2 +-
 src/kudu/client/session-internal.h                              | 2 +-
 src/kudu/client/shared_ptr.h                                    | 2 +-
 src/kudu/client/table-internal.h                                | 2 +-
 src/kudu/integration-tests/all_types-itest.cc                   | 2 +-
 src/kudu/integration-tests/alter_table-randomized-test.cc       | 2 +-
 src/kudu/integration-tests/alter_table-test.cc                  | 2 +-
 src/kudu/integration-tests/auth_token_expire-itest.cc           | 3 ++-
 src/kudu/integration-tests/authz_token-itest.cc                 | 2 +-
 src/kudu/integration-tests/catalog_manager_tsk-itest.cc         | 2 +-
 src/kudu/integration-tests/client-negotiation-failover-itest.cc | 3 ++-
 src/kudu/integration-tests/client-stress-test.cc                | 2 +-
 src/kudu/integration-tests/client_failover-itest.cc             | 3 ++-
 src/kudu/integration-tests/cluster_verifier.cc                  | 3 ++-
 src/kudu/integration-tests/consistency-itest.cc                 | 2 +-
 src/kudu/integration-tests/create-table-itest.cc                | 2 +-
 src/kudu/integration-tests/create-table-stress-test.cc          | 3 +--
 src/kudu/integration-tests/decimal-itest.cc                     | 2 +-
 src/kudu/integration-tests/delete_table-itest.cc                | 2 +-
 src/kudu/integration-tests/disk_failure-itest.cc                | 3 ++-
 src/kudu/integration-tests/external_mini_cluster-itest-base.h   | 2 +-
 src/kudu/integration-tests/flex_partitioning-itest.cc           | 2 +-
 src/kudu/integration-tests/full_stack-insert-scan-test.cc       | 2 +-
 src/kudu/integration-tests/fuzz-itest.cc                        | 2 +-
 src/kudu/integration-tests/heavy-update-compaction-itest.cc     | 3 +--
 src/kudu/integration-tests/hms_itest-base.cc                    | 2 +-
 src/kudu/integration-tests/internal_mini_cluster-itest-base.h   | 2 +-
 src/kudu/integration-tests/linked_list-test.cc                  | 2 +-
 src/kudu/integration-tests/location_assignment-itest.cc         | 2 +-
 src/kudu/integration-tests/master-stress-test.cc                | 3 +--
 src/kudu/integration-tests/master_cert_authority-itest.cc       | 3 ++-
 src/kudu/integration-tests/master_failover-itest.cc             | 2 +-
 src/kudu/integration-tests/master_hms-itest.cc                  | 2 +-
 src/kudu/integration-tests/master_migration-itest.cc            | 2 +-
 src/kudu/integration-tests/master_replication-itest.cc          | 2 +-
 src/kudu/integration-tests/master_sentry-itest.cc               | 3 ++-
 src/kudu/integration-tests/open-readonly-fs-itest.cc            | 4 ++--
 src/kudu/integration-tests/raft_consensus-itest-base.cc         | 2 +-
 src/kudu/integration-tests/raft_consensus-itest.cc              | 2 +-
 src/kudu/integration-tests/raft_consensus_nonvoter-itest.cc     | 2 +-
 src/kudu/integration-tests/security-faults-itest.cc             | 2 +-
 src/kudu/integration-tests/security-itest.cc                    | 2 +-
 src/kudu/integration-tests/security-unknown-tsk-itest.cc        | 2 +-
 src/kudu/integration-tests/stop_tablet-itest.cc                 | 5 +++--
 src/kudu/integration-tests/tablet_copy-itest.cc                 | 2 +-
 src/kudu/integration-tests/tablet_history_gc-itest.cc           | 2 +-
 src/kudu/integration-tests/tablet_server_quiescing-itest.cc     | 2 +-
 src/kudu/integration-tests/test_workload.h                      | 2 +-
 src/kudu/integration-tests/ts_itest-base.h                      | 2 +-
 src/kudu/integration-tests/ts_recovery-itest.cc                 | 2 +-
 src/kudu/integration-tests/ts_sentry-itest.cc                   | 2 +-
 src/kudu/integration-tests/ts_tablet_manager-itest.cc           | 2 +-
 src/kudu/integration-tests/update_scan_delta_compact-test.cc    | 2 +-
 src/kudu/integration-tests/varchar-itest.cc                     | 2 +-
 src/kudu/integration-tests/version_migration-test.cc            | 2 +-
 src/kudu/integration-tests/write_throttling-itest.cc            | 2 +-
 src/kudu/mini-cluster/external_mini_cluster.h                   | 2 +-
 src/kudu/mini-cluster/internal_mini_cluster.h                   | 2 +-
 src/kudu/mini-cluster/mini_cluster.h                            | 2 +-
 src/kudu/tools/create-table-tool-test.cc                        | 2 +-
 src/kudu/tools/ksck_remote-test.cc                              | 2 +-
 src/kudu/tools/ksck_remote.h                                    | 2 +-
 src/kudu/tools/kudu-admin-test.cc                               | 2 +-
 src/kudu/tools/kudu-tool-test.cc                                | 2 +-
 src/kudu/tools/rebalancer_tool-test.cc                          | 2 +-
 src/kudu/tools/rebalancer_tool.h                                | 2 +-
 src/kudu/tools/table_scanner.h                                  | 2 +-
 src/kudu/tools/tool_action_common.cc                            | 3 ++-
 src/kudu/tools/tool_action_common.h                             | 2 +-
 src/kudu/tools/tool_action_hms.cc                               | 3 +--
 src/kudu/tools/tool_action_perf.cc                              | 2 +-
 src/kudu/tools/tool_action_table.cc                             | 2 +-
 src/kudu/tools/tool_action_tablet.cc                            | 2 +-
 src/kudu/tools/tool_replica_util.cc                             | 3 ++-
 src/kudu/tools/tool_replica_util.h                              | 2 +-
 85 files changed, 98 insertions(+), 91 deletions(-)


[kudu] 01/02: client: avoid an extra construction of ColumnSchema

Posted by ad...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

adar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git

commit 9f382f7aefb6a66a6962b0bdc4509f530975c56e
Author: Todd Lipcon <to...@apache.org>
AuthorDate: Mon Mar 2 23:10:51 2020 -0800

    client: avoid an extra construction of ColumnSchema
    
    KuduSchema::Column() was making an unnecessary copy of a ColumnSchema
    object, when it instead could just use a local reference. This showed up
    in my TSBS benchmark as an easily-addressed waste of CPU cycles.
    
    Change-Id: I695d760837fb529a549e83b5385a1df79f358697
    Reviewed-on: http://gerrit.cloudera.org:8080/15501
    Reviewed-by: Andrew Wong <aw...@cloudera.com>
    Reviewed-by: Bankim Bhavsar <ba...@cloudera.com>
    Reviewed-by: Adar Dembo <ad...@cloudera.com>
    Reviewed-by: Alexey Serbin <as...@cloudera.com>
    Tested-by: Todd Lipcon <to...@apache.org>
---
 src/kudu/client/schema.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/kudu/client/schema.cc b/src/kudu/client/schema.cc
index 1a9ea4c..24cab91 100644
--- a/src/kudu/client/schema.cc
+++ b/src/kudu/client/schema.cc
@@ -859,7 +859,7 @@ bool KuduSchema::Equals(const KuduSchema& other) const {
 }
 
 KuduColumnSchema KuduSchema::Column(size_t idx) const {
-  ColumnSchema col(schema_->column(idx));
+  const ColumnSchema& col = schema_->column(idx);
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
   KuduColumnStorageAttributes attrs(FromInternalEncodingType(col.attributes().encoding),


[kudu] 02/02: tell IWYU to keep all inclusions of kudu/client/shared_ptr.h

Posted by ad...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

adar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git

commit 60a47781aa05550b7f8ea9d46b6b2a32f754d19f
Author: Adar Dembo <ad...@cloudera.com>
AuthorDate: Thu Mar 19 00:15:53 2020 -0700

    tell IWYU to keep all inclusions of kudu/client/shared_ptr.h
    
    When IWYU is run with libc++, this header becomes yet another way to include
    <memory>, and IWYU thinks that's redundant with actual inclusions of
    <memory>. That's true in the context of the IWYU run, but not when actually
    building Kudu.
    
    Change-Id: Ic5ecd6b16542eb6b61e7f2b6c967048ab599ea93
    Reviewed-on: http://gerrit.cloudera.org:8080/15490
    Reviewed-by: Alexey Serbin <as...@cloudera.com>
    Tested-by: Adar Dembo <ad...@cloudera.com>
---
 src/kudu/benchmarks/tpch/rpc_line_item_dao.h                    | 2 +-
 src/kudu/client/batcher.cc                                      | 2 +-
 src/kudu/client/batcher.h                                       | 2 +-
 src/kudu/client/client-test-util.h                              | 2 +-
 src/kudu/client/client-test.cc                                  | 2 +-
 src/kudu/client/partitioner-internal.h                          | 2 +-
 src/kudu/client/predicate-test.cc                               | 2 +-
 src/kudu/client/scan_token-internal.cc                          | 3 ++-
 src/kudu/client/scan_token-test.cc                              | 2 +-
 src/kudu/client/scanner-internal.h                              | 2 +-
 src/kudu/client/session-internal.h                              | 2 +-
 src/kudu/client/shared_ptr.h                                    | 2 +-
 src/kudu/client/table-internal.h                                | 2 +-
 src/kudu/integration-tests/all_types-itest.cc                   | 2 +-
 src/kudu/integration-tests/alter_table-randomized-test.cc       | 2 +-
 src/kudu/integration-tests/alter_table-test.cc                  | 2 +-
 src/kudu/integration-tests/auth_token_expire-itest.cc           | 3 ++-
 src/kudu/integration-tests/authz_token-itest.cc                 | 2 +-
 src/kudu/integration-tests/catalog_manager_tsk-itest.cc         | 2 +-
 src/kudu/integration-tests/client-negotiation-failover-itest.cc | 3 ++-
 src/kudu/integration-tests/client-stress-test.cc                | 2 +-
 src/kudu/integration-tests/client_failover-itest.cc             | 3 ++-
 src/kudu/integration-tests/cluster_verifier.cc                  | 3 ++-
 src/kudu/integration-tests/consistency-itest.cc                 | 2 +-
 src/kudu/integration-tests/create-table-itest.cc                | 2 +-
 src/kudu/integration-tests/create-table-stress-test.cc          | 3 +--
 src/kudu/integration-tests/decimal-itest.cc                     | 2 +-
 src/kudu/integration-tests/delete_table-itest.cc                | 2 +-
 src/kudu/integration-tests/disk_failure-itest.cc                | 3 ++-
 src/kudu/integration-tests/external_mini_cluster-itest-base.h   | 2 +-
 src/kudu/integration-tests/flex_partitioning-itest.cc           | 2 +-
 src/kudu/integration-tests/full_stack-insert-scan-test.cc       | 2 +-
 src/kudu/integration-tests/fuzz-itest.cc                        | 2 +-
 src/kudu/integration-tests/heavy-update-compaction-itest.cc     | 3 +--
 src/kudu/integration-tests/hms_itest-base.cc                    | 2 +-
 src/kudu/integration-tests/internal_mini_cluster-itest-base.h   | 2 +-
 src/kudu/integration-tests/linked_list-test.cc                  | 2 +-
 src/kudu/integration-tests/location_assignment-itest.cc         | 2 +-
 src/kudu/integration-tests/master-stress-test.cc                | 3 +--
 src/kudu/integration-tests/master_cert_authority-itest.cc       | 3 ++-
 src/kudu/integration-tests/master_failover-itest.cc             | 2 +-
 src/kudu/integration-tests/master_hms-itest.cc                  | 2 +-
 src/kudu/integration-tests/master_migration-itest.cc            | 2 +-
 src/kudu/integration-tests/master_replication-itest.cc          | 2 +-
 src/kudu/integration-tests/master_sentry-itest.cc               | 3 ++-
 src/kudu/integration-tests/open-readonly-fs-itest.cc            | 4 ++--
 src/kudu/integration-tests/raft_consensus-itest-base.cc         | 2 +-
 src/kudu/integration-tests/raft_consensus-itest.cc              | 2 +-
 src/kudu/integration-tests/raft_consensus_nonvoter-itest.cc     | 2 +-
 src/kudu/integration-tests/security-faults-itest.cc             | 2 +-
 src/kudu/integration-tests/security-itest.cc                    | 2 +-
 src/kudu/integration-tests/security-unknown-tsk-itest.cc        | 2 +-
 src/kudu/integration-tests/stop_tablet-itest.cc                 | 5 +++--
 src/kudu/integration-tests/tablet_copy-itest.cc                 | 2 +-
 src/kudu/integration-tests/tablet_history_gc-itest.cc           | 2 +-
 src/kudu/integration-tests/tablet_server_quiescing-itest.cc     | 2 +-
 src/kudu/integration-tests/test_workload.h                      | 2 +-
 src/kudu/integration-tests/ts_itest-base.h                      | 2 +-
 src/kudu/integration-tests/ts_recovery-itest.cc                 | 2 +-
 src/kudu/integration-tests/ts_sentry-itest.cc                   | 2 +-
 src/kudu/integration-tests/ts_tablet_manager-itest.cc           | 2 +-
 src/kudu/integration-tests/update_scan_delta_compact-test.cc    | 2 +-
 src/kudu/integration-tests/varchar-itest.cc                     | 2 +-
 src/kudu/integration-tests/version_migration-test.cc            | 2 +-
 src/kudu/integration-tests/write_throttling-itest.cc            | 2 +-
 src/kudu/mini-cluster/external_mini_cluster.h                   | 2 +-
 src/kudu/mini-cluster/internal_mini_cluster.h                   | 2 +-
 src/kudu/mini-cluster/mini_cluster.h                            | 2 +-
 src/kudu/tools/create-table-tool-test.cc                        | 2 +-
 src/kudu/tools/ksck_remote-test.cc                              | 2 +-
 src/kudu/tools/ksck_remote.h                                    | 2 +-
 src/kudu/tools/kudu-admin-test.cc                               | 2 +-
 src/kudu/tools/kudu-tool-test.cc                                | 2 +-
 src/kudu/tools/rebalancer_tool-test.cc                          | 2 +-
 src/kudu/tools/rebalancer_tool.h                                | 2 +-
 src/kudu/tools/table_scanner.h                                  | 2 +-
 src/kudu/tools/tool_action_common.cc                            | 3 ++-
 src/kudu/tools/tool_action_common.h                             | 2 +-
 src/kudu/tools/tool_action_hms.cc                               | 3 +--
 src/kudu/tools/tool_action_perf.cc                              | 2 +-
 src/kudu/tools/tool_action_table.cc                             | 2 +-
 src/kudu/tools/tool_action_tablet.cc                            | 2 +-
 src/kudu/tools/tool_replica_util.cc                             | 3 ++-
 src/kudu/tools/tool_replica_util.h                              | 2 +-
 84 files changed, 97 insertions(+), 90 deletions(-)

diff --git a/src/kudu/benchmarks/tpch/rpc_line_item_dao.h b/src/kudu/benchmarks/tpch/rpc_line_item_dao.h
index 3205be1..0ad115b 100644
--- a/src/kudu/benchmarks/tpch/rpc_line_item_dao.h
+++ b/src/kudu/benchmarks/tpch/rpc_line_item_dao.h
@@ -22,7 +22,7 @@
 #include <vector>
 
 #include "kudu/client/client.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/row_result.h"
 #include "kudu/util/locks.h"
 #include "kudu/util/monotime.h"
diff --git a/src/kudu/client/batcher.cc b/src/kudu/client/batcher.cc
index ba1d18b..da2e217 100644
--- a/src/kudu/client/batcher.cc
+++ b/src/kudu/client/batcher.cc
@@ -35,7 +35,7 @@
 #include "kudu/client/meta_cache.h"
 #include "kudu/client/schema.h"
 #include "kudu/client/session-internal.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op-internal.h"
 #include "kudu/client/write_op.h"
 #include "kudu/common/common.pb.h"
diff --git a/src/kudu/client/batcher.h b/src/kudu/client/batcher.h
index 4e72ec2..9523dca 100644
--- a/src/kudu/client/batcher.h
+++ b/src/kudu/client/batcher.h
@@ -25,7 +25,7 @@
 #include <sparsehash/dense_hash_set>
 
 #include "kudu/client/client.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/gutil/atomicops.h"
 #include "kudu/gutil/macros.h"
diff --git a/src/kudu/client/client-test-util.h b/src/kudu/client/client-test-util.h
index 5d8ee11..d8b580d 100644
--- a/src/kudu/client/client-test-util.h
+++ b/src/kudu/client/client-test-util.h
@@ -23,7 +23,7 @@
 #include <vector>
 
 #include "kudu/client/client.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/gutil/port.h"
 #include "kudu/util/status.h"
 
diff --git a/src/kudu/client/client-test.cc b/src/kudu/client/client-test.cc
index 511ebf6..fff963f 100644
--- a/src/kudu/client/client-test.cc
+++ b/src/kudu/client/client-test.cc
@@ -57,7 +57,7 @@
 #include "kudu/client/scanner-internal.h"
 #include "kudu/client/schema.h"
 #include "kudu/client/session-internal.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/value.h"
 #include "kudu/client/write_op.h"
 #include "kudu/clock/clock.h"
diff --git a/src/kudu/client/partitioner-internal.h b/src/kudu/client/partitioner-internal.h
index c09ede2..19a3840 100644
--- a/src/kudu/client/partitioner-internal.h
+++ b/src/kudu/client/partitioner-internal.h
@@ -21,7 +21,7 @@
 #include <utility>
 
 #include "kudu/client/client.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/util/monotime.h"
 #include "kudu/util/status.h"
 
diff --git a/src/kudu/client/predicate-test.cc b/src/kudu/client/predicate-test.cc
index eeb84f6..6feb7dc 100644
--- a/src/kudu/client/predicate-test.cc
+++ b/src/kudu/client/predicate-test.cc
@@ -37,7 +37,7 @@
 #include "kudu/client/scan_batch.h"
 #include "kudu/client/scan_predicate.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/value.h"
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
diff --git a/src/kudu/client/scan_token-internal.cc b/src/kudu/client/scan_token-internal.cc
index 86f73bb..aa94c10 100644
--- a/src/kudu/client/scan_token-internal.cc
+++ b/src/kudu/client/scan_token-internal.cc
@@ -20,6 +20,7 @@
 #include <cstdint>
 #include <memory>
 #include <string>
+#include <unordered_map>
 #include <utility>
 #include <vector>
 
@@ -32,7 +33,7 @@
 #include "kudu/client/replica-internal.h"
 #include "kudu/client/scanner-internal.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/tablet-internal.h"
 #include "kudu/client/tablet_server-internal.h"
 #include "kudu/common/column_predicate.h"
diff --git a/src/kudu/client/scan_token-test.cc b/src/kudu/client/scan_token-test.cc
index c247ddc..9d18bbd 100644
--- a/src/kudu/client/scan_token-test.cc
+++ b/src/kudu/client/scan_token-test.cc
@@ -36,7 +36,7 @@
 #include "kudu/client/scan_predicate.h"
 #include "kudu/client/scanner-internal.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/value.h"
 #include "kudu/client/write_op.h"
 #include "kudu/common/common.pb.h"
diff --git a/src/kudu/client/scanner-internal.h b/src/kudu/client/scanner-internal.h
index 194d504..f0d07a0 100644
--- a/src/kudu/client/scanner-internal.h
+++ b/src/kudu/client/scanner-internal.h
@@ -32,7 +32,7 @@
 #include "kudu/client/row_result.h"
 #include "kudu/client/scan_batch.h"
 #include "kudu/client/scan_configuration.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/partition_pruner.h"
 #include "kudu/common/wire_protocol.pb.h"
 #include "kudu/gutil/macros.h"
diff --git a/src/kudu/client/session-internal.h b/src/kudu/client/session-internal.h
index cbad1b3..e529f7d 100644
--- a/src/kudu/client/session-internal.h
+++ b/src/kudu/client/session-internal.h
@@ -26,7 +26,7 @@
 #include "kudu/client/batcher.h"
 #include "kudu/client/client.h"
 #include "kudu/client/error_collector.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/gutil/macros.h"
 #include "kudu/gutil/ref_counted.h"
 #include "kudu/util/condition_variable.h"
diff --git a/src/kudu/client/shared_ptr.h b/src/kudu/client/shared_ptr.h
index fa759f9..3a7cbd5 100644
--- a/src/kudu/client/shared_ptr.h
+++ b/src/kudu/client/shared_ptr.h
@@ -39,7 +39,7 @@
 
 #if defined(_LIBCPP_VERSION)
 
-#include <memory> // IWYU pragma: export
+#include <memory>
 
 namespace kudu {
 namespace client {
diff --git a/src/kudu/client/table-internal.h b/src/kudu/client/table-internal.h
index c1de109..724e4fd 100644
--- a/src/kudu/client/table-internal.h
+++ b/src/kudu/client/table-internal.h
@@ -24,7 +24,7 @@
 #include "kudu/client/scan_predicate.h"
 #include "kudu/client/scan_predicate-internal.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/partition.h"
 #include "kudu/common/schema.h"
 #include "kudu/gutil/macros.h"
diff --git a/src/kudu/integration-tests/all_types-itest.cc b/src/kudu/integration-tests/all_types-itest.cc
index f77d4c1..2d9bb1d 100644
--- a/src/kudu/integration-tests/all_types-itest.cc
+++ b/src/kudu/integration-tests/all_types-itest.cc
@@ -33,7 +33,7 @@
 #include "kudu/client/scan_batch.h"
 #include "kudu/client/schema-internal.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/common.pb.h"
 #include "kudu/common/partial_row.h"
diff --git a/src/kudu/integration-tests/alter_table-randomized-test.cc b/src/kudu/integration-tests/alter_table-randomized-test.cc
index 200b8fc..c80dafa 100644
--- a/src/kudu/integration-tests/alter_table-randomized-test.cc
+++ b/src/kudu/integration-tests/alter_table-randomized-test.cc
@@ -33,7 +33,7 @@
 #include "kudu/client/client-test-util.h"
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/value.h"
 #include "kudu/client/write_op.h"
 #include "kudu/common/common.pb.h"
diff --git a/src/kudu/integration-tests/alter_table-test.cc b/src/kudu/integration-tests/alter_table-test.cc
index c3f3507..269a452 100644
--- a/src/kudu/integration-tests/alter_table-test.cc
+++ b/src/kudu/integration-tests/alter_table-test.cc
@@ -37,7 +37,7 @@
 #include "kudu/client/row_result.h"
 #include "kudu/client/scan_batch.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/value.h"
 #include "kudu/client/write_op.h"
 #include "kudu/common/common.pb.h"
diff --git a/src/kudu/integration-tests/auth_token_expire-itest.cc b/src/kudu/integration-tests/auth_token_expire-itest.cc
index 6d8f64a..61f6091 100644
--- a/src/kudu/integration-tests/auth_token_expire-itest.cc
+++ b/src/kudu/integration-tests/auth_token_expire-itest.cc
@@ -20,6 +20,7 @@
 #include <memory>
 #include <ostream>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include <gflags/gflags_declare.h>
@@ -28,7 +29,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/consensus/consensus.pb.h"
diff --git a/src/kudu/integration-tests/authz_token-itest.cc b/src/kudu/integration-tests/authz_token-itest.cc
index 327df76..395702c 100644
--- a/src/kudu/integration-tests/authz_token-itest.cc
+++ b/src/kudu/integration-tests/authz_token-itest.cc
@@ -35,7 +35,7 @@
 #include "kudu/client/client.h"
 #include "kudu/client/client.pb.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/gutil/ref_counted.h"
diff --git a/src/kudu/integration-tests/catalog_manager_tsk-itest.cc b/src/kudu/integration-tests/catalog_manager_tsk-itest.cc
index ac196ea..567539a 100644
--- a/src/kudu/integration-tests/catalog_manager_tsk-itest.cc
+++ b/src/kudu/integration-tests/catalog_manager_tsk-itest.cc
@@ -33,7 +33,7 @@
 #include "kudu/client/client-test-util.h"
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/consensus/consensus.pb.h"
diff --git a/src/kudu/integration-tests/client-negotiation-failover-itest.cc b/src/kudu/integration-tests/client-negotiation-failover-itest.cc
index b991a84..b659543 100644
--- a/src/kudu/integration-tests/client-negotiation-failover-itest.cc
+++ b/src/kudu/integration-tests/client-negotiation-failover-itest.cc
@@ -20,6 +20,7 @@
 #include <ostream>
 #include <string>
 #include <thread>
+#include <utility>
 #include <vector>
 
 #include <gflags/gflags_declare.h>
@@ -28,7 +29,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/gutil/strings/substitute.h"
diff --git a/src/kudu/integration-tests/client-stress-test.cc b/src/kudu/integration-tests/client-stress-test.cc
index fbb35bb..8bd8ade 100644
--- a/src/kudu/integration-tests/client-stress-test.cc
+++ b/src/kudu/integration-tests/client-stress-test.cc
@@ -33,7 +33,7 @@
 #include "kudu/client/client-test-util.h"
 #include "kudu/client/client.h"
 #include "kudu/client/scan_predicate.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/value.h"
 #include "kudu/gutil/port.h"
 #include "kudu/gutil/strings/join.h"
diff --git a/src/kudu/integration-tests/client_failover-itest.cc b/src/kudu/integration-tests/client_failover-itest.cc
index fb23592..ec54ef4 100644
--- a/src/kudu/integration-tests/client_failover-itest.cc
+++ b/src/kudu/integration-tests/client_failover-itest.cc
@@ -20,6 +20,7 @@
 #include <set>
 #include <string>
 #include <unordered_map>
+#include <utility>
 #include <vector>
 
 #include <glog/logging.h>
@@ -27,7 +28,7 @@
 
 #include "kudu/client/client-test-util.h"
 #include "kudu/client/client.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/common/wire_protocol.h"
diff --git a/src/kudu/integration-tests/cluster_verifier.cc b/src/kudu/integration-tests/cluster_verifier.cc
index f5b8bd7..bc038fb 100644
--- a/src/kudu/integration-tests/cluster_verifier.cc
+++ b/src/kudu/integration-tests/cluster_verifier.cc
@@ -19,6 +19,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include <glog/logging.h>
@@ -26,7 +27,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/scan_batch.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/gutil/strings/substitute.h"
 #include "kudu/integration-tests/log_verifier.h"
 #include "kudu/mini-cluster/mini_cluster.h"
diff --git a/src/kudu/integration-tests/consistency-itest.cc b/src/kudu/integration-tests/consistency-itest.cc
index 731d6dc..9006cc4 100644
--- a/src/kudu/integration-tests/consistency-itest.cc
+++ b/src/kudu/integration-tests/consistency-itest.cc
@@ -34,7 +34,7 @@
 #include "kudu/client/scan_predicate.h"
 #include "kudu/client/scanner-internal.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/value.h"
 #include "kudu/client/write_op.h"
 #include "kudu/clock/clock.h"
diff --git a/src/kudu/integration-tests/create-table-itest.cc b/src/kudu/integration-tests/create-table-itest.cc
index 276e4fa..e5547fc 100644
--- a/src/kudu/integration-tests/create-table-itest.cc
+++ b/src/kudu/integration-tests/create-table-itest.cc
@@ -34,7 +34,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/common.pb.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/common/schema.h"
diff --git a/src/kudu/integration-tests/create-table-stress-test.cc b/src/kudu/integration-tests/create-table-stress-test.cc
index 7a147b1..8b6b83e 100644
--- a/src/kudu/integration-tests/create-table-stress-test.cc
+++ b/src/kudu/integration-tests/create-table-stress-test.cc
@@ -26,14 +26,13 @@
 
 #include <boost/optional/optional.hpp>
 #include <gflags/gflags.h>
-#include <gflags/gflags_declare.h>
 #include <glog/logging.h>
 #include <glog/stl_logging.h>
 #include <gtest/gtest.h>
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/common.pb.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/gutil/port.h"
diff --git a/src/kudu/integration-tests/decimal-itest.cc b/src/kudu/integration-tests/decimal-itest.cc
index e0eccbc..ba88d2e 100644
--- a/src/kudu/integration-tests/decimal-itest.cc
+++ b/src/kudu/integration-tests/decimal-itest.cc
@@ -25,7 +25,7 @@
 #include "kudu/client/client.h"
 #include "kudu/client/scan_batch.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/value.h"
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
diff --git a/src/kudu/integration-tests/delete_table-itest.cc b/src/kudu/integration-tests/delete_table-itest.cc
index 7086b86..fae8132 100644
--- a/src/kudu/integration-tests/delete_table-itest.cc
+++ b/src/kudu/integration-tests/delete_table-itest.cc
@@ -38,7 +38,7 @@
 #include "kudu/client/client.h"
 #include "kudu/client/scan_batch.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/partial_row.h"
 #include "kudu/common/schema.h"
 #include "kudu/common/wire_protocol-test-util.h"
diff --git a/src/kudu/integration-tests/disk_failure-itest.cc b/src/kudu/integration-tests/disk_failure-itest.cc
index e87a446..680baff 100644
--- a/src/kudu/integration-tests/disk_failure-itest.cc
+++ b/src/kudu/integration-tests/disk_failure-itest.cc
@@ -19,6 +19,7 @@
 #include <memory>
 #include <ostream>
 #include <string>
+#include <unordered_map>
 #include <utility>
 #include <vector>
 
@@ -27,7 +28,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/wire_protocol-test-util.h"
 #include "kudu/fs/block_manager.h"
 #include "kudu/gutil/strings/substitute.h"
diff --git a/src/kudu/integration-tests/external_mini_cluster-itest-base.h b/src/kudu/integration-tests/external_mini_cluster-itest-base.h
index 29c2c57..ef6e79e 100644
--- a/src/kudu/integration-tests/external_mini_cluster-itest-base.h
+++ b/src/kudu/integration-tests/external_mini_cluster-itest-base.h
@@ -22,7 +22,7 @@
 #include <unordered_map>
 #include <vector>
 
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/integration-tests/mini_cluster_fs_inspector.h"
 #include "kudu/mini-cluster/external_mini_cluster.h"
 #include "kudu/util/test_util.h"
diff --git a/src/kudu/integration-tests/flex_partitioning-itest.cc b/src/kudu/integration-tests/flex_partitioning-itest.cc
index 68ecc8e..4f6cca2 100644
--- a/src/kudu/integration-tests/flex_partitioning-itest.cc
+++ b/src/kudu/integration-tests/flex_partitioning-itest.cc
@@ -33,7 +33,7 @@
 
 #include "kudu/client/client-test-util.h"
 #include "kudu/client/client.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/scan_predicate.h"
 #include "kudu/client/schema.h"
 #include "kudu/client/value.h"
diff --git a/src/kudu/integration-tests/full_stack-insert-scan-test.cc b/src/kudu/integration-tests/full_stack-insert-scan-test.cc
index 6ea7ef9..b91949e 100644
--- a/src/kudu/integration-tests/full_stack-insert-scan-test.cc
+++ b/src/kudu/integration-tests/full_stack-insert-scan-test.cc
@@ -36,7 +36,7 @@
 #include "kudu/client/row_result.h"
 #include "kudu/client/scan_batch.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/codegen/compilation_manager.h"
 #include "kudu/common/partial_row.h"
diff --git a/src/kudu/integration-tests/fuzz-itest.cc b/src/kudu/integration-tests/fuzz-itest.cc
index 774ba1e..0aef94d 100644
--- a/src/kudu/integration-tests/fuzz-itest.cc
+++ b/src/kudu/integration-tests/fuzz-itest.cc
@@ -39,7 +39,7 @@
 #include "kudu/client/scan_batch.h"
 #include "kudu/client/scan_predicate.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/value.h"
 #include "kudu/client/write_op.h"
 #include "kudu/clock/clock.h"
diff --git a/src/kudu/integration-tests/heavy-update-compaction-itest.cc b/src/kudu/integration-tests/heavy-update-compaction-itest.cc
index 1168520..0f57ebf 100644
--- a/src/kudu/integration-tests/heavy-update-compaction-itest.cc
+++ b/src/kudu/integration-tests/heavy-update-compaction-itest.cc
@@ -22,7 +22,6 @@
 #include <vector>
 
 #include <gflags/gflags.h>
-#include <gflags/gflags_declare.h>
 #include <glog/logging.h>
 #include <gtest/gtest.h>
 
@@ -31,7 +30,7 @@
 #include "kudu/client/scan_batch.h"
 #include "kudu/client/scan_predicate.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/value.h"
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
diff --git a/src/kudu/integration-tests/hms_itest-base.cc b/src/kudu/integration-tests/hms_itest-base.cc
index 4660de9..6ba11ff 100644
--- a/src/kudu/integration-tests/hms_itest-base.cc
+++ b/src/kudu/integration-tests/hms_itest-base.cc
@@ -29,7 +29,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/gutil/strings/substitute.h"
 #include "kudu/hms/hive_metastore_types.h"
 #include "kudu/hms/hms_client.h"
diff --git a/src/kudu/integration-tests/internal_mini_cluster-itest-base.h b/src/kudu/integration-tests/internal_mini_cluster-itest-base.h
index ca20a42..7ac50fc 100644
--- a/src/kudu/integration-tests/internal_mini_cluster-itest-base.h
+++ b/src/kudu/integration-tests/internal_mini_cluster-itest-base.h
@@ -21,7 +21,7 @@
 #include <string>
 #include <unordered_map>
 
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/mini-cluster/internal_mini_cluster.h"
 #include "kudu/util/test_util.h"
 
diff --git a/src/kudu/integration-tests/linked_list-test.cc b/src/kudu/integration-tests/linked_list-test.cc
index 8aa545a..5d124cd 100644
--- a/src/kudu/integration-tests/linked_list-test.cc
+++ b/src/kudu/integration-tests/linked_list-test.cc
@@ -43,7 +43,7 @@
 #include <glog/logging.h>
 #include <gtest/gtest.h>
 
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/wire_protocol.pb.h"
 #include "kudu/gutil/port.h"
 #include "kudu/integration-tests/cluster_itest_util.h"
diff --git a/src/kudu/integration-tests/location_assignment-itest.cc b/src/kudu/integration-tests/location_assignment-itest.cc
index b4510ba..be4129e 100644
--- a/src/kudu/integration-tests/location_assignment-itest.cc
+++ b/src/kudu/integration-tests/location_assignment-itest.cc
@@ -29,7 +29,7 @@
 
 #include "kudu/client/client-test-util.h"
 #include "kudu/client/client.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/wire_protocol.pb.h"
 #include "kudu/gutil/map-util.h"
 #include "kudu/gutil/stl_util.h"
diff --git a/src/kudu/integration-tests/master-stress-test.cc b/src/kudu/integration-tests/master-stress-test.cc
index 815ab98..f8f0b0d 100644
--- a/src/kudu/integration-tests/master-stress-test.cc
+++ b/src/kudu/integration-tests/master-stress-test.cc
@@ -26,13 +26,12 @@
 #include <vector>
 
 #include <gflags/gflags.h>
-#include <gflags/gflags_declare.h>
 #include <glog/logging.h>
 #include <gtest/gtest.h>
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/common.pb.h"
 #include "kudu/common/table_util.h"
 #include "kudu/common/wire_protocol.h"
diff --git a/src/kudu/integration-tests/master_cert_authority-itest.cc b/src/kudu/integration-tests/master_cert_authority-itest.cc
index 491c9c4..15e02dd 100644
--- a/src/kudu/integration-tests/master_cert_authority-itest.cc
+++ b/src/kudu/integration-tests/master_cert_authority-itest.cc
@@ -21,6 +21,7 @@
 #include <ostream>
 #include <string>
 #include <thread>
+#include <utility>
 #include <vector>
 
 #include <boost/optional/optional.hpp>
@@ -30,7 +31,7 @@
 
 #include "kudu/client/client-internal.h"
 #include "kudu/client/client.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/common.pb.h"
 #include "kudu/common/wire_protocol.pb.h"
 #include "kudu/consensus/replica_management.pb.h"
diff --git a/src/kudu/integration-tests/master_failover-itest.cc b/src/kudu/integration-tests/master_failover-itest.cc
index 5bc3465..e50b2ff 100644
--- a/src/kudu/integration-tests/master_failover-itest.cc
+++ b/src/kudu/integration-tests/master_failover-itest.cc
@@ -29,7 +29,7 @@
 #include "kudu/client/client-test-util.h" // IWYU pragma: keep
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/common.pb.h"
 #include "kudu/gutil/port.h"
 #include "kudu/gutil/strings/split.h"
diff --git a/src/kudu/integration-tests/master_hms-itest.cc b/src/kudu/integration-tests/master_hms-itest.cc
index 3b3f026..67732ac 100644
--- a/src/kudu/integration-tests/master_hms-itest.cc
+++ b/src/kudu/integration-tests/master_hms-itest.cc
@@ -29,7 +29,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/common.pb.h"
 #include "kudu/common/table_util.h"
 #include "kudu/gutil/strings/substitute.h"
diff --git a/src/kudu/integration-tests/master_migration-itest.cc b/src/kudu/integration-tests/master_migration-itest.cc
index e6aa38e..afa33c8 100644
--- a/src/kudu/integration-tests/master_migration-itest.cc
+++ b/src/kudu/integration-tests/master_migration-itest.cc
@@ -25,7 +25,7 @@
 #include "kudu/client/client-test-util.h"
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/gutil/strings/strip.h"
 #include "kudu/gutil/strings/substitute.h"
 #include "kudu/master/sys_catalog.h"
diff --git a/src/kudu/integration-tests/master_replication-itest.cc b/src/kudu/integration-tests/master_replication-itest.cc
index cf6ed9c..c0d5cfd 100644
--- a/src/kudu/integration-tests/master_replication-itest.cc
+++ b/src/kudu/integration-tests/master_replication-itest.cc
@@ -29,7 +29,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/common.pb.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/common/wire_protocol.pb.h"
diff --git a/src/kudu/integration-tests/master_sentry-itest.cc b/src/kudu/integration-tests/master_sentry-itest.cc
index b9f0696..2fbbaac 100644
--- a/src/kudu/integration-tests/master_sentry-itest.cc
+++ b/src/kudu/integration-tests/master_sentry-itest.cc
@@ -18,6 +18,7 @@
 #include <atomic>
 #include <cstdlib>
 #include <functional>
+#include <initializer_list>
 #include <memory>
 #include <ostream>
 #include <string>
@@ -32,7 +33,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/common.pb.h"
 #include "kudu/common/table_util.h"
 #include "kudu/common/wire_protocol.h"
diff --git a/src/kudu/integration-tests/open-readonly-fs-itest.cc b/src/kudu/integration-tests/open-readonly-fs-itest.cc
index 461166d..f5eccfc 100644
--- a/src/kudu/integration-tests/open-readonly-fs-itest.cc
+++ b/src/kudu/integration-tests/open-readonly-fs-itest.cc
@@ -28,10 +28,10 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
-#include "kudu/fs/data_dirs.h"
+#include "kudu/fs/dir_manager.h"
 #include "kudu/fs/fs_manager.h"
 #include "kudu/gutil/strings/substitute.h"
 #include "kudu/mini-cluster/external_mini_cluster.h"
diff --git a/src/kudu/integration-tests/raft_consensus-itest-base.cc b/src/kudu/integration-tests/raft_consensus-itest-base.cc
index 73d2613..c8e420b 100644
--- a/src/kudu/integration-tests/raft_consensus-itest-base.cc
+++ b/src/kudu/integration-tests/raft_consensus-itest-base.cc
@@ -32,7 +32,7 @@
 
 #include "kudu/client/client-test-util.h"
 #include "kudu/client/client.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/common/wire_protocol.h"
diff --git a/src/kudu/integration-tests/raft_consensus-itest.cc b/src/kudu/integration-tests/raft_consensus-itest.cc
index b52c8e6..627b952 100644
--- a/src/kudu/integration-tests/raft_consensus-itest.cc
+++ b/src/kudu/integration-tests/raft_consensus-itest.cc
@@ -31,7 +31,7 @@
 #include <gtest/gtest.h>
 
 #include "kudu/client/client.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/common.pb.h"
 #include "kudu/common/partial_row.h"
diff --git a/src/kudu/integration-tests/raft_consensus_nonvoter-itest.cc b/src/kudu/integration-tests/raft_consensus_nonvoter-itest.cc
index 1392f20..3b8a981 100644
--- a/src/kudu/integration-tests/raft_consensus_nonvoter-itest.cc
+++ b/src/kudu/integration-tests/raft_consensus_nonvoter-itest.cc
@@ -33,7 +33,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/replica_controller-internal.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/consensus/consensus.pb.h"
 #include "kudu/consensus/metadata.pb.h"
 #include "kudu/consensus/quorum_util.h"
diff --git a/src/kudu/integration-tests/security-faults-itest.cc b/src/kudu/integration-tests/security-faults-itest.cc
index b64aac6..5607fd8 100644
--- a/src/kudu/integration-tests/security-faults-itest.cc
+++ b/src/kudu/integration-tests/security-faults-itest.cc
@@ -31,7 +31,7 @@
 #include "kudu/client/client-test-util.h"
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/gutil/strings/substitute.h"
diff --git a/src/kudu/integration-tests/security-itest.cc b/src/kudu/integration-tests/security-itest.cc
index 905adee..6ea9fe4 100644
--- a/src/kudu/integration-tests/security-itest.cc
+++ b/src/kudu/integration-tests/security-itest.cc
@@ -33,7 +33,7 @@
 #include "kudu/client/client.h"
 #include "kudu/client/client.pb.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/common/schema.h"
diff --git a/src/kudu/integration-tests/security-unknown-tsk-itest.cc b/src/kudu/integration-tests/security-unknown-tsk-itest.cc
index 6beffbf..f270db9 100644
--- a/src/kudu/integration-tests/security-unknown-tsk-itest.cc
+++ b/src/kudu/integration-tests/security-unknown-tsk-itest.cc
@@ -34,7 +34,7 @@
 #include "kudu/client/client.h"
 #include "kudu/client/row_result.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/gutil/stl_util.h"
diff --git a/src/kudu/integration-tests/stop_tablet-itest.cc b/src/kudu/integration-tests/stop_tablet-itest.cc
index 2b26d25..8afce12 100644
--- a/src/kudu/integration-tests/stop_tablet-itest.cc
+++ b/src/kudu/integration-tests/stop_tablet-itest.cc
@@ -15,10 +15,11 @@
 // specific language governing permissions and limitations
 // under the License.
 
+#include <cstdint>
 #include <memory>
 #include <ostream>
-#include <stdint.h>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include <gflags/gflags_declare.h>
@@ -26,7 +27,7 @@
 #include <gtest/gtest.h>
 
 #include "kudu/client/client.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/wire_protocol.pb.h"
 #include "kudu/gutil/ref_counted.h"
 #include "kudu/gutil/strings/substitute.h"
diff --git a/src/kudu/integration-tests/tablet_copy-itest.cc b/src/kudu/integration-tests/tablet_copy-itest.cc
index f3183c0..838826f 100644
--- a/src/kudu/integration-tests/tablet_copy-itest.cc
+++ b/src/kudu/integration-tests/tablet_copy-itest.cc
@@ -36,7 +36,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/partial_row.h"
 #include "kudu/common/wire_protocol-test-util.h"
 #include "kudu/common/wire_protocol.h"
diff --git a/src/kudu/integration-tests/tablet_history_gc-itest.cc b/src/kudu/integration-tests/tablet_history_gc-itest.cc
index 6f78057..53a7aae 100644
--- a/src/kudu/integration-tests/tablet_history_gc-itest.cc
+++ b/src/kudu/integration-tests/tablet_history_gc-itest.cc
@@ -34,7 +34,7 @@
 #include "kudu/client/client-test-util.h"
 #include "kudu/client/client.h"
 #include "kudu/client/scan_batch.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/clock/clock.h"
 #include "kudu/clock/hybrid_clock.h"
diff --git a/src/kudu/integration-tests/tablet_server_quiescing-itest.cc b/src/kudu/integration-tests/tablet_server_quiescing-itest.cc
index f01cfb1..f8158cc 100644
--- a/src/kudu/integration-tests/tablet_server_quiescing-itest.cc
+++ b/src/kudu/integration-tests/tablet_server_quiescing-itest.cc
@@ -29,7 +29,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/scan_batch.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/gutil/map-util.h"
 #include "kudu/gutil/ref_counted.h"
 #include "kudu/gutil/strings/substitute.h"
diff --git a/src/kudu/integration-tests/test_workload.h b/src/kudu/integration-tests/test_workload.h
index 48892b7..3c2c362 100644
--- a/src/kudu/integration-tests/test_workload.h
+++ b/src/kudu/integration-tests/test_workload.h
@@ -29,7 +29,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/gutil/macros.h"
 #include "kudu/util/atomic.h"
 #include "kudu/util/countdown_latch.h"
diff --git a/src/kudu/integration-tests/ts_itest-base.h b/src/kudu/integration-tests/ts_itest-base.h
index 4270555..b0ca73d 100644
--- a/src/kudu/integration-tests/ts_itest-base.h
+++ b/src/kudu/integration-tests/ts_itest-base.h
@@ -22,7 +22,7 @@
 #include <unordered_set>
 #include <vector>
 
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/integration-tests/cluster_itest_util.h"
 #include "kudu/integration-tests/mini_cluster_fs_inspector.h"
 #include "kudu/mini-cluster/external_mini_cluster.h"
diff --git a/src/kudu/integration-tests/ts_recovery-itest.cc b/src/kudu/integration-tests/ts_recovery-itest.cc
index 6b85f67..23f989e 100644
--- a/src/kudu/integration-tests/ts_recovery-itest.cc
+++ b/src/kudu/integration-tests/ts_recovery-itest.cc
@@ -32,7 +32,7 @@
 #include <gtest/gtest.h>
 
 #include "kudu/client/client.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/clock/hybrid_clock.h"
 #include "kudu/common/partial_row.h"
diff --git a/src/kudu/integration-tests/ts_sentry-itest.cc b/src/kudu/integration-tests/ts_sentry-itest.cc
index 85490d4..5553262 100644
--- a/src/kudu/integration-tests/ts_sentry-itest.cc
+++ b/src/kudu/integration-tests/ts_sentry-itest.cc
@@ -31,7 +31,7 @@
 #include "kudu/client/client.h"
 #include "kudu/client/scan_batch.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/common.pb.h"
 #include "kudu/common/partial_row.h"
diff --git a/src/kudu/integration-tests/ts_tablet_manager-itest.cc b/src/kudu/integration-tests/ts_tablet_manager-itest.cc
index f4be43d..859295b 100644
--- a/src/kudu/integration-tests/ts_tablet_manager-itest.cc
+++ b/src/kudu/integration-tests/ts_tablet_manager-itest.cc
@@ -35,7 +35,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/common/wire_protocol.h"
diff --git a/src/kudu/integration-tests/update_scan_delta_compact-test.cc b/src/kudu/integration-tests/update_scan_delta_compact-test.cc
index 7f9fdeb..80f6cc8 100644
--- a/src/kudu/integration-tests/update_scan_delta_compact-test.cc
+++ b/src/kudu/integration-tests/update_scan_delta_compact-test.cc
@@ -32,7 +32,7 @@
 #include "kudu/client/row_result.h"
 #include "kudu/client/scan_batch.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/gutil/port.h"
diff --git a/src/kudu/integration-tests/varchar-itest.cc b/src/kudu/integration-tests/varchar-itest.cc
index aab7623..89ba7dc 100644
--- a/src/kudu/integration-tests/varchar-itest.cc
+++ b/src/kudu/integration-tests/varchar-itest.cc
@@ -25,7 +25,7 @@
 #include "kudu/client/client.h"
 #include "kudu/client/scan_batch.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/integration-tests/external_mini_cluster-itest-base.h"
diff --git a/src/kudu/integration-tests/version_migration-test.cc b/src/kudu/integration-tests/version_migration-test.cc
index 26d1244..39ad6d9 100644
--- a/src/kudu/integration-tests/version_migration-test.cc
+++ b/src/kudu/integration-tests/version_migration-test.cc
@@ -26,7 +26,7 @@
 #include <glog/logging.h>
 #include <gtest/gtest.h>
 
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/integration-tests/linked_list-test-util.h"
 #include "kudu/integration-tests/log_verifier.h"
 #include "kudu/mini-cluster/external_mini_cluster.h"
diff --git a/src/kudu/integration-tests/write_throttling-itest.cc b/src/kudu/integration-tests/write_throttling-itest.cc
index f477c3a..8db7a2a 100644
--- a/src/kudu/integration-tests/write_throttling-itest.cc
+++ b/src/kudu/integration-tests/write_throttling-itest.cc
@@ -26,7 +26,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/integration-tests/external_mini_cluster-itest-base.h"
diff --git a/src/kudu/mini-cluster/external_mini_cluster.h b/src/kudu/mini-cluster/external_mini_cluster.h
index 3115bff..fdd8cc4 100644
--- a/src/kudu/mini-cluster/external_mini_cluster.h
+++ b/src/kudu/mini-cluster/external_mini_cluster.h
@@ -32,7 +32,7 @@
 #include <boost/optional/optional.hpp>
 #include <glog/logging.h>
 
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/common.pb.h"
 #include "kudu/gutil/macros.h"
 #include "kudu/gutil/port.h"
diff --git a/src/kudu/mini-cluster/internal_mini_cluster.h b/src/kudu/mini-cluster/internal_mini_cluster.h
index 6e127b7..284da93 100644
--- a/src/kudu/mini-cluster/internal_mini_cluster.h
+++ b/src/kudu/mini-cluster/internal_mini_cluster.h
@@ -24,7 +24,7 @@
 
 #include <glog/logging.h>
 
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/gutil/macros.h"
 #include "kudu/mini-cluster/mini_cluster.h"
 #include "kudu/util/net/net_util.h"
diff --git a/src/kudu/mini-cluster/mini_cluster.h b/src/kudu/mini-cluster/mini_cluster.h
index 9f52751..5283560 100644
--- a/src/kudu/mini-cluster/mini_cluster.h
+++ b/src/kudu/mini-cluster/mini_cluster.h
@@ -20,7 +20,7 @@
 #include <string>
 #include <vector>
 
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/util/net/net_util.h"
 #include "kudu/util/status.h"
 
diff --git a/src/kudu/tools/create-table-tool-test.cc b/src/kudu/tools/create-table-tool-test.cc
index c1c8d5c..7b38292 100644
--- a/src/kudu/tools/create-table-tool-test.cc
+++ b/src/kudu/tools/create-table-tool-test.cc
@@ -27,7 +27,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/partition.h"
 #include "kudu/common/schema.h"
 #include "kudu/gutil/port.h"
diff --git a/src/kudu/tools/ksck_remote-test.cc b/src/kudu/tools/ksck_remote-test.cc
index 55fe652..b2c940c 100644
--- a/src/kudu/tools/ksck_remote-test.cc
+++ b/src/kudu/tools/ksck_remote-test.cc
@@ -31,7 +31,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/gutil/macros.h"
diff --git a/src/kudu/tools/ksck_remote.h b/src/kudu/tools/ksck_remote.h
index b82e6f4..2528717 100644
--- a/src/kudu/tools/ksck_remote.h
+++ b/src/kudu/tools/ksck_remote.h
@@ -23,7 +23,7 @@
 #include <utility>
 #include <vector>
 
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/rpc/rpc_controller.h"
 #include "kudu/server/server_base.pb.h"
 #include "kudu/tools/ksck.h"
diff --git a/src/kudu/tools/kudu-admin-test.cc b/src/kudu/tools/kudu-admin-test.cc
index c40021e..466c9b2 100644
--- a/src/kudu/tools/kudu-admin-test.cc
+++ b/src/kudu/tools/kudu-admin-test.cc
@@ -38,7 +38,7 @@
 #include "kudu/client/client-test-util.h"
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/value.h"
 #include "kudu/client/write_op.h"
 #include "kudu/common/common.pb.h"
diff --git a/src/kudu/tools/kudu-tool-test.cc b/src/kudu/tools/kudu-tool-test.cc
index a88c602..c668ea8 100644
--- a/src/kudu/tools/kudu-tool-test.cc
+++ b/src/kudu/tools/kudu-tool-test.cc
@@ -49,7 +49,7 @@
 #include "kudu/client/client-test-util.h"
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/value.h"
 #include "kudu/client/write_op.h"
 #include "kudu/common/common.pb.h"
diff --git a/src/kudu/tools/rebalancer_tool-test.cc b/src/kudu/tools/rebalancer_tool-test.cc
index 53de5ea..70990f7 100644
--- a/src/kudu/tools/rebalancer_tool-test.cc
+++ b/src/kudu/tools/rebalancer_tool-test.cc
@@ -38,7 +38,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/consensus/consensus.pb.h"
 #include "kudu/consensus/consensus.proxy.h"
 #include "kudu/consensus/quorum_util.h"
diff --git a/src/kudu/tools/rebalancer_tool.h b/src/kudu/tools/rebalancer_tool.h
index 112b07c..b07ff6e 100644
--- a/src/kudu/tools/rebalancer_tool.h
+++ b/src/kudu/tools/rebalancer_tool.h
@@ -30,7 +30,7 @@
 
 #include <boost/optional/optional.hpp>
 
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/rebalance/rebalance_algo.h"
 #include "kudu/rebalance/rebalancer.h"
 #include "kudu/util/monotime.h"
diff --git a/src/kudu/tools/table_scanner.h b/src/kudu/tools/table_scanner.h
index fc5352e..eb11d79 100644
--- a/src/kudu/tools/table_scanner.h
+++ b/src/kudu/tools/table_scanner.h
@@ -29,7 +29,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/scan_batch.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/util/atomic.h"
 #include "kudu/util/mutex.h"
 #include "kudu/util/status.h"
diff --git a/src/kudu/tools/tool_action_common.cc b/src/kudu/tools/tool_action_common.cc
index 6b17cc8..161b696 100644
--- a/src/kudu/tools/tool_action_common.cc
+++ b/src/kudu/tools/tool_action_common.cc
@@ -28,6 +28,7 @@
 #include <stack>
 #include <string>
 #include <unordered_map>
+#include <utility>
 #include <vector>
 
 #include <boost/algorithm/string/predicate.hpp>
@@ -39,7 +40,7 @@
 #include "kudu/client/client-internal.h"  // IWYU pragma: keep
 #include "kudu/client/client.h"
 #include "kudu/client/master_proxy_rpc.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/common.pb.h"
 #include "kudu/common/row_operations.h"
 #include "kudu/common/schema.h"
diff --git a/src/kudu/tools/tool_action_common.h b/src/kudu/tools/tool_action_common.h
index c68e885..dfd2b99 100644
--- a/src/kudu/tools/tool_action_common.h
+++ b/src/kudu/tools/tool_action_common.h
@@ -23,7 +23,7 @@
 #include <string>
 #include <vector>
 
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/gutil/port.h"
 #include "kudu/gutil/ref_counted.h"
 #include "kudu/rpc/response_callback.h"
diff --git a/src/kudu/tools/tool_action_hms.cc b/src/kudu/tools/tool_action_hms.cc
index d659282..349a4b6 100644
--- a/src/kudu/tools/tool_action_hms.cc
+++ b/src/kudu/tools/tool_action_hms.cc
@@ -30,12 +30,11 @@
 #include <boost/algorithm/string/predicate.hpp>
 #include <boost/optional/optional.hpp>
 #include <gflags/gflags.h>
-#include <gflags/gflags_declare.h>
 #include <glog/logging.h>
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/schema.h"
 #include "kudu/gutil/map-util.h"
 #include "kudu/gutil/strings/split.h"
diff --git a/src/kudu/tools/tool_action_perf.cc b/src/kudu/tools/tool_action_perf.cc
index a547a26..fefa5e4 100644
--- a/src/kudu/tools/tool_action_perf.cc
+++ b/src/kudu/tools/tool_action_perf.cc
@@ -184,7 +184,7 @@
 
 #include "kudu/client/client.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/write_op.h"
 #include "kudu/clock/logical_clock.h"
 #include "kudu/common/common.pb.h"
diff --git a/src/kudu/tools/tool_action_table.cc b/src/kudu/tools/tool_action_table.cc
index adae19c..5f4b350 100644
--- a/src/kudu/tools/tool_action_table.cc
+++ b/src/kudu/tools/tool_action_table.cc
@@ -41,7 +41,7 @@
 #include "kudu/client/scan_batch.h"
 #include "kudu/client/scan_predicate.h"
 #include "kudu/client/schema.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/client/value.h"
 #include "kudu/common/partial_row.h"
 #include "kudu/common/partition.h"
diff --git a/src/kudu/tools/tool_action_tablet.cc b/src/kudu/tools/tool_action_tablet.cc
index 41c282b..2ec8588 100644
--- a/src/kudu/tools/tool_action_tablet.cc
+++ b/src/kudu/tools/tool_action_tablet.cc
@@ -27,7 +27,7 @@
 #include <gflags/gflags.h>
 
 #include "kudu/client/client.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/wire_protocol.h"
 #include "kudu/consensus/consensus.pb.h"
 #include "kudu/consensus/metadata.pb.h"
diff --git a/src/kudu/tools/tool_replica_util.cc b/src/kudu/tools/tool_replica_util.cc
index 986986e..d270195 100644
--- a/src/kudu/tools/tool_replica_util.cc
+++ b/src/kudu/tools/tool_replica_util.cc
@@ -22,12 +22,13 @@
 #include <iostream>
 #include <memory>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include <glog/logging.h>
 
 #include "kudu/client/client.h"
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/common/wire_protocol.h"
 #include "kudu/consensus/consensus.pb.h"
 #include "kudu/consensus/consensus.proxy.h"
diff --git a/src/kudu/tools/tool_replica_util.h b/src/kudu/tools/tool_replica_util.h
index 6c13e01..dbdb543 100644
--- a/src/kudu/tools/tool_replica_util.h
+++ b/src/kudu/tools/tool_replica_util.h
@@ -24,7 +24,7 @@
 
 #include <boost/optional/optional.hpp>
 
-#include "kudu/client/shared_ptr.h"
+#include "kudu/client/shared_ptr.h" // IWYU pragma: keep
 #include "kudu/consensus/consensus.pb.h"  // IWYU pragma: keep
 #include "kudu/consensus/metadata.pb.h"
 #include "kudu/util/status.h"