You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by al...@apache.org on 2017/08/21 21:03:50 UTC
[03/14] kudu git commit: [iwyu] first pass
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/tserver/ts_tablet_manager-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/tserver/ts_tablet_manager-test.cc b/src/kudu/tserver/ts_tablet_manager-test.cc
index 5b4934e4..84dc5f5 100644
--- a/src/kudu/tserver/ts_tablet_manager-test.cc
+++ b/src/kudu/tserver/ts_tablet_manager-test.cc
@@ -17,20 +17,36 @@
#include "kudu/tserver/ts_tablet_manager.h"
-#include <gtest/gtest.h>
+#include <cstdint>
+#include <ostream>
#include <string>
+#include <utility>
+#include <vector>
+
+#include <glog/logging.h>
+#include <gtest/gtest.h>
+#include "kudu/common/common.pb.h"
#include "kudu/common/partition.h"
#include "kudu/common/schema.h"
#include "kudu/consensus/metadata.pb.h"
-#include "kudu/fs/fs_manager.h"
+#include "kudu/consensus/opid_util.h"
+#include "kudu/consensus/raft_consensus.h"
+#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/port.h"
+#include "kudu/gutil/ref_counted.h"
#include "kudu/master/master.pb.h"
+#include "kudu/tablet/tablet.h"
+#include "kudu/tablet/tablet-harness.h"
#include "kudu/tablet/tablet_replica.h"
-#include "kudu/tablet/tablet-test-util.h"
#include "kudu/tserver/heartbeater.h"
#include "kudu/tserver/mini_tablet_server.h"
#include "kudu/tserver/tablet_server.h"
+#include "kudu/util/monotime.h"
+#include "kudu/util/net/net_util.h"
#include "kudu/util/pb_util.h"
+#include "kudu/util/status.h"
+#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
#define ASSERT_REPORT_HAS_UPDATED_TABLET(report, tablet_id) \
@@ -43,6 +59,9 @@ using std::string;
using std::vector;
namespace kudu {
+
+class FsManager;
+
namespace tserver {
using consensus::kInvalidOpIdIndex;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/tserver/ts_tablet_manager.cc
----------------------------------------------------------------------
diff --git a/src/kudu/tserver/ts_tablet_manager.cc b/src/kudu/tserver/ts_tablet_manager.cc
index 0d5e8dc..7972380 100644
--- a/src/kudu/tserver/ts_tablet_manager.cc
+++ b/src/kudu/tserver/ts_tablet_manager.cc
@@ -18,45 +18,56 @@
#include "kudu/tserver/ts_tablet_manager.h"
#include <algorithm>
-#include <boost/bind.hpp>
-#include <boost/optional.hpp>
-#include <glog/logging.h>
+#include <cstdint>
#include <memory>
#include <mutex>
+#include <ostream>
#include <string>
+#include <utility>
#include <vector>
+#include <boost/bind.hpp> // IWYU pragma: keep
+#include <boost/optional/optional.hpp>
+#include <gflags/gflags.h>
+#include <glog/logging.h>
+
+#include "kudu/clock/clock.h"
#include "kudu/common/wire_protocol.h"
+#include "kudu/common/wire_protocol.pb.h"
+#include "kudu/consensus/consensus.pb.h"
#include "kudu/consensus/consensus_meta.h"
#include "kudu/consensus/consensus_meta_manager.h"
#include "kudu/consensus/log.h"
#include "kudu/consensus/metadata.pb.h"
+#include "kudu/consensus/opid.pb.h"
#include "kudu/consensus/opid_util.h"
#include "kudu/consensus/quorum_util.h"
+#include "kudu/consensus/raft_consensus.h"
+#include "kudu/fs/data_dirs.h"
#include "kudu/fs/fs_manager.h"
-#include "kudu/gutil/casts.h"
+#include "kudu/gutil/bind.h"
+#include "kudu/gutil/bind_helpers.h"
+#include "kudu/gutil/map-util.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/strings/substitute.h"
-#include "kudu/gutil/strings/util.h"
#include "kudu/master/master.pb.h"
-#include "kudu/rpc/messenger.h"
#include "kudu/rpc/result_tracker.h"
#include "kudu/tablet/metadata.pb.h"
-#include "kudu/tablet/tablet.h"
-#include "kudu/tablet/tablet.pb.h"
#include "kudu/tablet/tablet_bootstrap.h"
#include "kudu/tablet/tablet_metadata.h"
#include "kudu/tablet/tablet_replica.h"
#include "kudu/tserver/heartbeater.h"
#include "kudu/tserver/tablet_copy_client.h"
#include "kudu/tserver/tablet_server.h"
-#include "kudu/tserver/tablet_service.h"
#include "kudu/util/debug/trace_event.h"
-#include "kudu/util/env.h"
-#include "kudu/util/env_util.h"
#include "kudu/util/fault_injection.h"
#include "kudu/util/flag_tags.h"
-#include "kudu/util/pb_util.h"
+#include "kudu/util/logging.h"
+#include "kudu/util/monotime.h"
+#include "kudu/util/net/net_util.h"
+#include "kudu/util/net/sockaddr.h"
#include "kudu/util/stopwatch.h"
+#include "kudu/util/threadpool.h"
#include "kudu/util/trace.h"
DEFINE_int32(num_tablets_to_copy_simultaneously, 10,
@@ -101,8 +112,16 @@ DEFINE_double(fault_crash_after_tc_files_fetched, 0.0,
"(For testing only!)");
TAG_FLAG(fault_crash_after_tc_files_fetched, unsafe);
+using std::shared_ptr;
+using std::string;
+using std::vector;
+using strings::Substitute;
+
namespace kudu {
-namespace tserver {
+
+namespace tablet {
+class Tablet;
+}
using consensus::ConsensusMetadata;
using consensus::ConsensusMetadataManager;
@@ -114,10 +133,6 @@ using fs::DataDirManager;
using log::Log;
using master::ReportedTabletPB;
using master::TabletReportPB;
-using std::shared_ptr;
-using std::string;
-using std::vector;
-using strings::Substitute;
using tablet::Tablet;
using tablet::TABLET_DATA_COPYING;
using tablet::TABLET_DATA_DELETED;
@@ -128,6 +143,8 @@ using tablet::TabletMetadata;
using tablet::TabletReplica;
using tserver::TabletCopyClient;
+namespace tserver {
+
TSTabletManager::TSTabletManager(TabletServer* server)
: fs_manager_(server->fs_manager()),
cmeta_manager_(new ConsensusMetadataManager(fs_manager_)),
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/tserver/ts_tablet_manager.h
----------------------------------------------------------------------
diff --git a/src/kudu/tserver/ts_tablet_manager.h b/src/kudu/tserver/ts_tablet_manager.h
index d4c7c63..b0420da 100644
--- a/src/kudu/tserver/ts_tablet_manager.h
+++ b/src/kudu/tserver/ts_tablet_manager.h
@@ -17,35 +17,45 @@
#pragma once
-#include <boost/optional/optional_fwd.hpp>
-#include <gtest/gtest_prod.h>
-#include <memory>
+#include <functional>
+#include <cstdint>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <vector>
+#include <gtest/gtest_prod.h>
+
+#include "kudu/consensus/metadata.pb.h"
+#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/gutil/macros.h"
#include "kudu/gutil/ref_counted.h"
+#include "kudu/tablet/metadata.pb.h"
#include "kudu/tserver/tablet_replica_lookup.h"
-#include "kudu/tserver/tserver_admin.pb.h"
#include "kudu/tserver/tserver.pb.h"
+#include "kudu/tserver/tserver_admin.pb.h"
#include "kudu/util/locks.h"
-#include "kudu/util/metrics.h"
#include "kudu/util/status.h"
-#include "kudu/util/threadpool.h"
+
+namespace boost {
+template <class T>
+class optional;
+}
namespace kudu {
-class PartitionSchema;
class FsManager;
-class HostPort;
+class MetricRegistry;
+class NodeInstancePB;
class Partition;
+class PartitionSchema;
class Schema;
+class ThreadPool;
namespace consensus {
class ConsensusMetadataManager;
-class RaftConfigPB;
+class OpId;
+class StartTabletCopyRequestPB;
} // namespace consensus
namespace master {
@@ -53,14 +63,9 @@ class ReportedTabletPB;
class TabletReportPB;
} // namespace master
-namespace rpc {
-class ResultTracker;
-} // namespace rpc
-
namespace tablet {
class TabletMetadata;
class TabletReplica;
-class TabletStatusPB;
}
namespace tserver {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/tserver/tserver-path-handlers.cc
----------------------------------------------------------------------
diff --git a/src/kudu/tserver/tserver-path-handlers.cc b/src/kudu/tserver/tserver-path-handlers.cc
index c53ab4c..8578939 100644
--- a/src/kudu/tserver/tserver-path-handlers.cc
+++ b/src/kudu/tserver/tserver-path-handlers.cc
@@ -18,32 +18,59 @@
#include "kudu/tserver/tserver-path-handlers.h"
#include <algorithm>
+#include <cstddef>
+#include <cstdint>
#include <map>
#include <memory>
#include <sstream>
#include <string>
+#include <type_traits>
+#include <utility>
#include <vector>
+#include <boost/bind.hpp> // IWYU pragma: keep
+#include <glog/logging.h>
+
+#include "kudu/common/column_predicate.h"
+#include "kudu/common/common.pb.h"
+#include "kudu/common/encoded_key.h"
+#include "kudu/common/iterator.h"
+#include "kudu/common/iterator_stats.h"
+#include "kudu/common/partition.h"
#include "kudu/common/scan_spec.h"
+#include "kudu/common/schema.h"
+#include "kudu/common/wire_protocol.pb.h"
+#include "kudu/consensus/consensus.pb.h"
#include "kudu/consensus/log_anchor_registry.h"
+#include "kudu/consensus/metadata.pb.h"
+#include "kudu/consensus/opid.pb.h"
#include "kudu/consensus/quorum_util.h"
+#include "kudu/consensus/raft_consensus.h"
#include "kudu/gutil/map-util.h"
+#include "kudu/gutil/ref_counted.h"
+#include "kudu/gutil/stringprintf.h"
#include "kudu/gutil/strings/human_readable.h"
#include "kudu/gutil/strings/join.h"
#include "kudu/gutil/strings/numbers.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/server/webui_util.h"
#include "kudu/tablet/metadata.pb.h"
+#include "kudu/tablet/tablet.h"
#include "kudu/tablet/tablet.pb.h"
-#include "kudu/tablet/tablet_bootstrap.h"
+#include "kudu/tablet/tablet_metadata.h"
#include "kudu/tablet/tablet_replica.h"
+#include "kudu/tablet/transactions/transaction.h"
#include "kudu/tserver/scanners.h"
#include "kudu/tserver/tablet_server.h"
#include "kudu/tserver/ts_tablet_manager.h"
#include "kudu/util/easy_json.h"
#include "kudu/util/maintenance_manager.h"
+#include "kudu/util/maintenance_manager.pb.h"
+#include "kudu/util/mem_tracker.h"
+#include "kudu/util/monotime.h"
#include "kudu/util/pb_util.h"
#include "kudu/util/url-coding.h"
+#include "kudu/util/web_callback_registry.h"
using kudu::consensus::GetConsensusRole;
using kudu::consensus::ConsensusStatePB;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/tserver/tserver-path-handlers.h
----------------------------------------------------------------------
diff --git a/src/kudu/tserver/tserver-path-handlers.h b/src/kudu/tserver/tserver-path-handlers.h
index b37ca1c..385b24d 100644
--- a/src/kudu/tserver/tserver-path-handlers.h
+++ b/src/kudu/tserver/tserver-path-handlers.h
@@ -23,6 +23,7 @@
#include "kudu/gutil/macros.h"
#include "kudu/server/webserver.h"
+#include "kudu/util/status.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/twitter-demo/ingest_firehose.cc
----------------------------------------------------------------------
diff --git a/src/kudu/twitter-demo/ingest_firehose.cc b/src/kudu/twitter-demo/ingest_firehose.cc
index 686f9d3..6ecab3f 100644
--- a/src/kudu/twitter-demo/ingest_firehose.cc
+++ b/src/kudu/twitter-demo/ingest_firehose.cc
@@ -15,25 +15,24 @@
// specific language governing permissions and limitations
// under the License.
-#include <curl/curl.h>
-#include <fstream>
+#include <algorithm>
+#include <fstream> // IWYU pragma: keep
+#include <iostream>
+#include <string>
+#include <type_traits>
+
#include <gflags/gflags.h>
#include <glog/logging.h>
-#include <iostream>
-#include <stdint.h>
#include "kudu/client/client.h"
-#include "kudu/gutil/macros.h"
-#include "kudu/gutil/once.h"
-#include "kudu/rpc/messenger.h"
-#include "kudu/master/master.h"
-#include "kudu/tserver/tserver_service.proxy.h"
-#include "kudu/twitter-demo/oauth.h"
+#include "kudu/client/shared_ptr.h"
+#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/move.h"
+#include "kudu/gutil/port.h"
#include "kudu/twitter-demo/insert_consumer.h"
#include "kudu/twitter-demo/twitter_streamer.h"
#include "kudu/util/flags.h"
#include "kudu/util/logging.h"
-#include "kudu/util/net/net_util.h"
#include "kudu/util/slice.h"
#include "kudu/util/status.h"
@@ -56,7 +55,6 @@ namespace kudu {
namespace twitter_demo {
using client::sp::shared_ptr;
-using tserver::TabletServerServiceProxy;
// Consumer which simply logs messages to the console.
class LoggingConsumer : public TwitterConsumer {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/twitter-demo/insert_consumer.cc
----------------------------------------------------------------------
diff --git a/src/kudu/twitter-demo/insert_consumer.cc b/src/kudu/twitter-demo/insert_consumer.cc
index 1d5a0c6..d09800e 100644
--- a/src/kudu/twitter-demo/insert_consumer.cc
+++ b/src/kudu/twitter-demo/insert_consumer.cc
@@ -17,21 +17,18 @@
#include "kudu/twitter-demo/insert_consumer.h"
-#include <ctime>
-#include <mutex>
+#include <algorithm>
+#include <ostream>
#include <string>
#include <vector>
#include <glog/logging.h>
#include "kudu/client/client.h"
-#include "kudu/common/wire_protocol.h"
-#include "kudu/common/row.h"
-#include "kudu/common/schema.h"
-#include "kudu/gutil/bind.h"
+#include "kudu/client/write_op.h"
+#include "kudu/common/partial_row.h"
+#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/gutil/stl_util.h"
-#include "kudu/tserver/tserver.pb.h"
-#include "kudu/tserver/tserver_service.proxy.h"
#include "kudu/twitter-demo/parser.h"
#include "kudu/twitter-demo/twitter-schema.h"
#include "kudu/util/status.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/twitter-demo/insert_consumer.h
----------------------------------------------------------------------
diff --git a/src/kudu/twitter-demo/insert_consumer.h b/src/kudu/twitter-demo/insert_consumer.h
index 00cdce4..368215f 100644
--- a/src/kudu/twitter-demo/insert_consumer.h
+++ b/src/kudu/twitter-demo/insert_consumer.h
@@ -19,23 +19,18 @@
#include "kudu/twitter-demo/twitter_streamer.h"
-#include <string>
-
-#include "kudu/client/callbacks.h"
#include "kudu/client/schema.h"
#include "kudu/client/shared_ptr.h"
-#include "kudu/rpc/rpc_controller.h"
-#include "kudu/tserver/tserver_service.proxy.h"
+#include "kudu/gutil/port.h"
#include "kudu/twitter-demo/parser.h"
-#include "kudu/util/locks.h"
#include "kudu/util/slice.h"
+#include "kudu/util/status.h"
namespace kudu {
namespace client {
class KuduClient;
class KuduTable;
class KuduSession;
-class KuduStatusCallback;
} // namespace client
namespace twitter_demo {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/twitter-demo/oauth.cc
----------------------------------------------------------------------
diff --git a/src/kudu/twitter-demo/oauth.cc b/src/kudu/twitter-demo/oauth.cc
index c7292ce..088463c 100644
--- a/src/kudu/twitter-demo/oauth.cc
+++ b/src/kudu/twitter-demo/oauth.cc
@@ -18,7 +18,9 @@
#include "kudu/twitter-demo/oauth.h"
#include <algorithm>
+#include <ctime>
#include <vector>
+
#include <glog/logging.h>
extern "C" {
#include <oauth.h>
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/twitter-demo/parser-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/twitter-demo/parser-test.cc b/src/kudu/twitter-demo/parser-test.cc
index 4c84054..8d34663 100644
--- a/src/kudu/twitter-demo/parser-test.cc
+++ b/src/kudu/twitter-demo/parser-test.cc
@@ -17,14 +17,18 @@
#include "kudu/twitter-demo/parser.h"
+#include <string>
+#include <vector>
+
#include <glog/logging.h>
#include <gtest/gtest.h>
#include "kudu/gutil/strings/split.h"
#include "kudu/util/env.h"
+#include "kudu/util/faststring.h"
#include "kudu/util/path_util.h"
-#include "kudu/util/test_util.h"
#include "kudu/util/status.h"
+#include "kudu/util/test_macros.h"
using std::string;
using std::vector;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/twitter-demo/parser.cc
----------------------------------------------------------------------
diff --git a/src/kudu/twitter-demo/parser.cc b/src/kudu/twitter-demo/parser.cc
index 73b8a13..7df1793 100644
--- a/src/kudu/twitter-demo/parser.cc
+++ b/src/kudu/twitter-demo/parser.cc
@@ -17,11 +17,11 @@
#include "kudu/twitter-demo/parser.h"
-#include <time.h>
+#include <cstring>
+#include <ctime>
#include <glog/logging.h>
#include <rapidjson/document.h>
-#include <rapidjson/rapidjson.h>
#include "kudu/gutil/stringprintf.h"
#include "kudu/util/jsonreader.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/twitter-demo/parser.h
----------------------------------------------------------------------
diff --git a/src/kudu/twitter-demo/parser.h b/src/kudu/twitter-demo/parser.h
index c100450..9973428 100644
--- a/src/kudu/twitter-demo/parser.h
+++ b/src/kudu/twitter-demo/parser.h
@@ -17,10 +17,10 @@
#ifndef KUDU_TWITTER_DEMO_PARSER_H
#define KUDU_TWITTER_DEMO_PARSER_H
+#include <cstdint>
#include <string>
#include "kudu/gutil/macros.h"
-#include "kudu/util/slice.h"
#include "kudu/util/status.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/twitter-demo/twitter_streamer.cc
----------------------------------------------------------------------
diff --git a/src/kudu/twitter-demo/twitter_streamer.cc b/src/kudu/twitter-demo/twitter_streamer.cc
index 2d94515..b55ad22 100644
--- a/src/kudu/twitter-demo/twitter_streamer.cc
+++ b/src/kudu/twitter-demo/twitter_streamer.cc
@@ -17,14 +17,17 @@
#include "kudu/twitter-demo/twitter_streamer.h"
-#include <curl/curl.h>
-#include <gflags/gflags.h>
-#include <glog/logging.h>
+#include <cstdint>
+#include <cstring>
#include <mutex>
-#include <string.h>
+#include <ostream>
#include <string>
#include <thread>
+#include <curl/curl.h>
+#include <gflags/gflags.h>
+#include <glog/logging.h>
+
#include "kudu/twitter-demo/oauth.h"
#include "kudu/gutil/macros.h"
#include "kudu/gutil/once.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/twitter-demo/twitter_streamer.h
----------------------------------------------------------------------
diff --git a/src/kudu/twitter-demo/twitter_streamer.h b/src/kudu/twitter-demo/twitter_streamer.h
index e134e39..37c1514 100644
--- a/src/kudu/twitter-demo/twitter_streamer.h
+++ b/src/kudu/twitter-demo/twitter_streamer.h
@@ -17,9 +17,11 @@
#ifndef KUDU_TWITTER_DEMO_TWITTER_STREAMER_H
#define KUDU_TWITTER_DEMO_TWITTER_STREAMER_H
+#include <cstddef>
#include <mutex>
#include <thread>
+#include "kudu/gutil/macros.h"
#include "kudu/util/faststring.h"
#include "kudu/util/slice.h"
#include "kudu/util/status.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/kudu/util/CMakeLists.txt b/src/kudu/util/CMakeLists.txt
index f3e9ec8..836facf 100644
--- a/src/kudu/util/CMakeLists.txt
+++ b/src/kudu/util/CMakeLists.txt
@@ -462,5 +462,6 @@ endif()
ADD_KUDU_TEST(compression/compression-test)
if(NOT NO_TESTS)
target_link_libraries(compression-test
+ cfile
kudu_util_compression)
endif()
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/async_logger.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/async_logger.cc b/src/kudu/util/async_logger.cc
index 8e6a4a9..1b1d9e4 100644
--- a/src/kudu/util/async_logger.cc
+++ b/src/kudu/util/async_logger.cc
@@ -17,11 +17,9 @@
#include "kudu/util/async_logger.h"
-#include <algorithm>
#include <string>
#include <thread>
-#include "kudu/util/locks.h"
#include "kudu/util/monotime.h"
using std::string;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/async_logger.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/async_logger.h b/src/kudu/util/async_logger.h
index 2804a9b..7a7d37b 100644
--- a/src/kudu/util/async_logger.h
+++ b/src/kudu/util/async_logger.h
@@ -18,6 +18,9 @@
#include "kudu/gutil/macros.h"
+#include <algorithm>
+#include <cstdint>
+#include <ctime>
#include <memory>
#include <string>
#include <thread>
@@ -25,7 +28,9 @@
#include <glog/logging.h>
-#include "kudu/util/locks.h"
+#include "kudu/gutil/integral_types.h"
+#include "kudu/util/condition_variable.h"
+#include "kudu/util/mutex.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/atomic-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/atomic-test.cc b/src/kudu/util/atomic-test.cc
index 9834d09..a65d55d 100644
--- a/src/kudu/util/atomic-test.cc
+++ b/src/kudu/util/atomic-test.cc
@@ -17,6 +17,7 @@
#include "kudu/util/atomic.h"
+#include <cstdint>
#include <limits>
#include <vector>
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/atomic.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/atomic.cc b/src/kudu/util/atomic.cc
index 1fdae39..430631f 100644
--- a/src/kudu/util/atomic.cc
+++ b/src/kudu/util/atomic.cc
@@ -17,7 +17,8 @@
#include "kudu/util/atomic.h"
-#include <stdint.h>
+#include <cstdint>
+#include <ostream>
#include <glog/logging.h>
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/atomic.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/atomic.h b/src/kudu/util/atomic.h
index da9b677..3051a41 100644
--- a/src/kudu/util/atomic.h
+++ b/src/kudu/util/atomic.h
@@ -18,7 +18,9 @@
#ifndef KUDU_UTIL_ATOMIC_H
#define KUDU_UTIL_ATOMIC_H
-#include <algorithm>
+#include <algorithm> // IWYU pragma: keep
+#include <cstdint>
+#include <cstdlib>
#include <type_traits>
#include "kudu/gutil/atomicops.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/bitmap-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/bitmap-test.cc b/src/kudu/util/bitmap-test.cc
index a91e414..73306d9 100644
--- a/src/kudu/util/bitmap-test.cc
+++ b/src/kudu/util/bitmap-test.cc
@@ -15,9 +15,12 @@
// specific language governing permissions and limitations
// under the License.
-#include <gtest/gtest.h>
+#include <cstdint>
+#include <cstring>
#include <vector>
+#include <gtest/gtest.h>
+
#include "kudu/gutil/strings/join.h"
#include "kudu/util/bitmap.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/bitmap.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/bitmap.cc b/src/kudu/util/bitmap.cc
index e38f2e2..eed7880 100644
--- a/src/kudu/util/bitmap.cc
+++ b/src/kudu/util/bitmap.cc
@@ -14,11 +14,15 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
-#include <glog/logging.h>
+
+#include "kudu/util/bitmap.h"
+
+#include <cstring>
#include <string>
+#include <glog/logging.h>
+
#include "kudu/gutil/stringprintf.h"
-#include "kudu/util/bitmap.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/bitmap.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/bitmap.h b/src/kudu/util/bitmap.h
index 1689b50..d9f5260 100644
--- a/src/kudu/util/bitmap.h
+++ b/src/kudu/util/bitmap.h
@@ -19,8 +19,15 @@
#ifndef KUDU_UTIL_BITMAP_H
#define KUDU_UTIL_BITMAP_H
+#include <cstddef>
+#include <cstdint>
+#include <ostream>
#include <string>
+
+#include <glog/logging.h>
+
#include "kudu/gutil/bits.h"
+#include "kudu/gutil/port.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/blocking_queue-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/blocking_queue-test.cc b/src/kudu/util/blocking_queue-test.cc
index 00f558a..a2271ff 100644
--- a/src/kudu/util/blocking_queue-test.cc
+++ b/src/kudu/util/blocking_queue-test.cc
@@ -15,16 +15,20 @@
// specific language governing permissions and limitations
// under the License.
-#include <glog/logging.h>
-#include <gtest/gtest.h>
+#include <cstddef>
+#include <cstdint>
#include <map>
-#include <memory>
#include <string>
#include <thread>
#include <vector>
+#include <gtest/gtest.h>
+
+#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/util/countdown_latch.h"
#include "kudu/util/blocking_queue.h"
+#include "kudu/util/monotime.h"
+#include "kudu/util/mutex.h"
#include "kudu/util/status.h"
#include "kudu/util/test_macros.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/bloom_filter-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/bloom_filter-test.cc b/src/kudu/util/bloom_filter-test.cc
index 3cee985..788ec36 100644
--- a/src/kudu/util/bloom_filter-test.cc
+++ b/src/kudu/util/bloom_filter-test.cc
@@ -15,10 +15,15 @@
// specific language governing permissions and limitations
// under the License.
+#include <cstdint>
+#include <cstdlib>
+#include <ostream>
+
#include <glog/logging.h>
#include <gtest/gtest.h>
-#include <stdlib.h>
+
#include "kudu/util/bloom_filter.h"
+#include "kudu/util/slice.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/bloom_filter.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/bloom_filter.cc b/src/kudu/util/bloom_filter.cc
index 2b48b0d..b1a2055 100644
--- a/src/kudu/util/bloom_filter.cc
+++ b/src/kudu/util/bloom_filter.cc
@@ -15,10 +15,13 @@
// specific language governing permissions and limitations
// under the License.
-#include <math.h>
-
#include "kudu/util/bloom_filter.h"
-#include "kudu/util/bitmap.h"
+
+#include <cmath>
+#include <cstring>
+#include <ostream>
+
+#include <glog/logging.h>
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/bloom_filter.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/bloom_filter.h b/src/kudu/util/bloom_filter.h
index 419de3b..1ebd323 100644
--- a/src/kudu/util/bloom_filter.h
+++ b/src/kudu/util/bloom_filter.h
@@ -17,8 +17,12 @@
#ifndef KUDU_UTIL_BLOOM_FILTER_H
#define KUDU_UTIL_BLOOM_FILTER_H
+#include <cstddef>
+#include <cstdint>
+
#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/gutil/hash/city.h"
+#include "kudu/gutil/integral_types.h"
#include "kudu/gutil/macros.h"
#include "kudu/util/bitmap.h"
#include "kudu/util/slice.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/cache-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/cache-test.cc b/src/kudu/util/cache-test.cc
index eed72ad..4a16be0 100644
--- a/src/kudu/util/cache-test.cc
+++ b/src/kudu/util/cache-test.cc
@@ -2,16 +2,29 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include <cassert>
+#include <cstdint>
+#include <cstring>
+#include <memory>
+#include <string>
+#include <vector>
+
#include <glog/logging.h>
#include <gflags/gflags.h>
+#include <gflags/gflags_declare.h>
#include <gtest/gtest.h>
-#include <memory>
-#include <vector>
+#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/port.h"
+#include "kudu/gutil/ref_counted.h"
#include "kudu/util/cache.h"
#include "kudu/util/coding.h"
+#include "kudu/util/env.h"
+#include "kudu/util/faststring.h"
#include "kudu/util/mem_tracker.h"
#include "kudu/util/metrics.h"
+#include "kudu/util/slice.h"
+#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
#if defined(__linux__)
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/cache.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/cache.cc b/src/kudu/util/cache.cc
index d65d277..ff52a82 100644
--- a/src/kudu/util/cache.cc
+++ b/src/kudu/util/cache.cc
@@ -2,23 +2,27 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include <cstdlib>
+#include <cstring>
#include <memory>
#include <mutex>
+#include <ostream>
#include <string>
#include <vector>
#include <gflags/gflags.h>
#include <glog/logging.h>
+#include "kudu/gutil/atomicops.h"
#include "kudu/gutil/atomic_refcount.h"
+#include "kudu/gutil/dynamic_annotations.h"
#include "kudu/gutil/bits.h"
#include "kudu/gutil/hash/city.h"
+#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/stl_util.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/gutil/sysinfo.h"
#include "kudu/util/alignment.h"
-#include "kudu/util/atomic.h"
#include "kudu/util/cache.h"
#include "kudu/util/cache_metrics.h"
#include "kudu/util/flag_tags.h"
@@ -41,8 +45,6 @@ using std::vector;
namespace kudu {
-class MetricEntity;
-
Cache::~Cache() {
}
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/cache.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/cache.h b/src/kudu/util/cache.h
index af0a9ae..036b7d1 100644
--- a/src/kudu/util/cache.h
+++ b/src/kudu/util/cache.h
@@ -18,6 +18,7 @@
#ifndef KUDU_UTIL_CACHE_H_
#define KUDU_UTIL_CACHE_H_
+#include <cstddef>
#include <cstdint>
#include <memory>
#include <string>
@@ -29,7 +30,6 @@
namespace kudu {
class Cache;
-struct CacheMetrics;
class MetricEntity;
enum CacheType {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/cache_metrics.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/cache_metrics.h b/src/kudu/util/cache_metrics.h
index 47f759f..04a546b 100644
--- a/src/kudu/util/cache_metrics.h
+++ b/src/kudu/util/cache_metrics.h
@@ -17,18 +17,13 @@
#ifndef KUDU_UTIL_CACHE_METRICS_H
#define KUDU_UTIL_CACHE_METRICS_H
-#include <stdint.h>
+#include <cstdint>
-#include "kudu/gutil/macros.h"
#include "kudu/gutil/ref_counted.h"
+#include "kudu/util/metrics.h"
namespace kudu {
-template<class T>
-class AtomicGauge;
-class Counter;
-class MetricEntity;
-
struct CacheMetrics {
explicit CacheMetrics(const scoped_refptr<MetricEntity>& metric_entity);
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/callback_bind-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/callback_bind-test.cc b/src/kudu/util/callback_bind-test.cc
index 6f75867..9bb5e5f 100644
--- a/src/kudu/util/callback_bind-test.cc
+++ b/src/kudu/util/callback_bind-test.cc
@@ -15,11 +15,21 @@
// specific language governing permissions and limitations
// under the License.
+#include <algorithm>
+#include <ostream>
+#include <string>
+#include <type_traits>
+
+#include <glog/logging.h>
+#include <gtest/gtest.h>
+
#include "kudu/gutil/bind.h"
+#include "kudu/gutil/bind_helpers.h"
#include "kudu/gutil/callback.h"
+#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/gutil/macros.h"
-
-#include <gtest/gtest.h>
+#include "kudu/gutil/move.h"
+#include "kudu/gutil/ref_counted.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/coding-inl.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/coding-inl.h b/src/kudu/util/coding-inl.h
index 5fe0f9d..a47e9ce 100644
--- a/src/kudu/util/coding-inl.h
+++ b/src/kudu/util/coding-inl.h
@@ -24,8 +24,11 @@
#ifndef KUDU_UTIL_CODING_INL_H
#define KUDU_UTIL_CODING_INL_H
-#include <stdint.h>
-#include <string.h>
+#include <cstdint>
+#include <cstring>
+
+#include "kudu/gutil/port.h" // IWYU pragma: keep
+// IWYU pragma: no_include <endian.h>
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/coding.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/coding.cc b/src/kudu/util/coding.cc
index bd3cfcd..952af28 100644
--- a/src/kudu/util/coding.cc
+++ b/src/kudu/util/coding.cc
@@ -4,6 +4,7 @@
#include "kudu/util/coding.h"
#include "kudu/util/coding-inl.h"
+#include "kudu/util/faststring.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/coding.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/coding.h b/src/kudu/util/coding.h
index 698d92a..0612533 100644
--- a/src/kudu/util/coding.h
+++ b/src/kudu/util/coding.h
@@ -10,14 +10,17 @@
#ifndef STORAGE_LEVELDB_UTIL_CODING_H_
#define STORAGE_LEVELDB_UTIL_CODING_H_
-#include <stdint.h>
-#include <string.h>
-#include <string>
+#include <cstdint>
+#include <cstring>
#include "kudu/util/slice.h"
-#include "kudu/util/faststring.h"
+#include "kudu/gutil/port.h" // IWYU pragma: keep
+// IWYU pragma: no_include <endian.h>
namespace kudu {
+
+class faststring;
+
extern void PutFixed32(faststring* dst, uint32_t value);
extern void PutFixed64(faststring* dst, uint64_t value);
extern void PutVarint32(faststring* dst, uint32_t value);
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/compression/compression-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/compression/compression-test.cc b/src/kudu/util/compression/compression-test.cc
index 36d003c..8d5374b 100644
--- a/src/kudu/util/compression/compression-test.cc
+++ b/src/kudu/util/compression/compression-test.cc
@@ -15,17 +15,23 @@
// specific language governing permissions and limitations
// under the License.
-#include <stdlib.h>
-
+#include <cstdint>
+#include <cstdlib>
+#include <cstring>
#include <vector>
#include <glog/logging.h>
#include <gtest/gtest.h>
+#include "kudu/cfile/cfile-test-base.h"
+#include "kudu/common/common.pb.h"
+#include "kudu/fs/block_id.h"
+#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/move.h"
#include "kudu/util/compression/compression_codec.h"
+#include "kudu/util/slice.h"
#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
-#include "kudu/util/status.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/compression/compression_codec.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/compression/compression_codec.cc b/src/kudu/util/compression/compression_codec.cc
index 41dcae2..a2231b6 100644
--- a/src/kudu/util/compression/compression_codec.cc
+++ b/src/kudu/util/compression/compression_codec.cc
@@ -17,6 +17,8 @@
#include "kudu/util/compression/compression_codec.h"
+#include <memory>
+#include <ostream>
#include <string>
#include <vector>
@@ -26,9 +28,10 @@
#include <snappy.h>
#include <zlib.h>
-
+#include "kudu/gutil/port.h"
#include "kudu/gutil/singleton.h"
#include "kudu/gutil/stringprintf.h"
+#include "kudu/util/faststring.h"
#include "kudu/util/logging.h"
#include "kudu/util/string_case.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/compression/compression_codec.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/compression/compression_codec.h b/src/kudu/util/compression/compression_codec.h
index 538af15..4f81fd3 100644
--- a/src/kudu/util/compression/compression_codec.h
+++ b/src/kudu/util/compression/compression_codec.h
@@ -17,11 +17,14 @@
#ifndef KUDU_CFILE_COMPRESSION_CODEC_H
#define KUDU_CFILE_COMPRESSION_CODEC_H
+#include <cstddef>
+#include <cstdint>
#include <string>
#include <vector>
+#include <snappy-stubs-public.h>
+
#include "kudu/util/compression/compression.pb.h"
-#include "kudu/gutil/macros.h"
#include "kudu/util/slice.h"
#include "kudu/util/status.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/condition_variable.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/condition_variable.cc b/src/kudu/util/condition_variable.cc
index 13d1d36..be4afa4 100644
--- a/src/kudu/util/condition_variable.cc
+++ b/src/kudu/util/condition_variable.cc
@@ -4,12 +4,17 @@
#include "kudu/util/condition_variable.h"
-#include <glog/logging.h>
-
-#include <errno.h>
#include <sys/time.h>
+#include <cerrno>
+#include <ctime>
+#include <ostream>
+
+#include <glog/logging.h>
+
+#include "kudu/gutil/integral_types.h"
#include "kudu/util/monotime.h"
+#include "kudu/util/mutex.h"
#include "kudu/util/thread_restrictions.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/condition_variable.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/condition_variable.h b/src/kudu/util/condition_variable.h
index ca6e265..1f251ca 100644
--- a/src/kudu/util/condition_variable.h
+++ b/src/kudu/util/condition_variable.h
@@ -67,13 +67,12 @@
#include <pthread.h>
-#include "kudu/util/monotime.h"
-#include "kudu/util/mutex.h"
+#include "kudu/gutil/macros.h"
namespace kudu {
-class ConditionVarImpl;
-class TimeDelta;
+class MonoDelta;
+class Mutex;
class ConditionVariable {
public:
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/countdown_latch-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/countdown_latch-test.cc b/src/kudu/util/countdown_latch-test.cc
index cf2517c..adb2623 100644
--- a/src/kudu/util/countdown_latch-test.cc
+++ b/src/kudu/util/countdown_latch-test.cc
@@ -15,11 +15,14 @@
// specific language governing permissions and limitations
// under the License.
-#include <boost/bind.hpp>
+#include <boost/bind.hpp> // IWYU pragma: keep
#include <gtest/gtest.h>
+#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/ref_counted.h"
#include "kudu/util/countdown_latch.h"
-#include "kudu/util/test_util.h"
+#include "kudu/util/monotime.h"
+#include "kudu/util/test_macros.h"
#include "kudu/util/thread.h"
#include "kudu/util/threadpool.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/crc-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/crc-test.cc b/src/kudu/util/crc-test.cc
index 3c46230..cf13268 100644
--- a/src/kudu/util/crc-test.cc
+++ b/src/kudu/util/crc-test.cc
@@ -15,7 +15,16 @@
// specific language governing permissions and limitations
// under the License.
+#include <cstdint>
+#include <cstring>
+#include <ostream>
+#include <string>
+
+#include <glog/logging.h>
+#include <gtest/gtest.h>
+
#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/strings/numbers.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/crc.h"
#include "kudu/util/stopwatch.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/curl_util.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/curl_util.cc b/src/kudu/util/curl_util.cc
index 3e8e591..44ef089 100644
--- a/src/kudu/util/curl_util.cc
+++ b/src/kudu/util/curl_util.cc
@@ -17,12 +17,16 @@
#include "kudu/util/curl_util.h"
+#include <cstddef>
+#include <cstdint>
+#include <ostream>
#include <curl/curl.h>
#include <glog/logging.h>
#include "kudu/gutil/strings/substitute.h"
#include "kudu/security/openssl_util.h"
+#include "kudu/util/faststring.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/debug-util-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/debug-util-test.cc b/src/kudu/util/debug-util-test.cc
index 74b5b79..455f8cb 100644
--- a/src/kudu/util/debug-util-test.cc
+++ b/src/kudu/util/debug-util-test.cc
@@ -15,15 +15,22 @@
// specific language governing permissions and limitations
// under the License.
-#include <glog/stl_logging.h>
-#include <signal.h>
+#include <unistd.h>
+
+#include <csignal>
#include <string>
#include <vector>
+#include <glog/logging.h>
+#include <gtest/gtest.h>
+
#include "kudu/gutil/ref_counted.h"
#include "kudu/util/countdown_latch.h"
#include "kudu/util/debug-util.h"
+#include "kudu/util/monotime.h"
#include "kudu/util/scoped_cleanup.h"
+#include "kudu/util/status.h"
+#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
#include "kudu/util/thread.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/debug-util.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/debug-util.cc b/src/kudu/util/debug-util.cc
index 1f2b035..be39fe3 100644
--- a/src/kudu/util/debug-util.cc
+++ b/src/kudu/util/debug-util.cc
@@ -17,20 +17,29 @@
#include "kudu/util/debug-util.h"
-#include <execinfo.h>
#include <dirent.h>
-#include <glog/logging.h>
-#include <signal.h>
-#include <string>
+#include <sched.h>
+#ifdef __linux__
+#include <syscall.h>
+#else
#include <sys/syscall.h>
+#endif
+#include <unistd.h>
+
+#include <cerrno>
+#include <csignal>
+#include <ostream>
+#include <string>
+
+#include <glog/logging.h>
+#include "kudu/gutil/atomicops.h"
#include "kudu/gutil/hash/city.h"
#include "kudu/gutil/macros.h"
#include "kudu/gutil/spinlock.h"
#include "kudu/gutil/stringprintf.h"
#include "kudu/gutil/strings/numbers.h"
#include "kudu/util/debug/sanitizer_scopes.h"
-#include "kudu/util/env.h"
#include "kudu/util/errno.h"
#include "kudu/util/monotime.h"
#include "kudu/util/thread.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/debug-util.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/debug-util.h b/src/kudu/util/debug-util.h
index fc12445..a84c04c 100644
--- a/src/kudu/util/debug-util.h
+++ b/src/kudu/util/debug-util.h
@@ -19,6 +19,8 @@
#include <sys/types.h>
+#include <cstdint>
+#include <cstring>
#include <string>
#include <vector>
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/debug/trace_event.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/debug/trace_event.h b/src/kudu/util/debug/trace_event.h
index 75a83e6..2c51309 100644
--- a/src/kudu/util/debug/trace_event.h
+++ b/src/kudu/util/debug/trace_event.h
@@ -194,6 +194,7 @@
#include "kudu/gutil/atomicops.h"
#include "kudu/util/debug/trace_event_impl.h"
#include "kudu/util/debug/trace_event_memory.h"
+#include "kudu/util/thread.h"
#include "kudu/gutil/walltime.h"
// By default, const char* argument values are assumed to have long-lived scope
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/debug/trace_event_impl.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/debug/trace_event_impl.cc b/src/kudu/util/debug/trace_event_impl.cc
index 1d72a24..e8f00ab 100644
--- a/src/kudu/util/debug/trace_event_impl.cc
+++ b/src/kudu/util/debug/trace_event_impl.cc
@@ -5,29 +5,45 @@
#include "kudu/util/debug/trace_event_impl.h"
+#include <sched.h>
+#include <unistd.h>
+
#include <algorithm>
-#include <gflags/gflags.h>
+#include <cinttypes>
+#include <cstdlib>
+#include <cstring>
#include <list>
+#include <sstream>
+#include <type_traits>
+#include <utility>
#include <vector>
+#include <gflags/gflags.h>
+
#include "kudu/gutil/bind.h"
-#include "kudu/util/atomic.h"
-#include "kudu/util/debug/trace_event.h"
-#include "kudu/gutil/mathlimits.h"
+#include "kudu/gutil/dynamic_annotations.h"
#include "kudu/gutil/map-util.h"
-#include "kudu/gutil/strings/join.h"
-#include "kudu/gutil/strings/split.h"
-#include "kudu/gutil/strings/util.h"
+#include "kudu/gutil/mathlimits.h"
+#include "kudu/gutil/move.h"
+#include "kudu/gutil/port.h"
+#include "kudu/gutil/ref_counted_memory.h"
#include "kudu/gutil/singleton.h"
#include "kudu/gutil/stl_util.h"
#include "kudu/gutil/stringprintf.h"
-#include "kudu/gutil/strings/escaping.h"
+#include "kudu/gutil/strings/join.h"
+#include "kudu/gutil/strings/split.h"
+#include "kudu/gutil/strings/stringpiece.h"
#include "kudu/gutil/strings/substitute.h"
-#include "kudu/gutil/dynamic_annotations.h"
-
+#include "kudu/gutil/strings/util.h"
+#include "kudu/gutil/sysinfo.h"
#include "kudu/gutil/walltime.h"
+
+#include "kudu/util/atomic.h"
+#include "kudu/util/debug/trace_event.h"
#include "kudu/util/debug/trace_event_synthetic_delay.h"
#include "kudu/util/flag_tags.h"
+#include "kudu/util/monotime.h"
+#include "kudu/util/status.h"
#include "kudu/util/thread.h"
DEFINE_string(trace_to_console, "",
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/debug/trace_event_impl.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/debug/trace_event_impl.h b/src/kudu/util/debug/trace_event_impl.h
index e5e85df..53b1690 100644
--- a/src/kudu/util/debug/trace_event_impl.h
+++ b/src/kudu/util/debug/trace_event_impl.h
@@ -5,25 +5,27 @@
#ifndef KUDU_UTIL_DEBUG_TRACE_EVENT_IMPL_H_
#define KUDU_UTIL_DEBUG_TRACE_EVENT_IMPL_H_
-#include <gtest/gtest_prod.h>
+#include <cstddef>
+#include <cstdint>
+#include <iosfwd>
#include <stack>
-#include <sstream>
#include <string>
#include <unordered_map>
-#include <unordered_set>
#include <vector>
+#include <glog/logging.h>
+#include <gtest/gtest_prod.h>
#include "kudu/gutil/atomicops.h"
+#include "kudu/gutil/bind_helpers.h"
#include "kudu/gutil/callback.h"
+#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/integral_types.h"
+#include "kudu/gutil/macros.h"
+#include "kudu/gutil/spinlock.h"
#include "kudu/gutil/walltime.h"
#include "kudu/gutil/ref_counted.h"
-#include "kudu/gutil/ref_counted_memory.h"
-#include "kudu/util/atomic.h"
-#include "kudu/util/condition_variable.h"
-#include "kudu/util/locks.h"
-#include "kudu/util/thread.h"
-#include "kudu/util/threadlocal.h"
+#include "kudu/util/mutex.h"
// Older style trace macros with explicit id and extra data
// Only these macros result in publishing data to ETW as currently implemented.
@@ -57,6 +59,10 @@ struct hash<kudu::Thread*> {
#endif
namespace kudu {
+
+class RefCountedString;
+class Thread;
+
namespace debug {
// For any argument of type TRACE_VALUE_TYPE_CONVERTABLE the provided
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/debug/trace_event_synthetic_delay.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/debug/trace_event_synthetic_delay.cc b/src/kudu/util/debug/trace_event_synthetic_delay.cc
index 0fff9fb..947ab88 100644
--- a/src/kudu/util/debug/trace_event_synthetic_delay.cc
+++ b/src/kudu/util/debug/trace_event_synthetic_delay.cc
@@ -2,9 +2,17 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "kudu/gutil/singleton.h"
#include "kudu/util/debug/trace_event_synthetic_delay.h"
+#include <cstring>
+#include <ostream>
+
+#include <glog/logging.h>
+
+#include "kudu/gutil/dynamic_annotations.h"
+#include "kudu/gutil/port.h"
+#include "kudu/gutil/singleton.h"
+
namespace {
const int kMaxSyntheticDelays = 32;
} // namespace
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/debug/trace_event_synthetic_delay.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/debug/trace_event_synthetic_delay.h b/src/kudu/util/debug/trace_event_synthetic_delay.h
index f53d5f4..5866814 100644
--- a/src/kudu/util/debug/trace_event_synthetic_delay.h
+++ b/src/kudu/util/debug/trace_event_synthetic_delay.h
@@ -32,9 +32,13 @@
#ifndef KUDU_UTIL_DEBUG_TRACE_EVENT_SYNTHETIC_DELAY_H_
#define KUDU_UTIL_DEBUG_TRACE_EVENT_SYNTHETIC_DELAY_H_
+#include <string>
+
#include "kudu/gutil/atomicops.h"
+#include "kudu/gutil/macros.h"
#include "kudu/util/debug/trace_event.h"
#include "kudu/util/monotime.h"
+#include "kudu/util/mutex.h"
// Apply a named delay in the current scope.
#define TRACE_EVENT_SYNTHETIC_DELAY(name) \
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/easy_json-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/easy_json-test.cc b/src/kudu/util/easy_json-test.cc
index 6d07581..7074512 100644
--- a/src/kudu/util/easy_json-test.cc
+++ b/src/kudu/util/easy_json-test.cc
@@ -19,9 +19,9 @@
#include <gtest/gtest.h>
#include <rapidjson/document.h>
+#include <rapidjson/rapidjson.h>
#include "kudu/gutil/integral_types.h"
-#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/easy_json.h"
#include "kudu/util/test_util.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/easy_json.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/easy_json.cc b/src/kudu/util/easy_json.cc
index 4b26dad..c6cb597 100644
--- a/src/kudu/util/easy_json.cc
+++ b/src/kudu/util/easy_json.cc
@@ -18,15 +18,14 @@
#include "kudu/util/easy_json.h"
#include <string>
-#include <utility>
+#include <ostream>
#include <glog/logging.h>
#include <rapidjson/document.h>
+#include <rapidjson/rapidjson.h>
#include <rapidjson/stringbuffer.h>
#include <rapidjson/writer.h>
-#include "kudu/gutil/strings/substitute.h"
-
using rapidjson::SizeType;
using rapidjson::Value;
using std::string;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/env-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/env-test.cc b/src/kudu/util/env-test.cc
index 4e3ed9f..b38c004 100644
--- a/src/kudu/util/env-test.cc
+++ b/src/kudu/util/env-test.cc
@@ -15,42 +15,57 @@
// specific language governing permissions and limitations
// under the License.
-#include <fcntl.h>
-#include <sys/types.h>
+#if !defined(__APPLE__)
+#include <linux/falloc.h>
+#endif // !defined(__APPLE__)
+// Copied from falloc.h. Useful for older kernels that lack support for
+// hole punching; fallocate(2) will return EOPNOTSUPP.
+#ifndef FALLOC_FL_KEEP_SIZE
+#define FALLOC_FL_KEEP_SIZE 0x01 /* default is extend size */
+#endif
+#ifndef FALLOC_FL_PUNCH_HOLE
+#define FALLOC_FL_PUNCH_HOLE 0x02 /* de-allocates range */
+#endif
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#include <algorithm>
+#include <cerrno>
+#include <cstdio>
+#include <cstdint>
+#include <cstdlib>
#include <memory>
+#include <ostream>
#include <string>
+#include <utility>
+#include <vector>
+#include <gflags/gflags_declare.h>
#include <glog/logging.h>
-#include <glog/stl_logging.h>
+#include <glog/stl_logging.h> // IWYU pragma: keep
#include <gtest/gtest.h>
#include "kudu/gutil/bind.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/strings/human_readable.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/gutil/strings/util.h"
#include "kudu/util/env.h"
#include "kudu/util/env_util.h"
-#include "kudu/util/malloc.h"
+#include "kudu/util/make_shared.h"
+#include "kudu/util/monotime.h"
+#include "kudu/util/faststring.h"
#include "kudu/util/path_util.h"
#include "kudu/util/random.h"
#include "kudu/util/random_util.h"
+#include "kudu/util/slice.h"
#include "kudu/util/status.h"
#include "kudu/util/stopwatch.h"
+#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
-#if !defined(__APPLE__)
-#include <linux/falloc.h>
-#endif // !defined(__APPLE__)
-// Copied from falloc.h. Useful for older kernels that lack support for
-// hole punching; fallocate(2) will return EOPNOTSUPP.
-#ifndef FALLOC_FL_KEEP_SIZE
-#define FALLOC_FL_KEEP_SIZE 0x01 /* default is extend size */
-#endif
-#ifndef FALLOC_FL_PUNCH_HOLE
-#define FALLOC_FL_PUNCH_HOLE 0x02 /* de-allocates range */
-#endif
-
DECLARE_bool(never_fsync);
DECLARE_bool(suicide_on_eio);
DECLARE_double(env_inject_eio);
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/env.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/env.cc b/src/kudu/util/env.cc
index 1f6478c..90755e0 100644
--- a/src/kudu/util/env.cc
+++ b/src/kudu/util/env.cc
@@ -6,7 +6,10 @@
#include <memory>
+#include <glog/logging.h>
+
#include "kudu/util/faststring.h"
+#include "kudu/util/slice.h"
using std::unique_ptr;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/env.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/env.h b/src/kudu/util/env.h
index c2a1bdc..7624577 100644
--- a/src/kudu/util/env.h
+++ b/src/kudu/util/env.h
@@ -13,7 +13,7 @@
#ifndef STORAGE_LEVELDB_INCLUDE_ENV_H_
#define STORAGE_LEVELDB_INCLUDE_ENV_H_
-#include <cstdarg>
+#include <cstddef>
#include <cstdint>
#include <map>
#include <memory>
@@ -21,6 +21,7 @@
#include <vector>
#include "kudu/gutil/callback_forward.h"
+#include "kudu/gutil/macros.h"
#include "kudu/util/status.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/env_posix.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/env_posix.cc b/src/kudu/util/env_posix.cc
index f4a3388..58c3984 100644
--- a/src/kudu/util/env_posix.cc
+++ b/src/kudu/util/env_posix.cc
@@ -3,40 +3,49 @@
// found in the LICENSE file. See the AUTHORS file for names of contributors.
#include <dirent.h>
-#include <errno.h>
#include <fcntl.h>
#include <fnmatch.h>
#include <fts.h>
#include <glob.h>
-#include <limits.h>
#include <pthread.h>
-#include <sys/mman.h>
#include <sys/resource.h>
#include <sys/stat.h>
#include <sys/statvfs.h>
#include <sys/time.h>
-#include <sys/types.h>
#include <sys/uio.h>
#include <sys/utsname.h>
#include <unistd.h>
+// IWYU pragma: no_include <asm/int-ll64.h>
+// IWYU pragma: no_include <asm/ioctl.h>
+// IWYU pragma: no_include <sys/statfs.h>
+#include <algorithm>
+#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
+#include <map>
#include <memory>
#include <numeric>
+#include <cerrno>
+#include <ostream>
#include <string>
#include <type_traits>
#include <vector>
+#include <gflags/gflags.h>
#include <glog/logging.h>
#include "kudu/gutil/atomicops.h"
+#include "kudu/gutil/basictypes.h"
+#include "kudu/gutil/bind_helpers.h"
#include "kudu/gutil/bind.h"
-#include "kudu/gutil/callback.h"
+#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/macros.h"
#include "kudu/gutil/map-util.h"
#include "kudu/gutil/once.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/strings/split.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/atomic.h"
@@ -52,9 +61,11 @@
#include "kudu/util/path_util.h"
#include "kudu/util/scoped_cleanup.h"
#include "kudu/util/slice.h"
+#include "kudu/util/status.h"
#include "kudu/util/stopwatch.h"
#include "kudu/util/thread_restrictions.h"
#include "kudu/util/trace.h"
+#include "kudu/gutil/stringprintf.h"
#if defined(__APPLE__)
#include <mach-o/dyld.h>
@@ -63,10 +74,11 @@
#include <linux/falloc.h>
#include <linux/fiemap.h>
#include <linux/fs.h>
+#include <linux/kernel.h>
#include <linux/magic.h>
#include <sys/ioctl.h>
#include <sys/sysinfo.h>
-#include <sys/vfs.h>
+#include <sys/vfs.h> // IWYU pragma: keep
#endif // defined(__APPLE__)
using base::subtle::Atomic64;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/env_util-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/env_util-test.cc b/src/kudu/util/env_util-test.cc
index 61a4e3e..1298646 100644
--- a/src/kudu/util/env_util-test.cc
+++ b/src/kudu/util/env_util-test.cc
@@ -20,17 +20,24 @@
#include <unistd.h>
#include <algorithm>
+#include <cstdint>
+#include <cerrno>
#include <memory>
+#include <string>
#include <unordered_set>
+#include <vector>
-#include <gflags/gflags.h>
+#include <gflags/gflags_declare.h>
+#include <glog/logging.h>
#include <glog/stl_logging.h>
+#include <gtest/gtest.h>
-#include "kudu/gutil/map-util.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/gutil/walltime.h"
+#include "kudu/util/env.h"
#include "kudu/util/env_util.h"
#include "kudu/util/path_util.h"
+#include "kudu/util/status.h"
#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/env_util.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/env_util.cc b/src/kudu/util/env_util.cc
index c6e0f50..04a9844 100644
--- a/src/kudu/util/env_util.cc
+++ b/src/kudu/util/env_util.cc
@@ -18,23 +18,24 @@
#include "kudu/util/env_util.h"
#include <algorithm>
+#include <cstdint>
+#include <cerrno>
+#include <ctime>
#include <memory>
#include <string>
-#include <utility>
#include <vector>
+#include <utility>
#include <gflags/gflags.h>
#include <glog/logging.h>
#include "kudu/gutil/bind.h"
-#include "kudu/gutil/map-util.h"
-#include "kudu/gutil/strings/numbers.h"
-#include "kudu/gutil/strings/split.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/gutil/strings/util.h"
-#include "kudu/util/debug-util.h"
#include "kudu/util/env.h"
#include "kudu/util/flag_tags.h"
+#include "kudu/util/slice.h"
#include "kudu/util/path_util.h"
#include "kudu/util/status.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/env_util.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/env_util.h b/src/kudu/util/env_util.h
index f93d81b..21bf0ff 100644
--- a/src/kudu/util/env_util.h
+++ b/src/kudu/util/env_util.h
@@ -17,13 +17,22 @@
#ifndef KUDU_UTIL_ENV_UTIL_H
#define KUDU_UTIL_ENV_UTIL_H
+#include <cstddef>
+#include <cstdint>
#include <memory>
#include <string>
#include "kudu/gutil/macros.h"
-#include "kudu/util/env.h"
+#include "kudu/util/status.h"
namespace kudu {
+
+class Env;
+class RandomAccessFile;
+class SequentialFile;
+class WritableFile;
+struct WritableFileOptions;
+
namespace env_util {
Status OpenFileForWrite(Env *env, const std::string &path,
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/errno-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/errno-test.cc b/src/kudu/util/errno-test.cc
index 911ca14..f628b55 100644
--- a/src/kudu/util/errno-test.cc
+++ b/src/kudu/util/errno-test.cc
@@ -15,6 +15,7 @@
// specific language governing permissions and limitations
// under the License.
+#include <cerrno>
#include <string>
#include <gtest/gtest.h>
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/errno.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/errno.cc b/src/kudu/util/errno.cc
index 65b2173..cc00d0f 100644
--- a/src/kudu/util/errno.cc
+++ b/src/kudu/util/errno.cc
@@ -17,11 +17,11 @@
#include "kudu/util/errno.h"
-#include <errno.h>
-#include <string.h>
+#include <cstring>
+#include <glog/logging.h>
#include "kudu/gutil/dynamic_annotations.h"
-#include "kudu/util/logging.h"
+// IWYU pragma: no_include <features.h>
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/errno.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/errno.h b/src/kudu/util/errno.h
index 7d5416e..89802de 100644
--- a/src/kudu/util/errno.h
+++ b/src/kudu/util/errno.h
@@ -17,6 +17,7 @@
#ifndef KUDU_ERRNO_H
#define KUDU_ERRNO_H
+#include <cstddef>
#include <string>
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/failure_detector-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/failure_detector-test.cc b/src/kudu/util/failure_detector-test.cc
index 306d81a..f8f4478 100644
--- a/src/kudu/util/failure_detector-test.cc
+++ b/src/kudu/util/failure_detector-test.cc
@@ -15,17 +15,23 @@
// specific language governing permissions and limitations
// under the License.
+#include <algorithm>
+#include <ostream>
+#include <string>
+#include <glog/logging.h>
#include <gtest/gtest.h>
-#include <string>
#include "kudu/gutil/bind.h"
+#include "kudu/gutil/bind_helpers.h"
#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/map-util.h"
+#include "kudu/gutil/ref_counted.h"
#include "kudu/util/countdown_latch.h"
#include "kudu/util/failure_detector.h"
-#include "kudu/util/locks.h"
#include "kudu/util/monotime.h"
#include "kudu/util/status.h"
+#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/failure_detector.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/failure_detector.cc b/src/kudu/util/failure_detector.cc
index 8e2a6ae..7adb403 100644
--- a/src/kudu/util/failure_detector.cc
+++ b/src/kudu/util/failure_detector.cc
@@ -17,15 +17,18 @@
#include "kudu/util/failure_detector.h"
-#include <glog/logging.h>
+#include <cstddef>
#include <mutex>
+#include <ostream>
#include <unordered_map>
+#include <glog/logging.h>
+
+#include "kudu/gutil/basictypes.h"
+#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/gutil/map-util.h"
#include "kudu/gutil/stl_util.h"
#include "kudu/gutil/strings/substitute.h"
-#include "kudu/util/locks.h"
-#include "kudu/util/random_util.h"
#include "kudu/util/status.h"
#include "kudu/util/thread.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/failure_detector.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/failure_detector.h b/src/kudu/util/failure_detector.h
index 0290011..1e986b4 100644
--- a/src/kudu/util/failure_detector.h
+++ b/src/kudu/util/failure_detector.h
@@ -18,22 +18,20 @@
#ifndef KUDU_UTIL_FAILURE_DETECTOR_H_
#define KUDU_UTIL_FAILURE_DETECTOR_H_
+#include <cstdint>
#include <string>
#include <unordered_map>
#include "kudu/gutil/callback.h"
-#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/gutil/macros.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/ref_counted.h"
#include "kudu/util/countdown_latch.h"
-#include "kudu/util/monotime.h"
#include "kudu/util/locks.h"
+#include "kudu/util/monotime.h"
#include "kudu/util/random.h"
-#include "kudu/util/status_callback.h"
namespace kudu {
-class MonoDelta;
-class MonoTime;
class Status;
class Thread;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/faststring-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/faststring-test.cc b/src/kudu/util/faststring-test.cc
index c57cb41..07c5697 100644
--- a/src/kudu/util/faststring-test.cc
+++ b/src/kudu/util/faststring-test.cc
@@ -16,6 +16,11 @@
// under the License.
#include <algorithm>
+#include <cstring>
+#include <memory>
+
+#include <gtest/gtest.h>
+
#include "kudu/util/faststring.h"
#include "kudu/util/random.h"
#include "kudu/util/random_util.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/faststring.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/faststring.h b/src/kudu/util/faststring.h
index 3d25c84..992060b 100644
--- a/src/kudu/util/faststring.h
+++ b/src/kudu/util/faststring.h
@@ -17,10 +17,13 @@
#ifndef KUDU_UTIL_FASTSTRING_H
#define KUDU_UTIL_FASTSTRING_H
+#include <cstdint>
+#include <cstring>
#include <string>
#include "kudu/gutil/dynamic_annotations.h"
#include "kudu/gutil/macros.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/strings/fastmem.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/fault_injection.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/fault_injection.cc b/src/kudu/util/fault_injection.cc
index 20d24e7..32cb954 100644
--- a/src/kudu/util/fault_injection.cc
+++ b/src/kudu/util/fault_injection.cc
@@ -17,13 +17,16 @@
#include "kudu/util/fault_injection.h"
-#include <stdlib.h>
-#include <sys/time.h>
+#include <unistd.h>
+#include <ostream>
+
+#include <glog/logging.h>
+
+#include "kudu/gutil/dynamic_annotations.h"
#include "kudu/gutil/once.h"
#include "kudu/util/debug/leakcheck_disabler.h"
#include "kudu/util/monotime.h"
-#include "kudu/util/os-util.h"
#include "kudu/util/random.h"
#include "kudu/util/random_util.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/fault_injection.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/fault_injection.h b/src/kudu/util/fault_injection.h
index 43548e6..c46b118 100644
--- a/src/kudu/util/fault_injection.h
+++ b/src/kudu/util/fault_injection.h
@@ -18,6 +18,7 @@
#define KUDU_UTIL_FAULT_INJECTION_H
#include "kudu/gutil/macros.h"
+#include "kudu/gutil/port.h"
#include "kudu/util/status.h"
// Macros for injecting various kinds of faults with varying probability. If
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/file_cache-stress-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/file_cache-stress-test.cc b/src/kudu/util/file_cache-stress-test.cc
index 0402bdc..2960feb 100644
--- a/src/kudu/util/file_cache-stress-test.cc
+++ b/src/kudu/util/file_cache-stress-test.cc
@@ -44,6 +44,7 @@
#include "kudu/util/path_util.h"
#include "kudu/util/random.h"
#include "kudu/util/status.h"
+#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
// Like CHECK_OK(), but dumps the contents of the cache before failing.
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/file_cache-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/file_cache-test.cc b/src/kudu/util/file_cache-test.cc
index 1752bd2..7d8bd3a 100644
--- a/src/kudu/util/file_cache-test.cc
+++ b/src/kudu/util/file_cache-test.cc
@@ -17,20 +17,27 @@
#include "kudu/util/file_cache.h"
+#include <unistd.h>
+
+#include <cstdint>
#include <memory>
#include <string>
#include <thread>
#include <vector>
-#include <gflags/gflags.h>
+#include <gflags/gflags_declare.h>
+#include <glog/logging.h>
#include <gtest/gtest.h>
#include "kudu/gutil/strings/substitute.h"
+#include "kudu/util/cache.h"
#include "kudu/util/env.h"
-#include "kudu/util/metrics.h"
+#include "kudu/util/metrics.h" // IWYU pragma: keep
#include "kudu/util/random.h"
#include "kudu/util/scoped_cleanup.h"
+#include "kudu/util/slice.h"
#include "kudu/util/status.h"
+#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
DECLARE_bool(cache_force_single_shard);
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/file_cache.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/file_cache.cc b/src/kudu/util/file_cache.cc
index de0cae7..34e9eef 100644
--- a/src/kudu/util/file_cache.cc
+++ b/src/kudu/util/file_cache.cc
@@ -18,13 +18,17 @@
#include "kudu/util/file_cache.h"
#include <atomic>
+#include <cstdint>
+#include <cstring>
#include <memory>
#include <mutex>
+#include <ostream>
#include <string>
#include <utility>
#include <vector>
#include <gflags/gflags.h>
+#include <glog/logging.h>
#include "kudu/gutil/macros.h"
#include "kudu/gutil/map-util.h"
@@ -35,9 +39,10 @@
#include "kudu/util/env.h"
#include "kudu/util/flag_tags.h"
#include "kudu/util/locks.h"
-#include "kudu/util/malloc.h"
-#include "kudu/util/metrics.h"
+#include "kudu/util/metrics.h" // IWYU pragma: keep
+#include "kudu/util/monotime.h"
#include "kudu/util/once.h"
+#include "kudu/util/slice.h"
#include "kudu/util/status.h"
#include "kudu/util/thread.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/file_cache.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/file_cache.h b/src/kudu/util/file_cache.h
index 44330d3..021c758 100644
--- a/src/kudu/util/file_cache.h
+++ b/src/kudu/util/file_cache.h
@@ -27,13 +27,13 @@
#include "kudu/gutil/ref_counted.h"
#include "kudu/util/cache.h"
#include "kudu/util/countdown_latch.h"
-#include "kudu/util/env.h"
#include "kudu/util/locks.h"
-#include "kudu/util/slice.h"
#include "kudu/util/status.h"
namespace kudu {
+class Env;
+
namespace internal {
template <class FileType>
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/flag_tags-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/flag_tags-test.cc b/src/kudu/util/flag_tags-test.cc
index 13ee535..a06a05e 100644
--- a/src/kudu/util/flag_tags-test.cc
+++ b/src/kudu/util/flag_tags-test.cc
@@ -15,16 +15,22 @@
// specific language governing permissions and limitations
// under the License.
+#include <string>
+#include <unordered_set>
+#include <vector>
+
#include <gtest/gtest.h>
#include <gflags/gflags.h>
-#include <unordered_set>
+#include <gflags/gflags_declare.h>
#include "kudu/gutil/map-util.h"
+#include "kudu/gutil/macros.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/flag_tags.h"
#include "kudu/util/flags.h"
#include "kudu/util/logging.h"
#include "kudu/util/logging_test_util.h"
+#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
DECLARE_bool(never_fsync);
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/flag_tags.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/flag_tags.cc b/src/kudu/util/flag_tags.cc
index 8b9ebe3..7e11ea2 100644
--- a/src/kudu/util/flag_tags.cc
+++ b/src/kudu/util/flag_tags.cc
@@ -17,15 +17,18 @@
#include "kudu/util/flag_tags.h"
-#include "kudu/gutil/map-util.h"
-#include "kudu/gutil/singleton.h"
-
#include <map>
+#include <ostream>
#include <string>
#include <unordered_set>
#include <utility>
#include <vector>
+#include <glog/logging.h>
+
+#include "kudu/gutil/map-util.h"
+#include "kudu/gutil/singleton.h"
+
using std::multimap;
using std::pair;
using std::string;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/flag_tags.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/flag_tags.h b/src/kudu/util/flag_tags.h
index ddfdab1..ba5c870 100644
--- a/src/kudu/util/flag_tags.h
+++ b/src/kudu/util/flag_tags.h
@@ -112,7 +112,6 @@
#include <string>
#include <unordered_set>
-#include <vector>
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/flag_validators-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/flag_validators-test.cc b/src/kudu/util/flag_validators-test.cc
index 3e7fb5b..77efab3 100644
--- a/src/kudu/util/flag_validators-test.cc
+++ b/src/kudu/util/flag_validators-test.cc
@@ -15,15 +15,22 @@
// specific language governing permissions and limitations
// under the License.
+#include <cstdlib>
+#include <functional>
+#include <map>
+#include <ostream>
#include <string>
+#include <utility>
#include <gflags/gflags.h>
+#include <glog/logging.h>
#include <gtest/gtest.h>
+#include "kudu/gutil/macros.h"
#include "kudu/util/debug/leakcheck_disabler.h"
#include "kudu/util/flags.h"
#include "kudu/util/flag_validators.h"
-#include "kudu/util/logging.h"
+#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
DEFINE_string(grouped_0, "", "First flag to set.");
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/flags-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/flags-test.cc b/src/kudu/util/flags-test.cc
index dd5acd0..60ebebb 100644
--- a/src/kudu/util/flags-test.cc
+++ b/src/kudu/util/flags-test.cc
@@ -15,15 +15,23 @@
// specific language governing permissions and limitations
// under the License.
+#include <string>
+#include <vector>
+
#include <gflags/gflags.h>
+#include <gflags/gflags_declare.h>
+#include <glog/logging.h>
#include <gtest/gtest.h>
-#include <string>
+#include "kudu/gutil/macros.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/env.h"
#include "kudu/util/flags.h"
#include "kudu/util/flag_tags.h"
#include "kudu/util/logging.h"
+#include "kudu/util/slice.h"
+#include "kudu/util/status.h"
+#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
// Test gflags
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/flags.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/flags.cc b/src/kudu/util/flags.cc
index 19d5b4f..957ea7a 100644
--- a/src/kudu/util/flags.cc
+++ b/src/kudu/util/flags.cc
@@ -17,21 +17,32 @@
#include "kudu/util/flags.h"
+#include <unistd.h>
+
+#include <cstdlib>
+#include <functional>
#include <iostream>
-#include <map>
-#include <sstream>
#include <string>
#include <unordered_set>
+#include <utility>
#include <vector>
#include <sys/stat.h>
-#include <sys/types.h>
#include <gflags/gflags.h>
+#include <gflags/gflags_declare.h>
+#include <glog/logging.h>
+#ifdef TCMALLOC_ENABLED
#include <gperftools/heap-profiler.h>
+#endif
+#include "kudu/gutil/macros.h"
+#include "kudu/gutil/map-util.h"
+#include "kudu/gutil/stringprintf.h"
#include "kudu/gutil/strings/join.h"
+#include "kudu/gutil/strings/numbers.h"
#include "kudu/gutil/strings/split.h"
+#include "kudu/gutil/strings/stringpiece.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/flag_tags.h"
#include "kudu/util/flag_validators.h"
@@ -48,7 +59,7 @@ using google::CommandLineFlagInfo;
using std::cout;
using std::endl;
using std::string;
-using std::stringstream;
+using std::ostringstream;
using std::unordered_set;
using std::vector;
@@ -352,7 +363,7 @@ void DumpFlagsXML() {
EscapeForHtmlToString(google::ProgramUsage())) << endl;
for (const CommandLineFlagInfo& flag : flags) {
- cout << DescribeOneFlagInXML(flag) << std::endl;
+ cout << DescribeOneFlagInXML(flag) << endl;
}
cout << "</AllFlags>" << endl;
@@ -516,7 +527,7 @@ string CommandlineFlagsIntoString(EscapeMode mode) {
}
string GetNonDefaultFlags(const GFlagsMap& default_flags) {
- stringstream args;
+ ostringstream args;
vector<CommandLineFlagInfo> flags;
GetAllFlags(&flags);
for (const auto& flag : flags) {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/flags.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/flags.h b/src/kudu/util/flags.h
index ae20564..0c3028a 100644
--- a/src/kudu/util/flags.h
+++ b/src/kudu/util/flags.h
@@ -17,11 +17,13 @@
#ifndef KUDU_UTIL_FLAGS_H
#define KUDU_UTIL_FLAGS_H
-#include <gflags/gflags.h>
+#include <cstdint>
#include <string>
#include <unordered_map>
-#include "kudu/gutil/macros.h"
+namespace google {
+ struct CommandLineFlagInfo;
+}
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/group_varint-inl.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/group_varint-inl.h b/src/kudu/util/group_varint-inl.h
index 8f418b6..27e289f 100644
--- a/src/kudu/util/group_varint-inl.h
+++ b/src/kudu/util/group_varint-inl.h
@@ -17,11 +17,37 @@
#ifndef KUDU_UTIL_GROUP_VARINT_INL_H
#define KUDU_UTIL_GROUP_VARINT_INL_H
+#include <emmintrin.h>
+#ifdef __linux__
+#include <endian.h>
+#endif
+#include <smmintrin.h>
+#include <tmmintrin.h>
+#include <xmmintrin.h>
+
+#include <cstdint>
+#include <cstring>
+
#include <boost/utility/binary.hpp>
+#include <boost/parameter/name.hpp>
+#include <boost/preprocessor/arithmetic/dec.hpp>
+#include <boost/preprocessor/arithmetic/inc.hpp>
+#include <boost/preprocessor/control/iif.hpp>
+#include <boost/preprocessor/control/while.hpp>
+#include <boost/preprocessor/list/fold_left.hpp>
+#include <boost/preprocessor/logical/bitand.hpp>
+#include <boost/preprocessor/logical/bool.hpp>
+#include <boost/preprocessor/logical/compl.hpp>
+#include <boost/preprocessor/seq/elem.hpp>
+#include <boost/preprocessor/seq/fold_left.hpp>
+#include <boost/preprocessor/seq/size.hpp>
+#include <boost/preprocessor/tuple/elem.hpp>
+#include <boost/preprocessor/variadic/elem.hpp>
#include <glog/logging.h>
-#include <stdint.h>
-#include <smmintrin.h>
+#ifndef __linux__
+#include "kudu/gutil/port.h"
+#endif
#include "kudu/util/faststring.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/group_varint-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/group_varint-test.cc b/src/kudu/util/group_varint-test.cc
index e8f4bfa..983fb0f 100644
--- a/src/kudu/util/group_varint-test.cc
+++ b/src/kudu/util/group_varint-test.cc
@@ -15,12 +15,21 @@
// specific language governing permissions and limitations
// under the License.
-#include <glog/logging.h>
-#include <gtest/gtest.h>
+#include <cstdint>
+#include <cstdlib>
+#include <cstring>
+#include <string>
+#ifdef NDEBUG
#include <vector>
+#endif
+#include <gtest/gtest.h>
+
+#include "kudu/util/faststring.h"
#include "kudu/util/group_varint-inl.h"
+#ifdef NDEBUG
#include "kudu/util/stopwatch.h"
+#endif
namespace kudu {
namespace coding {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/group_varint.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/group_varint.cc b/src/kudu/util/group_varint.cc
index 53c362b..47fbeb4 100644
--- a/src/kudu/util/group_varint.cc
+++ b/src/kudu/util/group_varint.cc
@@ -15,8 +15,11 @@
// specific language governing permissions and limitations
// under the License.
-#include <stdint.h>
-#include <string.h>
+#include <cstdint>
+#include <cstring>
+#include <ostream>
+#include <string>
+
#include <boost/utility/binary.hpp>
#include <glog/logging.h>
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/hash_util-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/hash_util-test.cc b/src/kudu/util/hash_util-test.cc
index a88f275..4e40dd5 100644
--- a/src/kudu/util/hash_util-test.cc
+++ b/src/kudu/util/hash_util-test.cc
@@ -15,7 +15,9 @@
// specific language governing permissions and limitations
// under the License.
-#include "kudu/util/test_util.h"
+#include <cstdint>
+
+#include <gtest/gtest.h>
#include "kudu/util/hash_util.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/hdr_histogram-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/hdr_histogram-test.cc b/src/kudu/util/hdr_histogram-test.cc
index bf1c101..5d51e98 100644
--- a/src/kudu/util/hdr_histogram-test.cc
+++ b/src/kudu/util/hdr_histogram-test.cc
@@ -14,11 +14,14 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
+
+#include <cstdint>
+
#include <gtest/gtest.h>
#include "kudu/util/hdr_histogram.h"
-#include "kudu/util/status.h"
#include "kudu/util/test_util.h"
+#include "kudu/util/test_macros.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/hdr_histogram.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/hdr_histogram.cc b/src/kudu/util/hdr_histogram.cc
index e510df3..68894c7 100644
--- a/src/kudu/util/hdr_histogram.cc
+++ b/src/kudu/util/hdr_histogram.cc
@@ -26,6 +26,10 @@
#include <algorithm>
#include <cmath>
#include <limits>
+#include <ostream>
+#include <string>
+
+#include <glog/logging.h>
#include "kudu/gutil/atomicops.h"
#include "kudu/gutil/bits.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/hdr_histogram.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/hdr_histogram.h b/src/kudu/util/hdr_histogram.h
index 19e31cc..14b5e95 100644
--- a/src/kudu/util/hdr_histogram.h
+++ b/src/kudu/util/hdr_histogram.h
@@ -52,12 +52,12 @@
#include "kudu/gutil/atomicops.h"
#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/macros.h"
+#include "kudu/gutil/port.h"
namespace kudu {
-class AbstractHistogramIterator;
class Status;
-class RecordedValuesIterator;
// This implementation allows you to specify a range and accuracy (significant
// digits) to support in an instance of a histogram. The class takes care of
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/hexdump.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/hexdump.cc b/src/kudu/util/hexdump.cc
index 8f7c6cd..59634c2 100644
--- a/src/kudu/util/hexdump.cc
+++ b/src/kudu/util/hexdump.cc
@@ -18,6 +18,8 @@
#include "kudu/util/hexdump.h"
#include <algorithm>
+#include <cctype>
+#include <cstdint>
#include <string>
#include "kudu/gutil/stringprintf.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/init.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/init.cc b/src/kudu/util/init.cc
index 3fa634a..bd97d79 100644
--- a/src/kudu/util/init.cc
+++ b/src/kudu/util/init.cc
@@ -20,8 +20,11 @@
#include <fcntl.h>
#include <unistd.h>
+#include <cstdlib>
#include <string>
+#include <glog/logging.h>
+
#include "kudu/gutil/cpu.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/status.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/init.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/init.h b/src/kudu/util/init.h
index 3f7916c..84e36e1 100644
--- a/src/kudu/util/init.h
+++ b/src/kudu/util/init.h
@@ -17,7 +17,6 @@
#ifndef KUDU_UTIL_INIT_H
#define KUDU_UTIL_INIT_H
-#include "kudu/gutil/macros.h"
#include "kudu/util/status.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/inline_slice-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/inline_slice-test.cc b/src/kudu/util/inline_slice-test.cc
index df69028..8435bb0 100644
--- a/src/kudu/util/inline_slice-test.cc
+++ b/src/kudu/util/inline_slice-test.cc
@@ -15,12 +15,16 @@
// specific language governing permissions and limitations
// under the License.
+#include <cstddef>
+#include <cstdint>
+#include <string>
+
#include <gtest/gtest.h>
-#include <vector>
#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/util/inline_slice.h"
#include "kudu/util/memory/arena.h"
+#include "kudu/util/slice.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/interval_tree-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/interval_tree-test.cc b/src/kudu/util/interval_tree-test.cc
index b547595..df143d3 100644
--- a/src/kudu/util/interval_tree-test.cc
+++ b/src/kudu/util/interval_tree-test.cc
@@ -17,13 +17,18 @@
// All rights reserved.
-#include <stdlib.h>
-
#include <algorithm>
-#include <tuple>
-
-#include <boost/optional.hpp>
-#include <glog/stl_logging.h>
+#include <cstdlib>
+#include <map>
+#include <memory>
+#include <ostream>
+#include <string>
+#include <tuple> // IWYU pragma: keep
+#include <utility>
+#include <vector>
+
+#include <boost/optional/optional.hpp>
+#include <glog/logging.h>
#include <gtest/gtest.h>
#include "kudu/gutil/stringprintf.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/jsonreader-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/jsonreader-test.cc b/src/kudu/util/jsonreader-test.cc
index 3c54cc7..d9bf65b 100644
--- a/src/kudu/util/jsonreader-test.cc
+++ b/src/kudu/util/jsonreader-test.cc
@@ -15,14 +15,18 @@
// specific language governing permissions and limitations
// under the License.
+#include <cstddef>
+#include <cstdint>
#include <string>
#include <vector>
#include <gtest/gtest.h>
+#include <rapidjson/document.h>
#include "kudu/gutil/integral_types.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/jsonreader.h"
+#include "kudu/util/status.h"
#include "kudu/util/test_macros.h"
using rapidjson::Value;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/jsonreader.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/jsonreader.cc b/src/kudu/util/jsonreader.cc
index e39761d..826449d 100644
--- a/src/kudu/util/jsonreader.cc
+++ b/src/kudu/util/jsonreader.cc
@@ -17,6 +17,9 @@
#include "kudu/util/jsonreader.h"
+#include <algorithm>
+
+#include "kudu/gutil/port.h"
#include "kudu/gutil/strings/substitute.h"
using rapidjson::Value;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/jsonreader.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/jsonreader.h b/src/kudu/util/jsonreader.h
index 2d9e982..4799f73 100644
--- a/src/kudu/util/jsonreader.h
+++ b/src/kudu/util/jsonreader.h
@@ -17,13 +17,12 @@
#ifndef KUDU_UTIL_JSONREADER_H_
#define KUDU_UTIL_JSONREADER_H_
-#include <stdint.h>
+#include <cstdint>
#include <string>
#include <vector>
#include <rapidjson/document.h>
-#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/gutil/macros.h"
#include "kudu/util/status.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/jsonwriter-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/jsonwriter-test.cc b/src/kudu/util/jsonwriter-test.cc
index 08d54de..9dc7e69 100644
--- a/src/kudu/util/jsonwriter-test.cc
+++ b/src/kudu/util/jsonwriter-test.cc
@@ -15,12 +15,12 @@
// specific language governing permissions and limitations
// under the License.
+#include <gflags/gflags.h>
#include <gtest/gtest.h>
#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/jsonwriter.h"
#include "kudu/util/jsonwriter_test.pb.h"
-#include "kudu/util/logging.h"
#include "kudu/util/test_util.h"
using jsonwriter_test::TestAllTypes;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/jsonwriter.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/jsonwriter.cc b/src/kudu/util/jsonwriter.cc
index ef9d5ba..d2f1f65 100644
--- a/src/kudu/util/jsonwriter.cc
+++ b/src/kudu/util/jsonwriter.cc
@@ -14,8 +14,10 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
+
#include "kudu/util/jsonwriter.h"
+#include <new>
#include <sstream>
#include <string>
#include <vector>
@@ -24,9 +26,11 @@
#include <google/protobuf/descriptor.h>
#include <google/protobuf/descriptor.pb.h>
#include <google/protobuf/message.h>
+#include <rapidjson/writer.h>
#include <rapidjson/prettywriter.h>
#include <rapidjson/rapidjson.h>
+#include "kudu/gutil/port.h"
#include "kudu/util/logging.h"
#include "kudu/util/pb_util.pb.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/jsonwriter.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/jsonwriter.h b/src/kudu/util/jsonwriter.h
index d3fb604..860bfaa 100644
--- a/src/kudu/util/jsonwriter.h
+++ b/src/kudu/util/jsonwriter.h
@@ -17,8 +17,9 @@
#ifndef KUDU_UTIL_JSONWRITER_H
#define KUDU_UTIL_JSONWRITER_H
-#include <inttypes.h>
-
+#include <cstddef>
+#include <cstdint>
+#include <iosfwd>
#include <memory>
#include <string>
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/kernel_stack_watchdog.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/kernel_stack_watchdog.cc b/src/kudu/util/kernel_stack_watchdog.cc
index a7097d8..b11c305 100644
--- a/src/kudu/util/kernel_stack_watchdog.cc
+++ b/src/kudu/util/kernel_stack_watchdog.cc
@@ -17,16 +17,24 @@
#include "kudu/util/kernel_stack_watchdog.h"
+#include <cstdint>
+#include <cstring>
+#include <mutex>
+#include <ostream>
+#include <string>
+#include <utility>
+
#include <boost/bind.hpp>
#include <glog/logging.h>
#include <gflags/gflags.h>
-#include <string>
+#include "kudu/gutil/dynamic_annotations.h"
#include "kudu/util/debug-util.h"
#include "kudu/util/debug/leakcheck_disabler.h"
#include "kudu/util/env.h"
#include "kudu/util/faststring.h"
#include "kudu/util/flag_tags.h"
+#include "kudu/util/monotime.h"
#include "kudu/util/thread.h"
#include "kudu/util/status.h"
#include "kudu/gutil/map-util.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/util/kernel_stack_watchdog.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/kernel_stack_watchdog.h b/src/kudu/util/kernel_stack_watchdog.h
index 79b6087..26b8253 100644
--- a/src/kudu/util/kernel_stack_watchdog.h
+++ b/src/kudu/util/kernel_stack_watchdog.h
@@ -53,18 +53,22 @@
#ifndef KUDU_UTIL_KERNEL_STACK_WATCHDOG_H
#define KUDU_UTIL_KERNEL_STACK_WATCHDOG_H
+#include <ctime>
#include <string>
#include <unordered_map>
#include <vector>
+#include <glog/logging.h>
+
+#include "kudu/gutil/atomicops.h"
#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/gutil/macros.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/ref_counted.h"
#include "kudu/gutil/singleton.h"
#include "kudu/gutil/walltime.h"
#include "kudu/util/countdown_latch.h"
#include "kudu/util/locks.h"
-#include "kudu/util/monotime.h"
#include "kudu/util/mutex.h"
#include "kudu/util/threadlocal.h"