Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions cmd/ban-ingest/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ type Result struct {
}

// setupEngine 指向临时目录并以小 memtable 创建引擎,返回引擎与清理函数。
func setupEngine(memTableSize int) (*storage.MemTable, func()) {
func setupEngine(memTableSize int) (*storage.Engine, func()) {
tmp, err := os.MkdirTemp("", "bandb-ingest-*")
if err != nil {
panic(err)
Expand All @@ -99,7 +99,7 @@ func setupEngine(memTableSize int) (*storage.MemTable, func()) {
config.G.WALPath = filepath.Join(tmp, "wal.log")
config.G.MaxMemTableSize = memTableSize

memTable := storage.NewMemTable()
memTable := storage.NewEngine()
cleanup := func() {
_ = memTable.Close()
os.RemoveAll(tmp)
Expand All @@ -108,7 +108,7 @@ func setupEngine(memTableSize int) (*storage.MemTable, func()) {
}

// memSampler 每 100ms 采样一次堆内存与未 flush 字节信用,返回停止函数(调用后回填峰值)。
func memSampler(mt *storage.MemTable, heapPeak, sysPeak, inflightPeak *uint64) func() {
func memSampler(mt *storage.Engine, heapPeak, sysPeak, inflightPeak *uint64) func() {
stop := make(chan struct{})
var wg sync.WaitGroup
wg.Add(1)
Expand Down
4 changes: 2 additions & 2 deletions service/fsm.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ type Command struct {

type KVServer struct {
raft *raft.Raft
storage *storage.MemTable
storage *storage.Engine
wal *storage.WAL // standalone 模式的存储层 WAL;raft 模式为 nil

// cpMu 协调写入与 WAL checkpoint:每次写用 RLock 把 wal.Append+storage.Put
Expand All @@ -52,7 +52,7 @@ type KVServer struct {
func NewKVServer() *KVServer {
// 初始化存储
kv := &KVServer{
storage: storage.NewMemTable(),
storage: storage.NewEngine(),
}

if config.G.Mode == config.ModeStandalone {
Expand Down
10 changes: 5 additions & 5 deletions storage/bench_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (

func benchmarkEnginePut(b *testing.B, valueSize int) {
config.G.MaxMemTableSize = 1000000 // prevent flush during bench
memTable := storage.NewMemTable()
memTable := storage.NewEngine()

value := make([]byte, valueSize)
for i := range value {
Expand All @@ -31,7 +31,7 @@ func BenchmarkEngine_Put_4KB(b *testing.B) { benchmarkEnginePut(b, 4096) }

func BenchmarkEngine_Get(b *testing.B) {
config.G.MaxMemTableSize = 1000000
memTable := storage.NewMemTable()
memTable := storage.NewEngine()

value := make([]byte, 256)
for i := 0; i < 10000; i++ {
Expand All @@ -48,7 +48,7 @@ func BenchmarkEngine_Get(b *testing.B) {

func BenchmarkEngine_Delete(b *testing.B) {
config.G.MaxMemTableSize = 1000000
memTable := storage.NewMemTable()
memTable := storage.NewEngine()

value := make([]byte, 256)
keys := make([][]byte, b.N)
Expand All @@ -65,7 +65,7 @@ func BenchmarkEngine_Delete(b *testing.B) {

func BenchmarkMemTable_Put(b *testing.B) {
config.G.MaxMemTableSize = 1000000
mt := storage.NewMemTable()
mt := storage.NewEngine()
value := []byte("benchmark-value-data-256-bytes-padding-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")

b.ResetTimer()
Expand All @@ -77,7 +77,7 @@ func BenchmarkMemTable_Put(b *testing.B) {

func BenchmarkMemTable_Get(b *testing.B) {
config.G.MaxMemTableSize = 1000000
mt := storage.NewMemTable()
mt := storage.NewEngine()
value := []byte("benchmark-value")
for i := 0; i < 100000; i++ {
key := []byte(fmt.Sprintf("key-%08d", i))
Expand Down
2 changes: 1 addition & 1 deletion storage/compaction_bench_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func TestCompactionBench(t *testing.T) {

ResetCompactionStats()

// 不经 NewMemTable(避免启动异步 FlushWorker/ListenCompactCh 造成非确定性),
// 不经 NewEngine(避免启动异步 FlushWorker/ListenCompactCh 造成非确定性),
// 只用 sst,手动驱动 flush 与 compaction。
mt := newBareMemTable(NewSSTable())

Expand Down
Loading
Loading