mirror of
https://github.com/facebook/rocksdb.git
synced 2026-11-06 11:02:36 -05:00
Compare commits
1
Commits
main
...
fix_crash_test
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
87b7675f59 |
No files matched your search
+2
-2
@@ -874,13 +874,13 @@ set(SOURCES
|
||||
trace_replay/trace_record.cc
|
||||
trace_replay/trace_replay.cc
|
||||
util/async_file_reader.cc
|
||||
util/auto_skip_compressor.cc
|
||||
util/cleanable.cc
|
||||
util/coding.cc
|
||||
util/compaction_job_stats_impl.cc
|
||||
util/comparator.cc
|
||||
util/compression.cc
|
||||
util/simple_mixed_compressor.cc
|
||||
util/auto_skip_compressor.cc
|
||||
util/compression_context_cache.cc
|
||||
util/concurrent_task_limiter_impl.cc
|
||||
util/crc32c.cc
|
||||
@@ -1447,7 +1447,6 @@ if(WITH_TESTS)
|
||||
table/table_test.cc
|
||||
table/block_fetcher_test.cc
|
||||
test_util/testutil_test.cc
|
||||
util/compression_test.cc
|
||||
trace_replay/block_cache_tracer_test.cc
|
||||
trace_replay/io_tracer_test.cc
|
||||
tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc
|
||||
@@ -1459,6 +1458,7 @@ if(WITH_TESTS)
|
||||
util/autovector_test.cc
|
||||
util/bloom_test.cc
|
||||
util/coding_test.cc
|
||||
util/compression_test.cc
|
||||
util/crc32c_test.cc
|
||||
util/defer_test.cc
|
||||
util/dynamic_bloom_test.cc
|
||||
|
||||
@@ -1011,7 +1011,7 @@ def finalize_and_sanitize(src_params):
|
||||
dest_params["compression_type"] = "zstd"
|
||||
dest_params["bottommost_compression_type"] = "zstd"
|
||||
elif dest_params.get("compression_manager") == "autoskip":
|
||||
# disabling compression parallel threads if mixed manager is being used as the predictor is not thread safe
|
||||
# disabling compression parallel threads if auto skip manager is being used as the predictor is not thread safe
|
||||
dest_params["compression_parallel_threads"] = 1
|
||||
# esuring the compression is being used
|
||||
if dest_params.get("compression_type") == "none":
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
#include "options/options_helper.h"
|
||||
#include "rocksdb/advanced_compression.h"
|
||||
#include "test_util/sync_point.h"
|
||||
#include "util/random.h"
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
|
||||
@@ -31,9 +32,10 @@ bool CompressionRejectionProbabilityPredictor::Record(
|
||||
} else {
|
||||
compressed_count_++;
|
||||
}
|
||||
if (attempted_compression_count() >= window_size_) {
|
||||
pred_rejection_prob_percentage_ = static_cast<int>(
|
||||
rejected_count_ * 100 / (compressed_count_ + rejected_count_));
|
||||
auto attempted = attempted_compression_count();
|
||||
if (attempted >= window_size_) {
|
||||
pred_rejection_prob_percentage_ =
|
||||
static_cast<int>(rejected_count_ * 100 / attempted);
|
||||
compressed_count_ = 0;
|
||||
rejected_count_ = 0;
|
||||
assert(attempted_compression_count() == 0);
|
||||
@@ -41,16 +43,11 @@ bool CompressionRejectionProbabilityPredictor::Record(
|
||||
return true;
|
||||
}
|
||||
AutoSkipCompressorWrapper::AutoSkipCompressorWrapper(
|
||||
std::unique_ptr<Compressor> compressor, const CompressionOptions& opts,
|
||||
const CompressionType type)
|
||||
std::unique_ptr<Compressor> compressor, const CompressionOptions& opts)
|
||||
: CompressorWrapper::CompressorWrapper(std::move(compressor)),
|
||||
opts_(opts),
|
||||
type_(type),
|
||||
predictor_(
|
||||
std::make_shared<CompressionRejectionProbabilityPredictor>(10)) {
|
||||
(void)type_;
|
||||
(void)opts_;
|
||||
}
|
||||
std::make_shared<CompressionRejectionProbabilityPredictor>(10)) {}
|
||||
|
||||
Status AutoSkipCompressorWrapper::CompressBlock(
|
||||
Slice uncompressed_data, std::string* compressed_output,
|
||||
@@ -100,7 +97,7 @@ std::unique_ptr<Compressor> AutoSkipCompressorManager::GetCompressorForSST(
|
||||
assert(GetSupportedCompressions().size() > 1);
|
||||
assert(preferred != kNoCompression);
|
||||
return std::make_unique<AutoSkipCompressorWrapper>(
|
||||
wrapped_->GetCompressorForSST(context, opts, preferred), opts, preferred);
|
||||
wrapped_->GetCompressorForSST(context, opts, preferred), opts);
|
||||
}
|
||||
|
||||
std::shared_ptr<CompressionManagerWrapper> CreateAutoSkipCompressionManager(
|
||||
|
||||
@@ -37,8 +37,7 @@ class CompressionRejectionProbabilityPredictor {
|
||||
class AutoSkipCompressorWrapper : public CompressorWrapper {
|
||||
public:
|
||||
explicit AutoSkipCompressorWrapper(std::unique_ptr<Compressor> compressor,
|
||||
const CompressionOptions& opts,
|
||||
const CompressionType type);
|
||||
const CompressionOptions& opts);
|
||||
|
||||
Status CompressBlock(Slice uncompressed_data, std::string* compressed_output,
|
||||
CompressionType* out_compression_type,
|
||||
@@ -51,8 +50,7 @@ class AutoSkipCompressorWrapper : public CompressorWrapper {
|
||||
ManagedWorkingArea* wa);
|
||||
static constexpr int kExplorationPercentage = 10;
|
||||
static constexpr int kProbabilityCutOff = 50;
|
||||
const CompressionOptions& opts_;
|
||||
const CompressionType type_;
|
||||
const CompressionOptions opts_;
|
||||
std::shared_ptr<CompressionRejectionProbabilityPredictor> predictor_;
|
||||
};
|
||||
|
||||
|
||||
Reference in new issue
Block a user