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:57 UTC
[10/14] kudu git commit: [iwyu] first pass
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/log-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log-test.cc b/src/kudu/consensus/log-test.cc
index dd5c69b..4e2dec9 100644
--- a/src/kudu/consensus/log-test.cc
+++ b/src/kudu/consensus/log-test.cc
@@ -16,23 +16,49 @@
// under the License.
#include <algorithm>
+#include <cerrno>
+#include <cstddef>
+#include <cstdint>
#include <limits>
#include <memory>
+#include <ostream>
#include <string>
+#include <type_traits>
#include <vector>
-#include <boost/bind.hpp>
-#include <boost/function.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/consensus/consensus-test-util.h"
+#include "kudu/common/wire_protocol-test-util.h"
+#include "kudu/common/wire_protocol.h"
+#include "kudu/consensus/consensus.pb.h"
#include "kudu/consensus/log-test-base.h"
+#include "kudu/consensus/log.h"
+#include "kudu/consensus/log.pb.h"
+#include "kudu/consensus/log_anchor_registry.h"
#include "kudu/consensus/log_index.h"
+#include "kudu/consensus/log_reader.h"
+#include "kudu/consensus/log_util.h"
+#include "kudu/consensus/opid.pb.h"
#include "kudu/consensus/opid_util.h"
+#include "kudu/fs/fs_manager.h"
+#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/move.h"
+#include "kudu/gutil/ref_counted.h"
#include "kudu/gutil/stl_util.h"
#include "kudu/gutil/strings/substitute.h"
-#include "kudu/tablet/mvcc.h"
+#include "kudu/util/async_util.h"
+#include "kudu/util/compression/compression.pb.h"
+#include "kudu/util/env.h"
+#include "kudu/util/metrics.h"
#include "kudu/util/random.h"
+#include "kudu/util/status.h"
+#include "kudu/util/stopwatch.h"
+#include "kudu/util/test_macros.h"
+#include "kudu/util/test_util.h"
DEFINE_int32(num_batches, 10000,
"Number of batches to write to/read from the Log in TestWriteManyBatches");
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/log.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log.cc b/src/kudu/consensus/log.cc
index 6b22733..1df37d9 100644
--- a/src/kudu/consensus/log.cc
+++ b/src/kudu/consensus/log.cc
@@ -18,39 +18,47 @@
#include "kudu/consensus/log.h"
#include <algorithm>
-#include <limits>
+#include <cerrno>
+#include <cstdint>
#include <memory>
#include <mutex>
+#include <ostream>
#include <boost/range/adaptor/reversed.hpp>
+#include <gflags/gflags.h>
#include "kudu/common/wire_protocol.h"
#include "kudu/consensus/log_index.h"
#include "kudu/consensus/log_metrics.h"
#include "kudu/consensus/log_reader.h"
#include "kudu/consensus/log_util.h"
+#include "kudu/consensus/opid_util.h"
#include "kudu/fs/fs_manager.h"
-#include "kudu/gutil/map-util.h"
+#include "kudu/gutil/atomicops.h"
+#include "kudu/gutil/bind.h"
+#include "kudu/gutil/bind_helpers.h"
+#include "kudu/gutil/dynamic_annotations.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/ref_counted.h"
-#include "kudu/gutil/stl_util.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/gutil/walltime.h"
-#include "kudu/util/coding.h"
+#include "kudu/util/async_util.h"
+#include "kudu/util/compression/compression.pb.h"
#include "kudu/util/compression/compression_codec.h"
-#include "kudu/util/countdown_latch.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/kernel_stack_watchdog.h"
#include "kudu/util/logging.h"
#include "kudu/util/metrics.h"
+#include "kudu/util/monotime.h"
#include "kudu/util/path_util.h"
#include "kudu/util/pb_util.h"
#include "kudu/util/random.h"
#include "kudu/util/scoped_cleanup.h"
#include "kudu/util/stopwatch.h"
-#include "kudu/util/thread.h"
#include "kudu/util/threadpool.h"
#include "kudu/util/trace.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/log.h
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log.h b/src/kudu/consensus/log.h
index c4d16a3..9f4d77c 100644
--- a/src/kudu/consensus/log.h
+++ b/src/kudu/consensus/log.h
@@ -18,30 +18,43 @@
#ifndef KUDU_CONSENSUS_LOG_H_
#define KUDU_CONSENSUS_LOG_H_
+#include <cstddef>
+#include <cstdint>
#include <limits>
#include <map>
#include <memory>
#include <string>
#include <vector>
+#include <glog/logging.h>
+#include <gtest/gtest_prod.h>
+
#include "kudu/common/schema.h"
+#include "kudu/consensus/consensus.pb.h"
+#include "kudu/consensus/log.pb.h"
#include "kudu/consensus/log_util.h"
-#include "kudu/consensus/opid_util.h"
+#include "kudu/consensus/opid.pb.h"
#include "kudu/consensus/ref_counted_replicate.h"
+#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/macros.h"
#include "kudu/gutil/ref_counted.h"
-#include "kudu/gutil/spinlock.h"
-#include "kudu/util/async_util.h"
#include "kudu/util/blocking_queue.h"
+#include "kudu/util/faststring.h"
#include "kudu/util/locks.h"
-#include "kudu/util/rw_mutex.h"
#include "kudu/util/promise.h"
+#include "kudu/util/rw_mutex.h"
+#include "kudu/util/slice.h"
#include "kudu/util/status.h"
+#include "kudu/util/status_callback.h"
namespace kudu {
+class CompressionCodec;
class FsManager;
class MetricEntity;
class ThreadPool;
+class WritableFile;
+struct WritableFileOptions;
namespace log {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/log_anchor_registry-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log_anchor_registry-test.cc b/src/kudu/consensus/log_anchor_registry-test.cc
index f6d255c..a824152 100644
--- a/src/kudu/consensus/log_anchor_registry-test.cc
+++ b/src/kudu/consensus/log_anchor_registry-test.cc
@@ -17,10 +17,16 @@
#include "kudu/consensus/log_anchor_registry.h"
-#include <glog/logging.h>
+#include <cstdint>
+#include <string>
+
#include <gtest/gtest.h>
+#include "kudu/gutil/ref_counted.h"
#include "kudu/gutil/strings/substitute.h"
+#include "kudu/util/monotime.h"
+#include "kudu/util/status.h"
+#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
using std::string;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/log_anchor_registry.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log_anchor_registry.cc b/src/kudu/consensus/log_anchor_registry.cc
index 0243d54..04c0928 100644
--- a/src/kudu/consensus/log_anchor_registry.cc
+++ b/src/kudu/consensus/log_anchor_registry.cc
@@ -16,11 +16,16 @@
// under the License.
#include "kudu/consensus/log_anchor_registry.h"
-#include "kudu/consensus/opid_util.h"
#include <mutex>
+#include <ostream>
#include <string>
+#include <utility>
+
+#include <glog/logging.h>
+#include "kudu/consensus/opid_util.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/strings/substitute.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/log_anchor_registry.h
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log_anchor_registry.h b/src/kudu/consensus/log_anchor_registry.h
index 42fbc91..56857d7 100644
--- a/src/kudu/consensus/log_anchor_registry.h
+++ b/src/kudu/consensus/log_anchor_registry.h
@@ -17,10 +17,13 @@
#ifndef KUDU_CONSENSUS_LOG_ANCHOR_REGISTRY_
#define KUDU_CONSENSUS_LOG_ANCHOR_REGISTRY_
-#include <gtest/gtest_prod.h>
+#include <cstddef>
+#include <cstdint>
#include <map>
#include <string>
+#include <gtest/gtest_prod.h>
+
#include "kudu/gutil/macros.h"
#include "kudu/gutil/ref_counted.h"
#include "kudu/util/locks.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/log_cache-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log_cache-test.cc b/src/kudu/consensus/log_cache-test.cc
index 3ac9dcd..4c16efa 100644
--- a/src/kudu/consensus/log_cache-test.cc
+++ b/src/kudu/consensus/log_cache-test.cc
@@ -15,20 +15,39 @@
// specific language governing permissions and limitations
// under the License.
-#include <gtest/gtest.h>
+#include <cstddef>
+#include <cstdint>
#include <memory>
+#include <ostream>
#include <string>
+#include <vector>
+
+#include <gflags/gflags_declare.h>
+#include <glog/logging.h>
+#include <gtest/gtest.h>
+#include "kudu/clock/clock.h"
#include "kudu/clock/hybrid_clock.h"
+#include "kudu/common/schema.h"
#include "kudu/common/wire_protocol-test-util.h"
#include "kudu/consensus/consensus-test-util.h"
+#include "kudu/consensus/consensus.pb.h"
#include "kudu/consensus/log.h"
#include "kudu/consensus/log_cache.h"
+#include "kudu/consensus/log_util.h"
+#include "kudu/consensus/opid.pb.h"
+#include "kudu/consensus/opid_util.h"
+#include "kudu/consensus/ref_counted_replicate.h"
#include "kudu/fs/fs_manager.h"
-#include "kudu/gutil/bind_helpers.h"
-#include "kudu/gutil/stl_util.h"
+#include "kudu/gutil/bind.h"
+#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/port.h"
+#include "kudu/gutil/ref_counted.h"
+#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/mem_tracker.h"
#include "kudu/util/metrics.h"
+#include "kudu/util/status.h"
+#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
using std::shared_ptr;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/log_cache.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log_cache.cc b/src/kudu/consensus/log_cache.cc
index 060b03a..7660918 100644
--- a/src/kudu/consensus/log_cache.cc
+++ b/src/kudu/consensus/log_cache.cc
@@ -17,26 +17,33 @@
#include "kudu/consensus/log_cache.h"
-#include <algorithm>
-#include <gflags/gflags.h>
-#include <google/protobuf/wire_format_lite.h>
-#include <google/protobuf/wire_format_lite_inl.h>
#include <map>
#include <mutex>
#include <vector>
+#include <ostream>
+#include <utility>
+
+#include <gflags/gflags.h>
+#include <glog/logging.h>
+#include <google/protobuf/wire_format_lite.h>
+#include <google/protobuf/wire_format_lite_inl.h>
+#include "kudu/consensus/consensus.pb.h"
#include "kudu/consensus/log.h"
#include "kudu/consensus/log_reader.h"
+#include "kudu/consensus/opid.pb.h"
+#include "kudu/consensus/opid_util.h"
#include "kudu/consensus/ref_counted_replicate.h"
#include "kudu/gutil/bind.h"
+#include "kudu/gutil/bind_helpers.h"
#include "kudu/gutil/map-util.h"
-#include "kudu/gutil/stl_util.h"
+#include "kudu/gutil/mathlimits.h"
#include "kudu/gutil/strings/human_readable.h"
#include "kudu/gutil/strings/substitute.h"
-#include "kudu/util/debug-util.h"
#include "kudu/util/flag_tags.h"
#include "kudu/util/locks.h"
#include "kudu/util/logging.h"
+#include "kudu/util/make_shared.h"
#include "kudu/util/mem_tracker.h"
#include "kudu/util/metrics.h"
#include "kudu/util/pb_util.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/log_cache.h
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log_cache.h b/src/kudu/consensus/log_cache.h
index b056230..5ff8399 100644
--- a/src/kudu/consensus/log_cache.h
+++ b/src/kudu/consensus/log_cache.h
@@ -17,34 +17,34 @@
#ifndef KUDU_CONSENSUS_LOG_CACHE_H
#define KUDU_CONSENSUS_LOG_CACHE_H
+#include <cstdint>
+#include <iosfwd>
#include <map>
#include <memory>
#include <string>
#include <vector>
-#include "kudu/consensus/consensus.pb.h"
-#include "kudu/consensus/opid_util.h"
+#include <gtest/gtest_prod.h>
+
#include "kudu/consensus/ref_counted_replicate.h"
-#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/gutil/macros.h"
-#include "kudu/util/async_util.h"
+#include "kudu/gutil/ref_counted.h"
#include "kudu/util/locks.h"
#include "kudu/util/metrics.h"
#include "kudu/util/status.h"
+#include "kudu/util/status_callback.h"
namespace kudu {
-class MetricEntity;
class MemTracker;
namespace log {
class Log;
-class LogReader;
} // namespace log
namespace consensus {
-class ReplicateMsg;
+class OpId;
// Write-through cache for the log.
//
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/log_index-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log_index-test.cc b/src/kudu/consensus/log_index-test.cc
index 7bbafea..310e329 100644
--- a/src/kudu/consensus/log_index-test.cc
+++ b/src/kudu/consensus/log_index-test.cc
@@ -15,10 +15,18 @@
// specific language governing permissions and limitations
// under the License.
-#include "kudu/consensus/log_index.h"
+#include <cstdint>
+#include <string>
+
+#include <gtest/gtest.h>
+#include "kudu/consensus/log_index.h"
+#include "kudu/consensus/opid.pb.h"
#include "kudu/consensus/opid_util.h"
-#include "kudu/fs/fs_manager.h"
+#include "kudu/gutil/port.h"
+#include "kudu/gutil/ref_counted.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/consensus/log_index.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log_index.cc b/src/kudu/consensus/log_index.cc
index e3d743f..7a77e90 100644
--- a/src/kudu/consensus/log_index.cc
+++ b/src/kudu/consensus/log_index.cc
@@ -29,20 +29,27 @@
#include "kudu/consensus/log_index.h"
#include <fcntl.h>
-#include <mutex>
-#include <string>
#include <sys/mman.h>
-#include <sys/stat.h>
-#include <sys/types.h>
#include <unistd.h>
+
+#include <cerrno>
+#include <cinttypes>
+#include <cstdint>
+#include <cstring>
+#include <mutex>
+#include <ostream>
+#include <string>
+#include <utility>
#include <vector>
+#include <glog/logging.h>
+
#include "kudu/consensus/opid_util.h"
#include "kudu/gutil/map-util.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/stringprintf.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/errno.h"
-#include "kudu/util/locks.h"
using std::string;
using std::vector;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/log_index.h
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log_index.h b/src/kudu/consensus/log_index.h
index 7d12ecd..1f9ce31 100644
--- a/src/kudu/consensus/log_index.h
+++ b/src/kudu/consensus/log_index.h
@@ -17,10 +17,11 @@
#ifndef KUDU_CONSENSUS_LOG_INDEX_H
#define KUDU_CONSENSUS_LOG_INDEX_H
+#include <cstdint>
#include <string>
#include <map>
-#include "kudu/consensus/consensus.pb.h"
+#include "kudu/consensus/opid.pb.h"
#include "kudu/gutil/macros.h"
#include "kudu/gutil/ref_counted.h"
#include "kudu/util/locks.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/log_metrics.h
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log_metrics.h b/src/kudu/consensus/log_metrics.h
index 30dfcde..cfedc20 100644
--- a/src/kudu/consensus/log_metrics.h
+++ b/src/kudu/consensus/log_metrics.h
@@ -17,16 +17,10 @@
#ifndef KUDU_CONSENSUS_LOG_METRICS_H
#define KUDU_CONSENSUS_LOG_METRICS_H
-#include "kudu/gutil/macros.h"
#include "kudu/gutil/ref_counted.h"
-#include "kudu/util/monotime.h"
+#include "kudu/util/metrics.h"
namespace kudu {
-
-class Counter;
-class Histogram;
-class MetricEntity;
-
namespace log {
struct LogMetrics {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/log_reader.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log_reader.cc b/src/kudu/consensus/log_reader.cc
index 5057b06..330d658 100644
--- a/src/kudu/consensus/log_reader.cc
+++ b/src/kudu/consensus/log_reader.cc
@@ -19,16 +19,22 @@
#include <algorithm>
#include <mutex>
+#include <ostream>
+#include <glog/logging.h>
+
+#include "kudu/consensus/consensus.pb.h"
+#include "kudu/consensus/log.pb.h"
#include "kudu/consensus/log_index.h"
-#include "kudu/consensus/opid_util.h"
-#include "kudu/gutil/map-util.h"
+#include "kudu/consensus/opid.pb.h"
+#include "kudu/fs/fs_manager.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/stl_util.h"
-#include "kudu/gutil/strings/util.h"
#include "kudu/gutil/strings/substitute.h"
-#include "kudu/util/coding.h"
-#include "kudu/util/env_util.h"
-#include "kudu/util/hexdump.h"
+#include "kudu/gutil/strings/util.h"
+#include "kudu/util/env.h"
+#include "kudu/util/faststring.h"
+#include "kudu/util/make_shared.h"
#include "kudu/util/metrics.h"
#include "kudu/util/path_util.h"
#include "kudu/util/pb_util.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/log_reader.h
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log_reader.h b/src/kudu/consensus/log_reader.h
index ecd9cd3..312868f 100644
--- a/src/kudu/consensus/log_reader.h
+++ b/src/kudu/consensus/log_reader.h
@@ -17,26 +17,37 @@
#ifndef KUDU_LOG_LOG_READER_H_
#define KUDU_LOG_LOG_READER_H_
-#include <gtest/gtest.h>
-#include <map>
+#include <cstdint>
#include <memory>
#include <string>
-#include <utility>
#include <vector>
-#include "kudu/consensus/log_metrics.h"
+#include <gtest/gtest_prod.h>
+
#include "kudu/consensus/log_util.h"
-#include "kudu/consensus/opid_util.h"
-#include "kudu/fs/fs_manager.h"
+#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/macros.h"
#include "kudu/gutil/ref_counted.h"
-#include "kudu/gutil/spinlock.h"
-#include "kudu/util/make_shared.h"
#include "kudu/util/locks.h"
+#include "kudu/util/make_shared.h"
+#include "kudu/util/status.h"
namespace kudu {
+
+class Counter;
+class FsManager;
+class Histogram;
+class MetricEntity;
+class faststring;
+
+namespace consensus {
+class OpId;
+class ReplicateMsg;
+} // namespace consensus
+
namespace log {
-class Log;
class LogIndex;
+class LogEntryBatchPB;
struct LogIndexEntry;
// Reads a set of segments from a given path. Segment headers and footers
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/log_util.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log_util.cc b/src/kudu/consensus/log_util.cc
index 497e22e..b77df66 100644
--- a/src/kudu/consensus/log_util.cc
+++ b/src/kudu/consensus/log_util.cc
@@ -18,23 +18,23 @@
#include "kudu/consensus/log_util.h"
#include <algorithm>
+#include <cstring>
#include <iostream>
-#include <limits>
-#include <utility>
#include <gflags/gflags.h>
#include <glog/logging.h>
+#include "kudu/consensus/consensus.pb.h"
#include "kudu/consensus/opid_util.h"
#include "kudu/consensus/ref_counted_replicate.h"
#include "kudu/fs/fs_manager.h"
-#include "kudu/gutil/map-util.h"
-#include "kudu/gutil/stl_util.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/strings/split.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/gutil/strings/util.h"
#include "kudu/util/coding-inl.h"
#include "kudu/util/coding.h"
+#include "kudu/util/compression/compression.pb.h"
#include "kudu/util/compression/compression_codec.h"
#include "kudu/util/crc.h"
#include "kudu/util/debug/trace_event.h"
@@ -42,8 +42,8 @@
#include "kudu/util/fault_injection.h"
#include "kudu/util/flag_tags.h"
#include "kudu/util/logging.h"
+#include "kudu/util/make_shared.h"
#include "kudu/util/pb_util.h"
-#include "kudu/util/scoped_cleanup.h"
DEFINE_int32(log_segment_size_mb, 8,
"The default size for log segments, in MB");
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/log_util.h
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log_util.h b/src/kudu/consensus/log_util.h
index eb254a8..af81c82 100644
--- a/src/kudu/consensus/log_util.h
+++ b/src/kudu/consensus/log_util.h
@@ -18,21 +18,28 @@
#ifndef KUDU_CONSENSUS_LOG_UTIL_H_
#define KUDU_CONSENSUS_LOG_UTIL_H_
+#include <cstddef>
+#include <cstdint>
#include <deque>
-#include <gtest/gtest.h>
-#include <iosfwd>
-#include <map>
#include <memory>
#include <string>
-#include <utility>
#include <vector>
+#include <gflags/gflags_declare.h>
+#include <glog/logging.h>
+#include <gtest/gtest_prod.h>
+
#include "kudu/consensus/log.pb.h"
+#include "kudu/consensus/opid.pb.h"
#include "kudu/consensus/ref_counted_replicate.h"
+#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/gutil/macros.h"
#include "kudu/gutil/ref_counted.h"
#include "kudu/util/atomic.h"
#include "kudu/util/env.h"
+#include "kudu/util/faststring.h"
+#include "kudu/util/slice.h"
+#include "kudu/util/status.h"
// Used by other classes, now part of the API.
DECLARE_bool(log_force_fsync_all);
@@ -41,10 +48,6 @@ namespace kudu {
class CompressionCodec;
-namespace consensus {
-struct OpIdBiggerThanFunctor;
-} // namespace consensus
-
namespace log {
// Each log entry is prefixed by a header. See DecodeEntryHeader()
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/mt-log-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/mt-log-test.cc b/src/kudu/consensus/mt-log-test.cc
index 133a895..b5502e6 100644
--- a/src/kudu/consensus/mt-log-test.cc
+++ b/src/kudu/consensus/mt-log-test.cc
@@ -15,21 +15,50 @@
// specific language governing permissions and limitations
// under the License.
-#include "kudu/consensus/log-test-base.h"
-
#include <algorithm>
#include <atomic>
+#include <cstdint>
+#include <map>
#include <memory>
#include <mutex>
+#include <ostream>
#include <thread>
#include <vector>
+#include <gflags/gflags.h>
+#include <gflags/gflags_declare.h>
+#include <glog/logging.h>
+#include <gtest/gtest.h>
+
+#include "kudu/clock/clock.h"
+#include "kudu/common/timestamp.h"
+#include "kudu/common/wire_protocol-test-util.h"
+#include "kudu/common/wire_protocol.pb.h"
+#include "kudu/consensus/consensus.pb.h"
+#include "kudu/consensus/log-test-base.h"
+#include "kudu/consensus/log.h"
#include "kudu/consensus/log_index.h"
+#include "kudu/consensus/log_reader.h"
+#include "kudu/consensus/log_util.h"
+#include "kudu/consensus/opid.pb.h"
+#include "kudu/consensus/ref_counted_replicate.h"
+#include "kudu/gutil/bind.h"
+#include "kudu/gutil/bind_helpers.h"
+#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/ref_counted.h"
#include "kudu/gutil/strings/substitute.h"
+#include "kudu/tserver/tserver.pb.h"
+#include "kudu/util/countdown_latch.h"
#include "kudu/util/fault_injection.h"
#include "kudu/util/locks.h"
+#include "kudu/util/metrics.h"
#include "kudu/util/random.h"
+#include "kudu/util/status.h"
+#include "kudu/util/status_callback.h"
+#include "kudu/util/stopwatch.h"
+#include "kudu/util/test_macros.h"
+#include "kudu/util/test_util.h"
#include "kudu/util/thread.h"
DEFINE_int32(num_writer_threads, 4, "Number of threads writing to the log");
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/opid_util.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/opid_util.cc b/src/kudu/consensus/opid_util.cc
index c39cb51..a64e852 100644
--- a/src/kudu/consensus/opid_util.cc
+++ b/src/kudu/consensus/opid_util.cc
@@ -17,11 +17,13 @@
#include "kudu/consensus/opid_util.h"
-#include <algorithm>
-#include <glog/logging.h>
#include <limits>
+#include <utility>
+
+#include <glog/logging.h>
#include "kudu/consensus/consensus.pb.h"
+#include "kudu/consensus/opid.pb.h"
#include "kudu/gutil/port.h"
#include "kudu/gutil/strings/substitute.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/opid_util.h
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/opid_util.h b/src/kudu/consensus/opid_util.h
index 7c1a40e..507b369 100644
--- a/src/kudu/consensus/opid_util.h
+++ b/src/kudu/consensus/opid_util.h
@@ -18,11 +18,10 @@
#ifndef KUDU_CONSENSUS_OPID_UTIL_H_
#define KUDU_CONSENSUS_OPID_UTIL_H_
-#include <stdint.h>
-
+#include <cstddef>
+#include <cstdint>
#include <iosfwd>
#include <string>
-#include <utility>
namespace kudu {
namespace consensus {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/peer_manager.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/peer_manager.cc b/src/kudu/consensus/peer_manager.cc
index 0dde6a6..55668d5 100644
--- a/src/kudu/consensus/peer_manager.cc
+++ b/src/kudu/consensus/peer_manager.cc
@@ -19,14 +19,21 @@
#include <memory>
#include <mutex>
+#include <ostream>
+#include <type_traits>
+#include <utility>
+
+#include <glog/logging.h>
#include "kudu/consensus/consensus_peers.h"
#include "kudu/consensus/log.h"
+#include "kudu/consensus/metadata.pb.h"
+#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/gutil/map-util.h"
-#include "kudu/gutil/stl_util.h"
+#include "kudu/gutil/move.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/pb_util.h"
-#include "kudu/util/threadpool.h"
using kudu::log::Log;
using kudu::pb_util::SecureShortDebugString;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/peer_manager.h
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/peer_manager.h b/src/kudu/consensus/peer_manager.h
index 9825dea..6b7058a 100644
--- a/src/kudu/consensus/peer_manager.h
+++ b/src/kudu/consensus/peer_manager.h
@@ -21,7 +21,6 @@
#include <string>
#include <unordered_map>
-#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/gutil/macros.h"
#include "kudu/gutil/ref_counted.h"
#include "kudu/util/locks.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/pending_rounds.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/pending_rounds.cc b/src/kudu/consensus/pending_rounds.cc
index 6484183..f334be8 100644
--- a/src/kudu/consensus/pending_rounds.cc
+++ b/src/kudu/consensus/pending_rounds.cc
@@ -17,13 +17,23 @@
#include "kudu/consensus/pending_rounds.h"
+#include <ostream>
+#include <utility>
+
+#include <glog/logging.h>
+
+#include "kudu/consensus/consensus.pb.h"
+#include "kudu/consensus/opid_util.h"
#include "kudu/consensus/raft_consensus.h"
#include "kudu/consensus/time_manager.h"
#include "kudu/gutil/map-util.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/strings/substitute.h"
+#include "kudu/util/debug-util.h"
#include "kudu/util/logging.h"
#include "kudu/util/pb_util.h"
#include "kudu/util/status.h"
+#include "kudu/util/thread_restrictions.h"
using kudu::pb_util::SecureShortDebugString;
using std::string;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/pending_rounds.h
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/pending_rounds.h b/src/kudu/consensus/pending_rounds.h
index ccc9cd4..c1043b6 100644
--- a/src/kudu/consensus/pending_rounds.h
+++ b/src/kudu/consensus/pending_rounds.h
@@ -17,11 +17,11 @@
#pragma once
+#include <cstdint>
#include <map>
#include <string>
#include "kudu/consensus/opid.pb.h"
-#include "kudu/consensus/opid_util.h"
#include "kudu/gutil/macros.h"
#include "kudu/gutil/ref_counted.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/quorum_util-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/quorum_util-test.cc b/src/kudu/consensus/quorum_util-test.cc
index 70e361c..87b30cd 100644
--- a/src/kudu/consensus/quorum_util-test.cc
+++ b/src/kudu/consensus/quorum_util-test.cc
@@ -15,11 +15,15 @@
// specific language governing permissions and limitations
// under the License.
-#include <glog/logging.h>
-#include "kudu/consensus/quorum_util.h"
+#include <string>
+
+#include <gtest/gtest.h>
-#include "kudu/consensus/opid_util.h"
-#include "kudu/util/test_util.h"
+#include "kudu/common/common.pb.h"
+#include "kudu/consensus/metadata.pb.h"
+#include "kudu/consensus/quorum_util.h"
+#include "kudu/util/status.h"
+#include "kudu/util/test_macros.h"
namespace kudu {
namespace consensus {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/quorum_util.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/quorum_util.cc b/src/kudu/consensus/quorum_util.cc
index a433ec9..f4e88d2 100644
--- a/src/kudu/consensus/quorum_util.cc
+++ b/src/kudu/consensus/quorum_util.cc
@@ -22,6 +22,9 @@
#include <utility>
#include <vector>
+#include <glog/logging.h>
+
+#include "kudu/common/common.pb.h"
#include "kudu/gutil/map-util.h"
#include "kudu/gutil/strings/join.h"
#include "kudu/gutil/strings/substitute.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/quorum_util.h
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/quorum_util.h b/src/kudu/consensus/quorum_util.h
index 2a8aa61..d502037 100644
--- a/src/kudu/consensus/quorum_util.h
+++ b/src/kudu/consensus/quorum_util.h
@@ -21,9 +21,9 @@
#include <string>
#include "kudu/consensus/metadata.pb.h"
+#include "kudu/util/status.h"
namespace kudu {
-class Status;
namespace consensus {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/raft_consensus.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/raft_consensus.cc b/src/kudu/consensus/raft_consensus.cc
index a7140ce..2c900a5 100644
--- a/src/kudu/consensus/raft_consensus.cc
+++ b/src/kudu/consensus/raft_consensus.cc
@@ -18,27 +18,46 @@
#include "kudu/consensus/raft_consensus.h"
#include <algorithm>
+#include <cmath>
+#include <cstdint>
+#include <functional>
#include <memory>
#include <mutex>
#include <ostream>
+#include <unordered_set>
+#include <type_traits>
-#include <boost/optional.hpp>
+#include <boost/optional/optional.hpp>
#include <gflags/gflags.h>
+#include <gflags/gflags_declare.h>
-#include "kudu/clock/clock.h"
+#include "kudu/common/timestamp.h"
#include "kudu/common/wire_protocol.h"
#include "kudu/consensus/consensus.pb.h"
+#include "kudu/consensus/consensus_meta.h"
#include "kudu/consensus/consensus_meta_manager.h"
#include "kudu/consensus/consensus_peers.h"
#include "kudu/consensus/leader_election.h"
#include "kudu/consensus/log.h"
#include "kudu/consensus/metadata.pb.h"
+#include "kudu/consensus/opid_util.h"
#include "kudu/consensus/peer_manager.h"
+#include "kudu/consensus/pending_rounds.h"
#include "kudu/consensus/quorum_util.h"
+#include "kudu/gutil/basictypes.h"
+#include "kudu/gutil/bind.h"
+#include "kudu/gutil/bind_helpers.h"
+#include "kudu/gutil/integral_types.h"
#include "kudu/gutil/map-util.h"
+#include "kudu/gutil/move.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/stl_util.h"
#include "kudu/gutil/stringprintf.h"
+#include "kudu/gutil/strings/stringpiece.h"
+#include "kudu/gutil/strings/substitute.h"
+#include "kudu/util/async_util.h"
#include "kudu/util/debug/trace_event.h"
+#include "kudu/util/failure_detector.h"
#include "kudu/util/flag_tags.h"
#include "kudu/util/logging.h"
#include "kudu/util/metrics.h"
@@ -46,6 +65,8 @@
#include "kudu/util/process_memory.h"
#include "kudu/util/random.h"
#include "kudu/util/random_util.h"
+#include "kudu/util/status.h"
+#include "kudu/util/thread_restrictions.h"
#include "kudu/util/threadpool.h"
#include "kudu/util/trace.h"
#include "kudu/util/url-coding.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/raft_consensus.h
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/raft_consensus.h b/src/kudu/consensus/raft_consensus.h
index 0eb3652..4ecb25e 100644
--- a/src/kudu/consensus/raft_consensus.h
+++ b/src/kudu/consensus/raft_consensus.h
@@ -17,62 +17,67 @@
#pragma once
+#include <algorithm>
+#include <cstdint>
#include <iosfwd>
#include <memory>
#include <mutex>
#include <string>
-#include <utility>
#include <vector>
-#include <boost/optional/optional_fwd.hpp>
+#include <glog/logging.h>
+#include <gtest/gtest_prod.h>
#include "kudu/consensus/consensus.pb.h"
-#include "kudu/consensus/consensus_meta.h"
+#include "kudu/consensus/consensus_meta.h" // IWYU pragma: keep
#include "kudu/consensus/consensus_queue.h"
-#include "kudu/consensus/peer_manager.h"
-#include "kudu/consensus/pending_rounds.h"
+#include "kudu/consensus/log.h"
+#include "kudu/consensus/metadata.pb.h"
+#include "kudu/consensus/opid.pb.h"
+#include "kudu/consensus/ref_counted_replicate.h"
#include "kudu/consensus/time_manager.h"
+#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/tserver/tserver.pb.h"
#include "kudu/util/atomic.h"
-#include "kudu/util/failure_detector.h"
+#include "kudu/util/locks.h"
+#include "kudu/util/metrics.h"
+#include "kudu/util/monotime.h"
+#include "kudu/util/random.h"
#include "kudu/util/status_callback.h"
+namespace boost {
+template <class T>
+class optional;
+}
+
namespace kudu {
-class Counter;
class FailureDetector;
-class HostPort;
-class MonoDelta;
+class RandomizedFailureMonitor;
+
+typedef std::lock_guard<simple_spinlock> Lock;
+typedef gscoped_ptr<Lock> ScopedLock;
+
class ThreadPool;
class ThreadPoolToken;
class Status;
-namespace log {
-class Log;
-struct RetentionIndexes;
-}
-
-namespace rpc {
-class Messenger;
-}
-
-namespace server {
-class Clock;
-}
-
-namespace tserver {
-class TabletServerErrorPB;
-}
+template <typename Sig>
+class Callback;
namespace consensus {
class ConsensusMetadata;
+class ConsensusMetadataManager;
class ConsensusRound;
-class Peer;
class PeerProxyFactory;
class PeerManager;
+class PendingRounds;
class ReplicaTransactionFactory;
-class TimeManager;
struct ConsensusBootstrapInfo;
struct ElectionResult;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/raft_consensus_quorum-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/raft_consensus_quorum-test.cc b/src/kudu/consensus/raft_consensus_quorum-test.cc
index 43816b4..0790993 100644
--- a/src/kudu/consensus/raft_consensus_quorum-test.cc
+++ b/src/kudu/consensus/raft_consensus_quorum-test.cc
@@ -15,33 +15,62 @@
// specific language governing permissions and limitations
// under the License.
-#include <gtest/gtest.h>
+#include <algorithm>
+#include <cstdint>
#include <memory>
+#include <ostream>
+#include <string>
+#include <type_traits>
+#include <unordered_map>
+#include <unordered_set>
+#include <vector>
+
+#include <gflags/gflags_declare.h>
+#include <glog/logging.h>
+#include <gtest/gtest.h>
+#include "kudu/clock/clock.h"
#include "kudu/clock/logical_clock.h"
+#include "kudu/common/common.pb.h"
#include "kudu/common/schema.h"
+#include "kudu/common/timestamp.h"
#include "kudu/common/wire_protocol-test-util.h"
+#include "kudu/common/wire_protocol.pb.h"
#include "kudu/consensus/consensus-test-util.h"
#include "kudu/consensus/consensus.pb.h"
-#include "kudu/consensus/consensus.proxy.h"
+#include "kudu/consensus/consensus_meta.h"
#include "kudu/consensus/consensus_meta_manager.h"
+#include "kudu/consensus/consensus_peers.h"
+#include "kudu/consensus/consensus_queue.h"
#include "kudu/consensus/log.h"
+#include "kudu/consensus/log.pb.h"
#include "kudu/consensus/log_index.h"
#include "kudu/consensus/log_reader.h"
#include "kudu/consensus/log_util.h"
#include "kudu/consensus/metadata.pb.h"
+#include "kudu/consensus/opid.pb.h"
#include "kudu/consensus/opid_util.h"
-#include "kudu/consensus/peer_manager.h"
#include "kudu/consensus/quorum_util.h"
#include "kudu/consensus/raft_consensus.h"
+#include "kudu/consensus/time_manager.h"
+#include "kudu/fs/fs_manager.h"
+#include "kudu/gutil/bind.h"
+#include "kudu/gutil/casts.h"
+#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/map-util.h"
+#include "kudu/gutil/move.h"
+#include "kudu/gutil/ref_counted.h"
#include "kudu/gutil/stl_util.h"
#include "kudu/gutil/strings/strcat.h"
#include "kudu/gutil/strings/substitute.h"
-#include "kudu/rpc/rpc_context.h"
-#include "kudu/util/auto_release_pool.h"
+#include "kudu/util/async_util.h"
+#include "kudu/util/make_shared.h"
#include "kudu/util/mem_tracker.h"
#include "kudu/util/metrics.h"
+#include "kudu/util/monotime.h"
#include "kudu/util/pb_util.h"
+#include "kudu/util/status.h"
+#include "kudu/util/status_callback.h"
#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
#include "kudu/util/threadpool.h"
@@ -67,11 +96,6 @@ using strings::Substitute;
using strings::SubstituteAndAppend;
namespace kudu {
-
-namespace rpc {
-class RpcContext;
-}
-
namespace consensus {
const char* kTestTablet = "TestTablet";
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/time_manager-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/time_manager-test.cc b/src/kudu/consensus/time_manager-test.cc
index 5bed655..66075d6 100644
--- a/src/kudu/consensus/time_manager-test.cc
+++ b/src/kudu/consensus/time_manager-test.cc
@@ -15,16 +15,24 @@
// specific language governing permissions and limitations
// under the License.
-#include <gtest/gtest.h>
+#include <memory>
#include <thread>
+#include <vector>
+
+#include <glog/logging.h>
+#include <gtest/gtest.h>
#include "kudu/clock/clock.h"
#include "kudu/clock/hybrid_clock.h"
-#include "kudu/clock/logical_clock.h"
+#include "kudu/common/timestamp.h"
#include "kudu/consensus/consensus.pb.h"
#include "kudu/consensus/time_manager.h"
+#include "kudu/gutil/ref_counted.h"
+#include "kudu/util/countdown_latch.h"
+#include "kudu/util/monotime.h"
+#include "kudu/util/status.h"
+#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
-#include "kudu/util/thread.h"
namespace kudu {
namespace consensus {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/time_manager.cc
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/time_manager.cc b/src/kudu/consensus/time_manager.cc
index c9444cb..7a5083d 100644
--- a/src/kudu/consensus/time_manager.cc
+++ b/src/kudu/consensus/time_manager.cc
@@ -15,12 +15,22 @@
// specific language governing permissions and limitations
// under the License.
+#include <algorithm>
+#include <cstdint>
#include <mutex>
+#include <ostream>
+
#include <gflags/gflags.h>
+#include <gflags/gflags_declare.h>
+#include <glog/logging.h>
#include "kudu/consensus/consensus.pb.h"
#include "kudu/consensus/time_manager.h"
+#include "kudu/gutil/macros.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/strings/substitute.h"
+#include "kudu/tserver/tserver.pb.h"
+#include "kudu/util/countdown_latch.h"
#include "kudu/util/flag_tags.h"
DEFINE_bool(safe_time_advancement_without_writes, true,
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/consensus/time_manager.h
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/time_manager.h b/src/kudu/consensus/time_manager.h
index a54916a..966b791 100644
--- a/src/kudu/consensus/time_manager.h
+++ b/src/kudu/consensus/time_manager.h
@@ -16,17 +16,23 @@
// under the License.
#pragma once
-#include <algorithm>
#include <string>
#include <vector>
+#include <gtest/gtest_prod.h>
+
#include "kudu/clock/clock.h"
+#include "kudu/common/common.pb.h"
#include "kudu/common/timestamp.h"
#include "kudu/gutil/ref_counted.h"
#include "kudu/util/locks.h"
+#include "kudu/util/monotime.h"
#include "kudu/util/status.h"
namespace kudu {
+
+class CountDownLatch;
+
namespace consensus {
class ReplicateMsg;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/experiments/merge-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/experiments/merge-test.cc b/src/kudu/experiments/merge-test.cc
index efe513f..880239a 100644
--- a/src/kudu/experiments/merge-test.cc
+++ b/src/kudu/experiments/merge-test.cc
@@ -15,12 +15,15 @@
// specific language governing permissions and limitations
// under the License.
-#include <gflags/gflags.h>
-#include <glog/logging.h>
-#include <algorithm>
+#include <cstdlib>
+#include <memory>
+#include <queue>
#include <string>
#include <vector>
+#include <gflags/gflags.h>
+
+#include "kudu/util/make_shared.h"
#include "kudu/util/stopwatch.h"
DEFINE_int32(num_lists, 3, "Number of lists to merge");
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/experiments/rwlock-perf.cc
----------------------------------------------------------------------
diff --git a/src/kudu/experiments/rwlock-perf.cc b/src/kudu/experiments/rwlock-perf.cc
index a419c32..d51cb9a 100644
--- a/src/kudu/experiments/rwlock-perf.cc
+++ b/src/kudu/experiments/rwlock-perf.cc
@@ -15,16 +15,24 @@
// specific language governing permissions and limitations
// under the License.
-#include <boost/smart_ptr/detail/spinlock.hpp>
-#include <gflags/gflags.h>
-#include <glog/logging.h>
+
+#include <sched.h>
+
+#include <cinttypes>
+#include <cstdint>
+#include <cstdio>
#include <iostream>
#include <mutex>
-#include <stdio.h>
#include <thread>
-#include <unistd.h>
+#include <vector>
+
+#include <boost/smart_ptr/detail/spinlock.hpp>
+#include <gflags/gflags.h>
+#include <glog/logging.h>
#include "kudu/gutil/macros.h"
+#include "kudu/gutil/port.h"
+#include "kudu/gutil/sysinfo.h"
#include "kudu/gutil/walltime.h"
#include "kudu/util/flags.h"
#include "kudu/util/locks.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/block_id.h
----------------------------------------------------------------------
diff --git a/src/kudu/fs/block_id.h b/src/kudu/fs/block_id.h
index 847ab4c..bbfba6c 100644
--- a/src/kudu/fs/block_id.h
+++ b/src/kudu/fs/block_id.h
@@ -17,26 +17,20 @@
#ifndef KUDU_FS_BLOCK_ID_H
#define KUDU_FS_BLOCK_ID_H
+#include <cinttypes>
+#include <cstddef>
+#include <cstdint>
#include <iosfwd>
#include <string>
#include <unordered_set>
#include <vector>
-#include <glog/logging.h>
-
-#include "kudu/gutil/macros.h"
#include "kudu/gutil/stringprintf.h"
namespace kudu {
class BlockIdPB;
-namespace fs {
-namespace internal {
-class FileBlockLocation;
-} // namespace internal
-} // namespace fs
-
class BlockId {
public:
BlockId()
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/block_manager-stress-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/block_manager-stress-test.cc b/src/kudu/fs/block_manager-stress-test.cc
index 876602d..4d1e919 100644
--- a/src/kudu/fs/block_manager-stress-test.cc
+++ b/src/kudu/fs/block_manager-stress-test.cc
@@ -15,26 +15,49 @@
// specific language governing permissions and limitations
// under the License.
-#include <algorithm>
#include <cmath>
+#include <cstdint>
+#include <cstring>
+#include <iterator>
+#include <memory>
#include <mutex>
+#include <ostream>
#include <string>
#include <unordered_map>
#include <vector>
+#include <gflags/gflags.h>
+#include <gflags/gflags_declare.h>
+#include <glog/logging.h>
+#include <gtest/gtest.h>
+
+#include "kudu/fs/block_id.h"
+#include "kudu/fs/block_manager.h"
+#include "kudu/fs/data_dirs.h"
#include "kudu/fs/error_manager.h"
-#include "kudu/fs/file_block_manager.h"
+#include "kudu/fs/file_block_manager.h" // IWYU pragma: keep
#include "kudu/fs/fs.pb.h"
#include "kudu/fs/fs_report.h"
+#include "kudu/fs/log_block_manager.h" // IWYU pragma: keep
#include "kudu/fs/log_block_manager-test-util.h"
-#include "kudu/fs/log_block_manager.h"
+#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/map-util.h"
+#include "kudu/gutil/port.h"
+#include "kudu/gutil/ref_counted.h"
#include "kudu/gutil/stl_util.h"
#include "kudu/gutil/strings/split.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/atomic.h"
+#include "kudu/util/countdown_latch.h"
+#include "kudu/util/env.h"
+#include "kudu/util/faststring.h"
#include "kudu/util/file_cache-test-util.h"
-#include "kudu/util/metrics.h"
+#include "kudu/util/locks.h"
+#include "kudu/util/monotime.h"
#include "kudu/util/random.h"
+#include "kudu/util/slice.h"
+#include "kudu/util/status.h"
+#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
#include "kudu/util/thread.h"
@@ -73,6 +96,9 @@ using strings::Substitute;
namespace kudu {
namespace fs {
+class FileBlockManager;
+class LogBlockManager;
+
// This test attempts to simulate how a TS might use the block manager:
//
// writing threads (default 2) that do the following in a tight loop:
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/block_manager-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/block_manager-test.cc b/src/kudu/fs/block_manager-test.cc
index 47f4c07..b02407b 100644
--- a/src/kudu/fs/block_manager-test.cc
+++ b/src/kudu/fs/block_manager-test.cc
@@ -16,29 +16,46 @@
// under the License.
#include <algorithm>
+#include <cstddef>
+#include <cstdint>
#include <memory>
+#include <ostream>
#include <string>
+#include <unordered_set>
#include <vector>
+#include <gflags/gflags.h>
+#include <gflags/gflags_declare.h>
+#include <glog/logging.h>
#include <google/protobuf/util/message_differencer.h>
+#include <gtest/gtest.h>
-#include "kudu/fs/data_dirs.h"
-#include "kudu/fs/error_manager.h"
+#include "kudu/fs/block_id.h"
+#include "kudu/fs/block_manager.h"
#include "kudu/fs/file_block_manager.h"
#include "kudu/fs/fs.pb.h"
#include "kudu/fs/fs_report.h"
+#include "kudu/fs/data_dirs.h"
+#include "kudu/fs/error_manager.h"
#include "kudu/fs/log_block_manager.h"
+#include "kudu/gutil/bind.h"
+#include "kudu/gutil/casts.h"
#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/gutil/map-util.h"
+#include "kudu/gutil/port.h"
+#include "kudu/gutil/ref_counted.h"
#include "kudu/gutil/stl_util.h"
#include "kudu/gutil/strings/substitute.h"
-#include "kudu/gutil/strings/util.h"
+#include "kudu/util/env.h"
#include "kudu/util/mem_tracker.h"
#include "kudu/util/metrics.h"
#include "kudu/util/path_util.h"
#include "kudu/util/pb_util.h"
#include "kudu/util/random.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"
#include "kudu/util/thread.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/block_manager.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/block_manager.cc b/src/kudu/fs/block_manager.cc
index 8034fd4..48aea93 100644
--- a/src/kudu/fs/block_manager.cc
+++ b/src/kudu/fs/block_manager.cc
@@ -18,10 +18,12 @@
#include "kudu/fs/block_manager.h"
#include <mutex>
+#include <ostream>
+#include <gflags/gflags.h>
#include <glog/logging.h>
-#include "kudu/gutil/integral_types.h"
+#include "kudu/gutil/macros.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/env.h"
#include "kudu/util/flag_tags.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/block_manager.h
----------------------------------------------------------------------
diff --git a/src/kudu/fs/block_manager.h b/src/kudu/fs/block_manager.h
index 1e9ed47..aa13a97 100644
--- a/src/kudu/fs/block_manager.h
+++ b/src/kudu/fs/block_manager.h
@@ -23,14 +23,14 @@
#include <string>
#include <vector>
+#include <glog/logging.h>
+
#include "kudu/fs/block_id.h"
#include "kudu/gutil/ref_counted.h"
#include "kudu/gutil/stl_util.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/status.h"
-DECLARE_bool(block_coalesce_close);
-
namespace kudu {
class Env;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/block_manager_metrics.h
----------------------------------------------------------------------
diff --git a/src/kudu/fs/block_manager_metrics.h b/src/kudu/fs/block_manager_metrics.h
index 926b9c7..760f98b 100644
--- a/src/kudu/fs/block_manager_metrics.h
+++ b/src/kudu/fs/block_manager_metrics.h
@@ -17,17 +17,12 @@
#ifndef KUDU_FS_BLOCK_MANAGER_METRICS_H
#define KUDU_FS_BLOCK_MANAGER_METRICS_H
-#include <stdint.h>
+#include <cstdint>
#include "kudu/gutil/ref_counted.h"
+#include "kudu/util/metrics.h"
namespace kudu {
-
-class Counter;
-template<class T>
-class AtomicGauge;
-class MetricEntity;
-
namespace fs {
namespace internal {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/block_manager_util-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/block_manager_util-test.cc b/src/kudu/fs/block_manager_util-test.cc
index f44cbca..0a73afb 100644
--- a/src/kudu/fs/block_manager_util-test.cc
+++ b/src/kudu/fs/block_manager_util-test.cc
@@ -14,18 +14,28 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
-#include "kudu/fs/block_manager_util.h"
+#include <algorithm>
+#include <memory>
+#include <ostream>
#include <string>
+#include <type_traits>
#include <vector>
+#include <glog/logging.h>
#include <google/protobuf/repeated_field.h>
#include <gtest/gtest.h>
+#include "kudu/fs/block_manager_util.h"
#include "kudu/fs/fs.pb.h"
+#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/move.h"
#include "kudu/gutil/stl_util.h"
#include "kudu/gutil/strings/substitute.h"
+#include "kudu/util/env.h"
#include "kudu/util/path_util.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/fs/block_manager_util.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/block_manager_util.cc b/src/kudu/fs/block_manager_util.cc
index 6dae6fe..a6f2d11 100644
--- a/src/kudu/fs/block_manager_util.cc
+++ b/src/kudu/fs/block_manager_util.cc
@@ -16,14 +16,19 @@
// under the License.
#include "kudu/fs/block_manager_util.h"
+#include <algorithm>
+#include <cstdint>
+#include <ostream>
#include <set>
+#include <type_traits>
#include <unordered_map>
-#include <utility>
-#include <gflags/gflags.h>
+#include <gflags/gflags_declare.h>
+#include <glog/logging.h>
#include "kudu/fs/fs.pb.h"
#include "kudu/gutil/map-util.h"
+#include "kudu/gutil/move.h"
#include "kudu/gutil/strings/join.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/env.h"
@@ -125,6 +130,11 @@ Status PathInstanceMetadataFile::Unlock() {
return Status::OK();
}
+void PathInstanceMetadataFile::SetMetadataForTests(
+ gscoped_ptr<PathInstanceMetadataPB> metadata) {
+ metadata_ = std::move(metadata);
+}
+
Status PathInstanceMetadataFile::CheckIntegrity(
const vector<PathInstanceMetadataFile*>& instances) {
CHECK(!instances.empty());
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/block_manager_util.h
----------------------------------------------------------------------
diff --git a/src/kudu/fs/block_manager_util.h b/src/kudu/fs/block_manager_util.h
index 099a23c..4a20482 100644
--- a/src/kudu/fs/block_manager_util.h
+++ b/src/kudu/fs/block_manager_util.h
@@ -67,9 +67,7 @@ class PathInstanceMetadataFile {
// Unlocks the instance metadata file. Must have been locked to begin with.
Status Unlock();
- void SetMetadataForTests(gscoped_ptr<PathInstanceMetadataPB> metadata) {
- metadata_ = std::move(metadata);
- }
+ void SetMetadataForTests(gscoped_ptr<PathInstanceMetadataPB> metadata);
std::string path() const { return DirName(filename_); }
PathInstanceMetadataPB* const metadata() const { return metadata_.get(); }
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/data_dirs-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/data_dirs-test.cc b/src/kudu/fs/data_dirs-test.cc
index c1c4f47..81a4036 100644
--- a/src/kudu/fs/data_dirs-test.cc
+++ b/src/kudu/fs/data_dirs-test.cc
@@ -27,6 +27,7 @@
#include "kudu/fs/data_dirs.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/metrics.h"
+#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
#include "kudu/gutil/map-util.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/data_dirs.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/data_dirs.cc b/src/kudu/fs/data_dirs.cc
index 2fbec20..99177cf 100644
--- a/src/kudu/fs/data_dirs.cc
+++ b/src/kudu/fs/data_dirs.cc
@@ -19,32 +19,35 @@
#include <algorithm>
#include <cerrno>
+#include <cstdint>
#include <deque>
#include <memory>
#include <mutex>
#include <numeric>
+#include <ostream>
+#include <random>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
-#include <boost/optional.hpp>
#include <gflags/gflags.h>
#include <glog/logging.h>
#include "kudu/fs/block_manager.h"
#include "kudu/fs/block_manager_util.h"
+#include "kudu/gutil/bind.h"
+#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/gutil/macros.h"
#include "kudu/gutil/map-util.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/stl_util.h"
#include "kudu/gutil/strings/join.h"
#include "kudu/gutil/strings/substitute.h"
-#include "kudu/util/atomic.h"
#include "kudu/util/env.h"
#include "kudu/util/env_util.h"
#include "kudu/util/flag_tags.h"
-#include "kudu/util/locks.h"
#include "kudu/util/metrics.h"
#include "kudu/util/monotime.h"
#include "kudu/util/oid_generator.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/data_dirs.h
----------------------------------------------------------------------
diff --git a/src/kudu/fs/data_dirs.h b/src/kudu/fs/data_dirs.h
index 5cb17cc..4334e78 100644
--- a/src/kudu/fs/data_dirs.h
+++ b/src/kudu/fs/data_dirs.h
@@ -17,6 +17,8 @@
#pragma once
+#include <algorithm>
+#include <cstdint>
#include <memory>
#include <mutex>
#include <string>
@@ -24,33 +26,29 @@
#include <set>
#include <vector>
-#include <boost/optional.hpp>
+#include <glog/logging.h>
#include <gtest/gtest_prod.h>
#include "kudu/fs/fs.pb.h"
-#include "kudu/gutil/callback_forward.h"
+#include "kudu/gutil/callback.h"
#include "kudu/gutil/ref_counted.h"
#include "kudu/gutil/macros.h"
-#include "kudu/util/atomic.h"
+#include "kudu/gutil/map-util.h"
#include "kudu/util/locks.h"
+#include "kudu/util/metrics.h"
#include "kudu/util/monotime.h"
#include "kudu/util/random.h"
#include "kudu/util/status.h"
namespace kudu {
-template<typename T>
-class AtomicGauge;
class Env;
-class MetricEntity;
class ThreadPool;
-class DataDirGroupPB;
namespace fs {
typedef std::unordered_map<uint16_t, std::string> UuidByUuidIndexMap;
typedef std::unordered_map<std::string, uint16_t> UuidIndexByUuidMap;
-class DataDirManager;
class PathInstanceMetadataFile;
struct CreateBlockOptions;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/error_manager.h
----------------------------------------------------------------------
diff --git a/src/kudu/fs/error_manager.h b/src/kudu/fs/error_manager.h
index 7724e4b..cf0fdf7 100644
--- a/src/kudu/fs/error_manager.h
+++ b/src/kudu/fs/error_manager.h
@@ -22,6 +22,7 @@
#include "kudu/fs/block_manager_util.h"
#include "kudu/fs/data_dirs.h"
+#include "kudu/gutil/bind.h"
#include "kudu/gutil/callback_forward.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/fault_injection.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/file_block_manager.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/file_block_manager.cc b/src/kudu/fs/file_block_manager.cc
index 8744e6a..3d5f8ef 100644
--- a/src/kudu/fs/file_block_manager.cc
+++ b/src/kudu/fs/file_block_manager.cc
@@ -17,15 +17,27 @@
#include "kudu/fs/file_block_manager.h"
+#include <cstddef>
#include <memory>
+#include <mutex>
#include <numeric>
+#include <ostream>
#include <string>
+#include <utility>
#include <vector>
+#include <gflags/gflags_declare.h>
+#include <glog/logging.h>
+
+#include "kudu/fs/block_id.h"
#include "kudu/fs/block_manager_metrics.h"
#include "kudu/fs/data_dirs.h"
#include "kudu/fs/error_manager.h"
#include "kudu/fs/fs_report.h"
+#include "kudu/gutil/bind.h"
+#include "kudu/gutil/port.h"
+#include "kudu/gutil/ref_counted.h"
+#include "kudu/gutil/stringprintf.h"
#include "kudu/gutil/strings/numbers.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/util/atomic.h"
@@ -33,10 +45,12 @@
#include "kudu/util/env_util.h"
#include "kudu/util/file_cache.h"
#include "kudu/util/malloc.h"
+#include "kudu/util/make_shared.h"
#include "kudu/util/mem_tracker.h"
#include "kudu/util/metrics.h"
#include "kudu/util/path_util.h"
#include "kudu/util/random_util.h"
+#include "kudu/util/slice.h"
#include "kudu/util/status.h"
using std::accumulate;
@@ -46,8 +60,9 @@ using std::unique_ptr;
using std::vector;
using strings::Substitute;
-DECLARE_bool(enable_data_block_fsync);
+DECLARE_bool(block_coalesce_close);
DECLARE_bool(block_manager_lock_dirs);
+DECLARE_bool(enable_data_block_fsync);
namespace kudu {
namespace fs {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/file_block_manager.h
----------------------------------------------------------------------
diff --git a/src/kudu/fs/file_block_manager.h b/src/kudu/fs/file_block_manager.h
index ad3886e..afd02c7 100644
--- a/src/kudu/fs/file_block_manager.h
+++ b/src/kudu/fs/file_block_manager.h
@@ -18,26 +18,27 @@
#ifndef KUDU_FS_FILE_BLOCK_MANAGER_H
#define KUDU_FS_FILE_BLOCK_MANAGER_H
+#include <cstdint>
#include <memory>
#include <string>
#include <unordered_set>
#include <vector>
-#include "kudu/fs/block_id.h"
#include "kudu/fs/block_manager.h"
#include "kudu/fs/data_dirs.h"
+#include "kudu/gutil/macros.h"
#include "kudu/util/atomic.h"
#include "kudu/util/file_cache.h"
#include "kudu/util/locks.h"
#include "kudu/util/random.h"
+#include "kudu/util/status.h"
namespace kudu {
+class BlockId;
class Env;
class MemTracker;
-class MetricEntity;
class RandomAccessFile;
-class WritableFile;
namespace fs {
class FsErrorManager;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/fs_manager-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/fs_manager-test.cc b/src/kudu/fs/fs_manager-test.cc
index 1764671..f0e34e0 100644
--- a/src/kudu/fs/fs_manager-test.cc
+++ b/src/kudu/fs/fs_manager-test.cc
@@ -18,22 +18,32 @@
#include <sys/stat.h>
#include <unistd.h>
+#include <cstdint>
+#include <iostream>
#include <memory>
+#include <string>
#include <unordered_set>
+#include <vector>
+#include <gflags/gflags_declare.h>
#include <glog/logging.h>
#include <glog/stl_logging.h>
#include <gtest/gtest.h>
#include "kudu/fs/block_manager.h"
#include "kudu/fs/fs_manager.h"
+#include "kudu/gutil/gscoped_ptr.h"
+#include "kudu/gutil/port.h"
#include "kudu/gutil/stringprintf.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/flags.h"
-#include "kudu/util/metrics.h"
#include "kudu/util/oid_generator.h"
+#include "kudu/util/path_util.h"
+#include "kudu/util/slice.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/fs/fs_manager.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/fs_manager.cc b/src/kudu/fs/fs_manager.cc
index 846be68..5859476 100644
--- a/src/kudu/fs/fs_manager.cc
+++ b/src/kudu/fs/fs_manager.cc
@@ -17,36 +17,38 @@
#include "kudu/fs/fs_manager.h"
+#include <algorithm>
+#include <cinttypes>
+#include <ctime>
#include <deque>
#include <iostream>
#include <map>
#include <stack>
#include <unordered_set>
-#include <boost/optional.hpp>
+#include <boost/optional/optional.hpp>
+#include <gflags/gflags.h>
#include <glog/logging.h>
#include <glog/stl_logging.h>
-#include <google/protobuf/message.h>
#include "kudu/fs/block_id.h"
+#include "kudu/fs/block_manager.h"
#include "kudu/fs/error_manager.h"
#include "kudu/fs/file_block_manager.h"
#include "kudu/fs/fs.pb.h"
#include "kudu/fs/log_block_manager.h"
#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/gutil/map-util.h"
+#include "kudu/gutil/stl_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/strcat.h"
#include "kudu/gutil/strings/strip.h"
#include "kudu/gutil/strings/substitute.h"
#include "kudu/gutil/strings/util.h"
-#include "kudu/gutil/strtoint.h"
#include "kudu/gutil/walltime.h"
#include "kudu/util/env_util.h"
-#include "kudu/util/errno.h"
-#include "kudu/util/flags.h"
#include "kudu/util/flag_tags.h"
#include "kudu/util/metrics.h"
#include "kudu/util/net/net_util.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/fs_manager.h
----------------------------------------------------------------------
diff --git a/src/kudu/fs/fs_manager.h b/src/kudu/fs/fs_manager.h
index 386e4c5..c5899f4 100644
--- a/src/kudu/fs/fs_manager.h
+++ b/src/kudu/fs/fs_manager.h
@@ -18,25 +18,27 @@
#ifndef KUDU_FS_FS_MANAGER_H
#define KUDU_FS_FS_MANAGER_H
-#include <boost/none.hpp>
-#include <boost/optional/optional.hpp>
-#include <gtest/gtest_prod.h>
+#include <cstddef>
+#include <cstdint>
#include <iosfwd>
#include <memory>
#include <set>
#include <string>
#include <vector>
+#include <boost/optional/optional.hpp>
+#include <gflags/gflags_declare.h>
+#include <glog/logging.h>
+#include <gtest/gtest_prod.h>
+
#include "kudu/fs/error_manager.h"
+#include "kudu/gutil/macros.h"
#include "kudu/gutil/ref_counted.h"
#include "kudu/util/env.h"
#include "kudu/util/path_util.h"
+#include "kudu/util/status.h"
-namespace google {
-namespace protobuf {
-class Message;
-} // namespace protobuf
-} // namespace google
+DECLARE_bool(enable_data_block_fsync);
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/fs_report.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/fs_report.cc b/src/kudu/fs/fs_report.cc
index dd353c5..6c3dd6e 100644
--- a/src/kudu/fs/fs_report.cc
+++ b/src/kudu/fs/fs_report.cc
@@ -17,11 +17,13 @@
#include "kudu/fs/fs_report.h"
#include <iostream>
-#include <map>
#include <string>
#include <utility>
+#include <unordered_map>
#include <vector>
+#include <glog/logging.h>
+
#include "kudu/fs/fs.pb.h"
#include "kudu/gutil/strings/join.h"
#include "kudu/gutil/strings/substitute.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/fs_report.h
----------------------------------------------------------------------
diff --git a/src/kudu/fs/fs_report.h b/src/kudu/fs/fs_report.h
index c656edd..1c72425 100644
--- a/src/kudu/fs/fs_report.h
+++ b/src/kudu/fs/fs_report.h
@@ -16,6 +16,7 @@
// under the License.
#pragma once
+#include <cstdint>
#include <string>
#include <vector>
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/log_block_manager-test-util.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/log_block_manager-test-util.cc b/src/kudu/fs/log_block_manager-test-util.cc
index 1a36fd5..8f6d984 100644
--- a/src/kudu/fs/log_block_manager-test-util.cc
+++ b/src/kudu/fs/log_block_manager-test-util.cc
@@ -18,24 +18,27 @@
#include "kudu/fs/log_block_manager-test-util.h"
#include <algorithm>
-#include <iterator>
+#include <cstring>
#include <memory>
+#include <ostream>
#include <string>
#include <unordered_map>
+#include <utility>
#include <vector>
#include <gflags/gflags_declare.h>
#include <glog/logging.h>
+#include "kudu/fs/block_id.h"
#include "kudu/fs/fs.pb.h"
#include "kudu/fs/log_block_manager.h"
#include "kudu/gutil/integral_types.h"
-#include "kudu/gutil/map-util.h"
#include "kudu/gutil/strings/strcat.h"
#include "kudu/gutil/strings/strip.h"
#include "kudu/util/env.h"
#include "kudu/util/path_util.h"
#include "kudu/util/pb_util.h"
+#include "kudu/util/slice.h"
#include "kudu/util/status.h"
DECLARE_uint64(log_container_max_size);
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/log_block_manager-test-util.h
----------------------------------------------------------------------
diff --git a/src/kudu/fs/log_block_manager-test-util.h b/src/kudu/fs/log_block_manager-test-util.h
index fa260eb..7cafbec 100644
--- a/src/kudu/fs/log_block_manager-test-util.h
+++ b/src/kudu/fs/log_block_manager-test-util.h
@@ -16,11 +16,11 @@
// under the License.
#pragma once
+#include <cstdint>
#include <memory>
#include <string>
#include <vector>
-#include "kudu/fs/block_id.h"
#include "kudu/gutil/macros.h"
#include "kudu/util/env.h"
#include "kudu/util/oid_generator.h"
@@ -29,6 +29,8 @@
namespace kudu {
+class BlockId;
+
namespace pb_util {
class WritablePBContainerFile;
} // namespace pb_util
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/log_block_manager-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/log_block_manager-test.cc b/src/kudu/fs/log_block_manager-test.cc
index cf0cbb9..d022ff7 100644
--- a/src/kudu/fs/log_block_manager-test.cc
+++ b/src/kudu/fs/log_block_manager-test.cc
@@ -35,6 +35,7 @@
#include "kudu/util/path_util.h"
#include "kudu/util/pb_util.h"
#include "kudu/util/random.h"
+#include "kudu/util/test_macros.h"
#include "kudu/util/test_util.h"
using kudu::pb_util::ReadablePBContainerFile;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/log_block_manager.cc
----------------------------------------------------------------------
diff --git a/src/kudu/fs/log_block_manager.cc b/src/kudu/fs/log_block_manager.cc
index c1bba27..273a18c 100644
--- a/src/kudu/fs/log_block_manager.cc
+++ b/src/kudu/fs/log_block_manager.cc
@@ -18,22 +18,37 @@
#include "kudu/fs/log_block_manager.h"
#include <algorithm>
+#include <cerrno>
+#include <cstddef>
+#include <cstdint>
#include <map>
#include <memory>
#include <mutex>
+#include <numeric>
+#include <ostream>
+#include <set>
#include <unordered_map>
#include <unordered_set>
#include <vector>
+#include <boost/optional/optional.hpp>
+#include <gflags/gflags.h>
+#include <gflags/gflags_declare.h>
+#include <glog/logging.h>
+
#include "kudu/fs/block_manager_metrics.h"
#include "kudu/fs/block_manager_util.h"
#include "kudu/fs/data_dirs.h"
#include "kudu/fs/error_manager.h"
#include "kudu/fs/fs.pb.h"
#include "kudu/fs/fs_report.h"
+#include "kudu/gutil/bind.h"
+#include "kudu/gutil/bind_helpers.h"
#include "kudu/gutil/callback.h"
#include "kudu/gutil/integral_types.h"
#include "kudu/gutil/map-util.h"
+#include "kudu/gutil/port.h"
+#include "kudu/gutil/stl_util.h"
#include "kudu/gutil/strings/numbers.h"
#include "kudu/gutil/strings/strcat.h"
#include "kudu/gutil/strings/strip.h"
@@ -47,21 +62,22 @@
#include "kudu/util/file_cache.h"
#include "kudu/util/flag_tags.h"
#include "kudu/util/locks.h"
+#include "kudu/util/make_shared.h"
#include "kudu/util/malloc.h"
#include "kudu/util/metrics.h"
#include "kudu/util/monotime.h"
-#include "kudu/util/mutex.h"
#include "kudu/util/path_util.h"
#include "kudu/util/pb_util.h"
+#include "kudu/util/random.h"
#include "kudu/util/random_util.h"
#include "kudu/util/scoped_cleanup.h"
-#include "kudu/util/stopwatch.h"
+#include "kudu/util/slice.h"
#include "kudu/util/test_util_prod.h"
-#include "kudu/util/threadpool.h"
#include "kudu/util/trace.h"
-DECLARE_bool(enable_data_block_fsync);
DECLARE_bool(block_manager_lock_dirs);
+DECLARE_bool(block_coalesce_close);
+DECLARE_bool(enable_data_block_fsync);
// TODO(unknown): How should this be configured? Should provide some guidance.
DEFINE_uint64(log_container_max_size, 10LU * 1024 * 1024 * 1024,
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/fs/log_block_manager.h
----------------------------------------------------------------------
diff --git a/src/kudu/fs/log_block_manager.h b/src/kudu/fs/log_block_manager.h
index 530c493..3c52602 100644
--- a/src/kudu/fs/log_block_manager.h
+++ b/src/kudu/fs/log_block_manager.h
@@ -17,6 +17,7 @@
#pragma once
+#include <cstdint>
#include <deque>
#include <map>
#include <memory>
@@ -26,31 +27,27 @@
#include <utility>
#include <vector>
-#include <boost/optional/optional.hpp>
-#include <gtest/gtest_prod.h>
+#include <boost/optional/optional.hpp> // IWYU pragma: keep
#include <sparsehash/sparse_hash_map>
+#include <gtest/gtest_prod.h>
#include "kudu/fs/block_id.h"
#include "kudu/fs/block_manager.h"
#include "kudu/fs/data_dirs.h"
-#include "kudu/fs/fs.pb.h"
+#include "kudu/gutil/macros.h"
#include "kudu/gutil/ref_counted.h"
#include "kudu/util/atomic.h"
#include "kudu/util/file_cache.h"
+#include "kudu/util/locks.h"
#include "kudu/util/mem_tracker.h"
#include "kudu/util/oid_generator.h"
-#include "kudu/util/random.h"
+#include "kudu/util/status.h"
namespace kudu {
+
+class BlockRecordPB;
class Env;
-class MetricEntity;
class RWFile;
-class ThreadPool;
-class FsManager;
-
-namespace pb_util {
-class WritablePBContainerFile;
-} // namespace pb_util
namespace fs {
class FsErrorManager;
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/atomicops-internals-macosx.h
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/atomicops-internals-macosx.h b/src/kudu/gutil/atomicops-internals-macosx.h
index 15efaef..d141d1d 100644
--- a/src/kudu/gutil/atomicops-internals-macosx.h
+++ b/src/kudu/gutil/atomicops-internals-macosx.h
@@ -5,6 +5,7 @@
// Implementation of atomic operations for Mac OS X. This file should not
// be included directly. Clients should instead include
// "base/atomicops.h".
+// IWYU pragma: private, include "kudu/gutil/atomicops.h"
#ifndef BASE_AUXILIARY_ATOMICOPS_INTERNALS_MACOSX_H_
#define BASE_AUXILIARY_ATOMICOPS_INTERNALS_MACOSX_H_
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/atomicops-internals-powerpc.h
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/atomicops-internals-powerpc.h b/src/kudu/gutil/atomicops-internals-powerpc.h
index 0e56475..18eaa1f 100644
--- a/src/kudu/gutil/atomicops-internals-powerpc.h
+++ b/src/kudu/gutil/atomicops-internals-powerpc.h
@@ -23,6 +23,7 @@
// Implementation of atomic operations for PowerPC. This file should not
// be included directly. Clients should instead include
// "base/atomicops.h".
+// IWYU pragma: private, include "kudu/gutil/atomicops.h"
// *** WARNING EXPERIMENTAL CODE ***
// This is not tested and may contain bugs. Until we have bootstrapped
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/atomicops-internals-tsan.h
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/atomicops-internals-tsan.h b/src/kudu/gutil/atomicops-internals-tsan.h
index be9c144..dea45b0 100644
--- a/src/kudu/gutil/atomicops-internals-tsan.h
+++ b/src/kudu/gutil/atomicops-internals-tsan.h
@@ -4,6 +4,7 @@
// This file is an internal atomic implementation for compiler-based
// ThreadSanitizer. Use base/atomicops.h instead.
+// IWYU pragma: private, include "kudu/gutil/atomicops.h"
#ifndef BASE_ATOMICOPS_INTERNALS_TSAN_H_
#define BASE_ATOMICOPS_INTERNALS_TSAN_H_
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/atomicops-internals-x86.cc
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/atomicops-internals-x86.cc b/src/kudu/gutil/atomicops-internals-x86.cc
index 541429e..92e1e58 100644
--- a/src/kudu/gutil/atomicops-internals-x86.cc
+++ b/src/kudu/gutil/atomicops-internals-x86.cc
@@ -28,7 +28,7 @@
#include <string.h>
#include <glog/logging.h>
-#include "kudu/gutil/logging-inl.h"
+
#include "kudu/gutil/integral_types.h"
// This file only makes sense with atomicops-internals-x86.h -- it
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/atomicops-internals-x86.h
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/atomicops-internals-x86.h b/src/kudu/gutil/atomicops-internals-x86.h
index 1d2a5c4..c209b78 100644
--- a/src/kudu/gutil/atomicops-internals-x86.h
+++ b/src/kudu/gutil/atomicops-internals-x86.h
@@ -19,15 +19,16 @@
//
// All Rights Reserved.
//
-//
// Implementation of atomic operations for x86. This file should not
// be included directly. Clients should instead include
// "base/atomicops.h".
+// IWYU pragma: private, include "kudu/gutil/atomicops.h"
#ifndef GUTIL_ATOMICOPS_INTERNALS_X86_H_
#define GUTIL_ATOMICOPS_INTERNALS_X86_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/gutil/atomicops.h
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/atomicops.h b/src/kudu/gutil/atomicops.h
index fa4c44c..c29a02f 100644
--- a/src/kudu/gutil/atomicops.h
+++ b/src/kudu/gutil/atomicops.h
@@ -51,7 +51,7 @@
#ifndef THREAD_ATOMICOPS_H_
#define THREAD_ATOMICOPS_H_
-#include <stdint.h>
+#include <cstdint>
// ------------------------------------------------------------------------
// Include the platform specific implementations of the types
@@ -71,19 +71,19 @@
// ThreadSanitizer provides own implementation of atomicops.
#if defined(THREAD_SANITIZER)
-#include "kudu/gutil/atomicops-internals-tsan.h"
+#include "kudu/gutil/atomicops-internals-tsan.h" // IWYU pragma: export
#elif defined(__APPLE__)
-#include "kudu/gutil/atomicops-internals-macosx.h"
+#include "kudu/gutil/atomicops-internals-macosx.h" // IWYU pragma: export
#elif defined(__GNUC__) && defined(ARMV6)
-#include "kudu/gutil/atomicops-internals-arm-v6plus.h"
+#include "kudu/gutil/atomicops-internals-arm-v6plus.h" // IWYU pragma: export
#elif defined(ARMV3)
-#include "kudu/gutil/atomicops-internals-arm-generic.h"
+#include "kudu/gutil/atomicops-internals-arm-generic.h" // IWYU pragma: export
#elif defined(__GNUC__) && (defined(__i386) || defined(__x86_64__))
-#include "kudu/gutil/atomicops-internals-x86.h"
+#include "kudu/gutil/atomicops-internals-x86.h" // IWYU pragma: export
#elif defined(__GNUC__) && defined(ARCH_POWERPC64)
-#include "kudu/gutil/atomicops-internals-powerpc.h"
+#include "kudu/gutil/atomicops-internals-powerpc.h" // IWYU pragma: export
#elif defined(OS_WINDOWS)
-#include "kudu/gutil/atomicops-internals-windows.h"
+#include "kudu/gutil/atomicops-internals-windows.h" // IWYU pragma: export
#else
#error You need to implement atomic operations for this architecture
#endif
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/bits.h
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/bits.h b/src/kudu/gutil/bits.h
index 639186e..b4a4327 100644
--- a/src/kudu/gutil/bits.h
+++ b/src/kudu/gutil/bits.h
@@ -2,11 +2,7 @@
//
// A collection of useful (static) bit-twiddling functions.
-#include <glog/logging.h>
-
-#include "kudu/gutil/basictypes.h"
#include "kudu/gutil/integral_types.h"
-#include "kudu/gutil/logging-inl.h"
#include "kudu/gutil/macros.h"
#ifndef _BITS_H_
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/callback_internal.cc
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/callback_internal.cc b/src/kudu/gutil/callback_internal.cc
index 05b9e8f..1ed1af3 100644
--- a/src/kudu/gutil/callback_internal.cc
+++ b/src/kudu/gutil/callback_internal.cc
@@ -4,6 +4,8 @@
#include "kudu/gutil/callback_internal.h"
+#include <glog/logging.h>
+
namespace kudu {
namespace internal {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/callback_internal.h
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/callback_internal.h b/src/kudu/gutil/callback_internal.h
index 47b5655..f409c87 100644
--- a/src/kudu/gutil/callback_internal.h
+++ b/src/kudu/gutil/callback_internal.h
@@ -8,13 +8,11 @@
#ifndef KUDU_GUTIL_CALLBACK_INTERNAL_H_
#define KUDU_GUTIL_CALLBACK_INTERNAL_H_
-#include <stddef.h>
+#include <cstddef>
-#include "kudu/gutil/gscoped_ptr.h"
#include "kudu/gutil/ref_counted.h"
-
-template <typename T>
-class ScopedVector;
+#include "kudu/gutil/template_util.h"
+#include "kudu/gutil/type_traits.h"
namespace kudu {
namespace internal {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/cpu.cc
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/cpu.cc b/src/kudu/gutil/cpu.cc
index f4c3885a..cd2b16c 100644
--- a/src/kudu/gutil/cpu.cc
+++ b/src/kudu/gutil/cpu.cc
@@ -4,13 +4,10 @@
#include "kudu/gutil/cpu.h"
-#include <stdlib.h>
-#include <string.h>
-
+#include <cstring>
#include <algorithm>
-#include "kudu/gutil/basictypes.h"
-#include "kudu/gutil/strings/stringpiece.h"
+#include "kudu/gutil/integral_types.h"
#if defined(__x86_64__)
#if defined(_MSC_VER)
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/hash/builtin_type_hash.h
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/hash/builtin_type_hash.h b/src/kudu/gutil/hash/builtin_type_hash.h
index c979eb2..0e8a183 100644
--- a/src/kudu/gutil/hash/builtin_type_hash.h
+++ b/src/kudu/gutil/hash/builtin_type_hash.h
@@ -7,8 +7,8 @@
#ifndef UTIL_HASH_BUILTIN_TYPE_HASH_H_
#define UTIL_HASH_BUILTIN_TYPE_HASH_H_
-#include <stddef.h>
-#include <stdint.h>
+#include <cstddef>
+#include <cstdint>
#include "kudu/gutil/casts.h"
#include "kudu/gutil/integral_types.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/hash/city.cc
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/hash/city.cc b/src/kudu/gutil/hash/city.cc
index cc00ff7..e3ff7fc 100644
--- a/src/kudu/gutil/hash/city.cc
+++ b/src/kudu/gutil/hash/city.cc
@@ -18,22 +18,26 @@
#include <sys/types.h>
#include <algorithm>
+#include <iterator>
+#include <utility>
+#include <vector>
+
+#include <glog/logging.h>
+
+#include "kudu/gutil/endian.h"
+#include "kudu/gutil/int128.h"
+#include "kudu/gutil/integral_types.h"
+#include "kudu/gutil/hash/hash128to64.h"
+#include "kudu/gutil/port.h"
+
using std::copy;
+using std::make_pair;
using std::max;
using std::min;
+using std::pair;
using std::reverse;
using std::sort;
using std::swap;
-#include <utility>
-using std::make_pair;
-using std::pair;
-
-#include "kudu/gutil/int128.h"
-#include "kudu/gutil/integral_types.h"
-#include <glog/logging.h>
-#include "kudu/gutil/logging-inl.h"
-#include "kudu/gutil/hash/hash128to64.h"
-#include "kudu/gutil/endian.h"
namespace util_hash {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/hash/hash.cc
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/hash/hash.cc b/src/kudu/gutil/hash/hash.cc
index 24fc310..c708da3 100644
--- a/src/kudu/gutil/hash/hash.cc
+++ b/src/kudu/gutil/hash/hash.cc
@@ -9,9 +9,9 @@
#include "kudu/gutil/hash/hash.h"
-#include "kudu/gutil/integral_types.h"
#include <glog/logging.h>
-#include "kudu/gutil/logging-inl.h"
+
+#include "kudu/gutil/integral_types.h"
#include "kudu/gutil/hash/jenkins.h"
#include "kudu/gutil/hash/jenkins_lookup2.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/hash/hash.h
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/hash/hash.h b/src/kudu/gutil/hash/hash.h
index 299a8e2..6d4c6fc 100644
--- a/src/kudu/gutil/hash/hash.h
+++ b/src/kudu/gutil/hash/hash.h
@@ -73,21 +73,15 @@
#ifndef UTIL_HASH_HASH_H_
#define UTIL_HASH_HASH_H_
-#include <stddef.h>
-#include <stdint.h> // for uintptr_t
-#include <string.h>
-#include <algorithm>
-#include <unordered_map>
-#include <unordered_set>
+#include <cstddef>
+#include <cstring>
#include <string>
+#include <unordered_map>
#include <utility>
-#include "kudu/gutil/casts.h"
#include "kudu/gutil/int128.h"
#include "kudu/gutil/integral_types.h"
-#include "kudu/gutil/macros.h"
-#include "kudu/gutil/port.h"
-#include "kudu/gutil/hash/city.h"
+#include "kudu/gutil/hash/builtin_type_hash.h"
#include "kudu/gutil/hash/hash128to64.h"
#include "kudu/gutil/hash/jenkins.h"
#include "kudu/gutil/hash/jenkins_lookup2.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/hash/jenkins.cc
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/hash/jenkins.cc b/src/kudu/gutil/hash/jenkins.cc
index 70a7e30..2c5e580 100644
--- a/src/kudu/gutil/hash/jenkins.cc
+++ b/src/kudu/gutil/hash/jenkins.cc
@@ -18,9 +18,9 @@
#include "kudu/gutil/hash/jenkins.h"
-#include "kudu/gutil/integral_types.h"
#include <glog/logging.h>
-#include "kudu/gutil/logging-inl.h"
+
+#include "kudu/gutil/integral_types.h"
#include "kudu/gutil/hash/jenkins_lookup2.h"
static inline uint32 char2unsigned(char c) {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/mathlimits.h
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/mathlimits.h b/src/kudu/gutil/mathlimits.h
index 9d69733..6b09aa0 100644
--- a/src/kudu/gutil/mathlimits.h
+++ b/src/kudu/gutil/mathlimits.h
@@ -31,8 +31,6 @@
#ifndef UTIL_MATH_MATHLIMITS_H__
#define UTIL_MATH_MATHLIMITS_H__
-#include <math.h>
-#include <string.h>
#include <cfloat>
#include <cmath>
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/once.cc
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/once.cc b/src/kudu/gutil/once.cc
index 1b97f8f..34787c6 100644
--- a/src/kudu/gutil/once.cc
+++ b/src/kudu/gutil/once.cc
@@ -1,9 +1,14 @@
// Copyright 2008 Google Inc. All Rights Reserved.
+#include <ostream>
+
#include <glog/logging.h>
+
+#include "kudu/gutil/atomicops.h"
+#include "kudu/gutil/dynamic_annotations.h"
+#include "kudu/gutil/integral_types.h"
#include "kudu/gutil/logging-inl.h"
#include "kudu/gutil/once.h"
-#include "kudu/gutil/dynamic_annotations.h"
#include "kudu/gutil/spinlock_internal.h"
// All modifications to a GoogleOnceType occur inside GoogleOnceInternalInit.
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/once.h
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/once.h b/src/kudu/gutil/once.h
index ff161c5..460a2ec 100644
--- a/src/kudu/gutil/once.h
+++ b/src/kudu/gutil/once.h
@@ -25,7 +25,6 @@
#define BASE_ONCE_H_
#include "kudu/gutil/atomicops.h"
-#include "kudu/gutil/integral_types.h"
#include "kudu/gutil/dynamic_annotations.h"
#include "kudu/gutil/macros.h"
#include "kudu/gutil/port.h"
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/ref_counted.cc
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/ref_counted.cc b/src/kudu/gutil/ref_counted.cc
index a15a1e2..500752e 100644
--- a/src/kudu/gutil/ref_counted.cc
+++ b/src/kudu/gutil/ref_counted.cc
@@ -2,10 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "kudu/gutil/ref_counted.h"
+#include <ostream>
#include <glog/logging.h>
-#include "kudu/gutil/threading/thread_collision_warner.h"
+
+#include "kudu/gutil/atomic_refcount.h"
+#include "kudu/gutil/ref_counted.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/ref_counted.h
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/ref_counted.h b/src/kudu/gutil/ref_counted.h
index 8b6a553..66cdac9 100644
--- a/src/kudu/gutil/ref_counted.h
+++ b/src/kudu/gutil/ref_counted.h
@@ -6,9 +6,10 @@
#define BASE_MEMORY_REF_COUNTED_H_
#include <cassert>
+#include <cstddef>
-#include "kudu/gutil/atomic_refcount.h"
-#include "kudu/gutil/port.h"
+#include "kudu/gutil/atomicops.h"
+#include "kudu/gutil/macros.h"
#include "kudu/gutil/threading/thread_collision_warner.h"
namespace kudu {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/ref_counted_memory.cc
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/ref_counted_memory.cc b/src/kudu/gutil/ref_counted_memory.cc
index 1d695d9..babd0ff 100644
--- a/src/kudu/gutil/ref_counted_memory.cc
+++ b/src/kudu/gutil/ref_counted_memory.cc
@@ -4,7 +4,9 @@
#include "kudu/gutil/ref_counted_memory.h"
-#include <stdlib.h>
+#include <algorithm>
+#include <cstdlib>
+#include <cstring>
#include <glog/logging.h>
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/ref_counted_memory.h
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/ref_counted_memory.h b/src/kudu/gutil/ref_counted_memory.h
index 550a142..d180db9 100644
--- a/src/kudu/gutil/ref_counted_memory.h
+++ b/src/kudu/gutil/ref_counted_memory.h
@@ -5,12 +5,15 @@
#ifndef KUDU_GUTIL_REF_COUNTED_MEMORY_H_
#define KUDU_GUTIL_REF_COUNTED_MEMORY_H_
+#include <cstddef>
+
#include <string>
#include <vector>
#include "kudu/gutil/macros.h"
#include "kudu/gutil/ref_counted.h"
#include "kudu/gutil/port.h"
+#include "kudu/gutil/threading/thread_collision_warner.h"
#ifndef BASE_EXPORT
#define BASE_EXPORT
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/spinlock.cc
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/spinlock.cc b/src/kudu/gutil/spinlock.cc
index 63b8513..9d1256a 100644
--- a/src/kudu/gutil/spinlock.cc
+++ b/src/kudu/gutil/spinlock.cc
@@ -33,10 +33,10 @@
*/
#include "kudu/gutil/spinlock.h"
-#include "kudu/gutil/synchronization_profiling.h"
#include "kudu/gutil/spinlock_internal.h"
-#include "kudu/gutil/walltime.h"
+#include "kudu/gutil/synchronization_profiling.h"
#include "kudu/gutil/sysinfo.h" /* for NumCPUs() */
+#include "kudu/gutil/walltime.h"
namespace base {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/spinlock.h
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/spinlock.h b/src/kudu/gutil/spinlock.h
index fcd6287..eced3ef 100644
--- a/src/kudu/gutil/spinlock.h
+++ b/src/kudu/gutil/spinlock.h
@@ -40,8 +40,9 @@
#define BASE_SPINLOCK_H_
#include "kudu/gutil/atomicops.h"
-#include "kudu/gutil/basictypes.h"
#include "kudu/gutil/dynamic_annotations.h"
+#include "kudu/gutil/integral_types.h"
+#include "kudu/gutil/macros.h"
#include "kudu/gutil/thread_annotations.h"
// This isn't originally in the base:: namespace in tcmalloc,
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/spinlock_internal.h
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/spinlock_internal.h b/src/kudu/gutil/spinlock_internal.h
index c235893..55a4eba 100644
--- a/src/kudu/gutil/spinlock_internal.h
+++ b/src/kudu/gutil/spinlock_internal.h
@@ -36,8 +36,8 @@
#ifndef BASE_SPINLOCK_INTERNAL_H_
#define BASE_SPINLOCK_INTERNAL_H_
-#include "kudu/gutil/basictypes.h"
#include "kudu/gutil/atomicops.h"
+#include "kudu/gutil/integral_types.h"
namespace base {
namespace internal {
http://git-wip-us.apache.org/repos/asf/kudu/blob/0f6dcf83/src/kudu/gutil/stringprintf.cc
----------------------------------------------------------------------
diff --git a/src/kudu/gutil/stringprintf.cc b/src/kudu/gutil/stringprintf.cc
index 45a0cde..f083f2b 100644
--- a/src/kudu/gutil/stringprintf.cc
+++ b/src/kudu/gutil/stringprintf.cc
@@ -2,12 +2,13 @@
#include "kudu/gutil/stringprintf.h"
-#include <errno.h>
-#include <stdarg.h> // For va_list and related operations
-#include <stdio.h> // MSVC requires this for _vsnprintf
+#include <cstdio> // MSVC requires this for _vsnprintf
+#include <memory>
+#include <ostream>
#include <vector>
+
#include <glog/logging.h>
-#include "kudu/gutil/logging-inl.h"
+
#include "kudu/gutil/macros.h"
using std::string;