Name

Results 16 comments of Name

比如来一段 是面向过程开发的代码 和面向对象开发的代码 直接对比看一下!

试试 o1 o2 o3 编译呢;-O0 不进行优化处理; ------------------ 原始邮件 ------------------ 发件人: "Snailclimb/JavaGuide"

immutable table到sstTable这个步骤,private void initFromIndex(TreeMap memory) {} 这个方法没见用锁啊。

1. 将 wal 和 内存有序Tree结构 两者 共同绑定在 MemTable 这个结构中, 并新增 imemTables[] 数组结构; 因为当前的设计是 wal 是单独分开 并 只有一个 , 但是 memTable 是可能存在两个 (可写 和 仅可读), 因此会出现数据不一致情况; 2. 在进行set()时, 假如当前 memTable大小 达到阈值,...

没看 RocksDB的实现源码,只是看了一些 基于 LSM 结构 的 GO 语言开源的 KV 项目代码,比如 roseDB badger 等一些项目;

> 能看看你的改进优化吗?

CountDownLatch latch_1 = new CountDownLatch(futureArrayList.size() / 2); 把全部 改为 一半 怎么样?

![image](https://github.com/stateIs0/lu-raft-kv/assets/43784129/53ad3675-2910-4142-963d-f69004f2ce87) 我的没有更改什么代码,可以正常选出 Leader 哎

> ``` > if (N > commitIndex) { > LogEntry entry = logModule.read(N); > if (entry != null && entry.getTerm() == currentTerm) { > commitIndex = N; > } >...

![image](https://github.com/stateIs0/lu-raft-kv/assets/43784129/5dae56c4-f02d-48dd-b4a7-70d1387b1d5e) 在红色框中,很有可能 线程A获得锁执行了一次write()函数,随后释放锁; 然后线程C紧接着获得了锁,也执行了一次write()函数,此时 getLastIndex()==2,然后线程A获得锁执行的 deleteOnStartIndex()函数,是从2开始的,因此会出现1位置的日志没有被删除;