feat: compaction integration (#997)

* feat: trigger compaction on flush

* chore: rebase develop

* feat: add config item max_file_in_level0 and remove compaction_after_flush

* fix: cr comments

* chore: add unit test to cover Timestamp::new_inclusive

* fix: workaround to fix future is not Sync

* fix: future is not sync

* fix: some cr comments
This commit is contained in:
Lei, HUANG
2023-02-15 14:14:07 +08:00
committed by GitHub
parent e2904b99ac
commit 75b8afe043
30 changed files with 515 additions and 196 deletions

View File

@@ -118,6 +118,7 @@ mod tests {
use log_store::raft_engine::log_store::RaftEngineLogStore;
use log_store::LogConfig;
use mito::engine::MitoEngine;
use storage::compaction::noop::NoopCompactionScheduler;
use storage::config::EngineConfig as StorageEngineConfig;
use storage::EngineImpl;
use tempdir::TempDir;
@@ -135,12 +136,14 @@ mod tests {
};
let log_store = RaftEngineLogStore::try_new(log_config).await.unwrap();
let compaction_scheduler = Arc::new(NoopCompactionScheduler::default());
let mock_engine = Arc::new(DefaultEngine::new(
TableEngineConfig::default(),
EngineImpl::new(
StorageEngineConfig::default(),
Arc::new(log_store),
object_store.clone(),
compaction_scheduler,
),
object_store,
));

View File

@@ -962,7 +962,7 @@ pub(crate) mod greptime_builtin {
Ok(obj) => match py_vec_obj_to_array(&obj, vm, 1){
Ok(v) => if v.len()==1{
Ok(v)
}else{
} else {
Err(vm.new_runtime_error(format!("Expect return's length to be at most one, found to be length of {}.", v.len())))
},
Err(err) => Err(vm