skyler

Results 14 comments of skyler

> 有几点是我自己没想好的,先这么翻译了,校对的朋友看看有没有更好的想法 1.标题,Fixing retries翻译修复重试感觉不太对,又不知道怎么翻译,就省略了Fixing。 2.原文说的“N 次重试次之,如果下游的失败率是 x%,失败率实际是(1-x)N”,这个公式是不是不太对呀,比如请求100次,失败10次,失败率是10%,每次失败重试3次,这30次会失败3次,失败率实际应该是3%,即x/N。 @ParadiseWitch 这个在翻译文章的时候注意到了,原文是有误的。

我们讨论后决定应该支持在同一事务中读取前面写入。 基于以下逻辑:在数据库系统中,事务是用来维护数据一致性和隔离性的机制,它生效作用于不同事务中。而在同一个事务内执行的操作,都是在同一个逻辑时间内执行的,可以理解为等同于没有事务情况下进行操作。因此,更新后即便事务未提交,也应该是立刻可见的,因为所有的操作都是在同一个逻辑时间内进行的。 在业界中,主流数据库都是支持的,Mysql用ReadView实现了这一点,Badgerdb也支持。 [我已经提交了修复pr](https://github.com/nutsdb/nutsdb/pull/269),如无意外会在下一版本发布。

由于改造成本和风险较大,这个问题预计不会在下个版本修复了~

> 没有开源经验,如何做第一个PR? 想问下有无适合新手做的比如写单元测试的需求,也方便新手熟悉这个项目呢? 之前有过汇总项目里所有需要单元测试的方法,具体可以看这个[issue](https://github.com/nutsdb/nutsdb/issues/238),没有开源经验或者没有go语言开发经验都是可以领取的,很适合新手 。