fix capacity of level ssts (#55)

* fix capacity of level ssts

* fix lower ssts capacity in campaction
This commit is contained in:
letterbeezps
2024-03-11 02:30:41 +08:00
committed by GitHub
parent 12adab7c27
commit faa001a801
4 changed files with 6 additions and 6 deletions

View File

@@ -249,7 +249,7 @@ impl LsmStorageInner {
upper_ssts.push(snapshot.sstables.get(id).unwrap().clone()); upper_ssts.push(snapshot.sstables.get(id).unwrap().clone());
} }
let upper_iter = SstConcatIterator::create_and_seek_to_first(upper_ssts)?; let upper_iter = SstConcatIterator::create_and_seek_to_first(upper_ssts)?;
let mut lower_ssts = Vec::with_capacity(upper_level_sst_ids.len()); let mut lower_ssts = Vec::with_capacity(lower_level_sst_ids.len());
for id in lower_level_sst_ids.iter() { for id in lower_level_sst_ids.iter() {
lower_ssts.push(snapshot.sstables.get(id).unwrap().clone()); lower_ssts.push(snapshot.sstables.get(id).unwrap().clone());
} }
@@ -267,7 +267,7 @@ impl LsmStorageInner {
)?)); )?));
} }
let upper_iter = MergeIterator::create(upper_iters); let upper_iter = MergeIterator::create(upper_iters);
let mut lower_ssts = Vec::with_capacity(upper_level_sst_ids.len()); let mut lower_ssts = Vec::with_capacity(lower_level_sst_ids.len());
for id in lower_level_sst_ids.iter() { for id in lower_level_sst_ids.iter() {
lower_ssts.push(snapshot.sstables.get(id).unwrap().clone()); lower_ssts.push(snapshot.sstables.get(id).unwrap().clone());
} }

View File

@@ -513,7 +513,7 @@ impl LsmStorageInner {
let l0_iter = MergeIterator::create(l0_iters); let l0_iter = MergeIterator::create(l0_iters);
let mut level_iters = Vec::with_capacity(snapshot.levels.len()); let mut level_iters = Vec::with_capacity(snapshot.levels.len());
for (_, level_sst_ids) in &snapshot.levels { for (_, level_sst_ids) in &snapshot.levels {
let mut level_ssts = Vec::with_capacity(snapshot.levels[0].1.len()); let mut level_ssts = Vec::with_capacity(level_sst_ids.len());
for table in level_sst_ids { for table in level_sst_ids {
let table = snapshot.sstables[table].clone(); let table = snapshot.sstables[table].clone();
if keep_table(key, &table) { if keep_table(key, &table) {

View File

@@ -203,7 +203,7 @@ impl LsmStorageInner {
upper_ssts.push(snapshot.sstables.get(id).unwrap().clone()); upper_ssts.push(snapshot.sstables.get(id).unwrap().clone());
} }
let upper_iter = SstConcatIterator::create_and_seek_to_first(upper_ssts)?; let upper_iter = SstConcatIterator::create_and_seek_to_first(upper_ssts)?;
let mut lower_ssts = Vec::with_capacity(upper_level_sst_ids.len()); let mut lower_ssts = Vec::with_capacity(lower_level_sst_ids.len());
for id in lower_level_sst_ids.iter() { for id in lower_level_sst_ids.iter() {
lower_ssts.push(snapshot.sstables.get(id).unwrap().clone()); lower_ssts.push(snapshot.sstables.get(id).unwrap().clone());
} }
@@ -221,7 +221,7 @@ impl LsmStorageInner {
)?)); )?));
} }
let upper_iter = MergeIterator::create(upper_iters); let upper_iter = MergeIterator::create(upper_iters);
let mut lower_ssts = Vec::with_capacity(upper_level_sst_ids.len()); let mut lower_ssts = Vec::with_capacity(lower_level_sst_ids.len());
for id in lower_level_sst_ids.iter() { for id in lower_level_sst_ids.iter() {
lower_ssts.push(snapshot.sstables.get(id).unwrap().clone()); lower_ssts.push(snapshot.sstables.get(id).unwrap().clone());
} }

View File

@@ -503,7 +503,7 @@ impl LsmStorageInner {
let l0_iter = MergeIterator::create(l0_iters); let l0_iter = MergeIterator::create(l0_iters);
let mut level_iters = Vec::with_capacity(snapshot.levels.len()); let mut level_iters = Vec::with_capacity(snapshot.levels.len());
for (_, level_sst_ids) in &snapshot.levels { for (_, level_sst_ids) in &snapshot.levels {
let mut level_ssts = Vec::with_capacity(snapshot.levels[0].1.len()); let mut level_ssts = Vec::with_capacity(level_sst_ids.len());
for table in level_sst_ids { for table in level_sst_ids {
let table = snapshot.sstables[table].clone(); let table = snapshot.sstables[table].clone();
if keep_table(key, &table) { if keep_table(key, &table) {