Comments (4)
PhxPaxos不会干涉任何状态机的实现,请仔细检查是否状态机实现本身有问题。
from phxpaxos.
用lsof -n查看进程的文件句柄,发现phxpaxos的日志文件句柄不断增加,多个线程会打开同一个日志文件,我这边只有一个phxpaxos的实例(有多个线程会调用)
server 19313 19363 root mem REG 8,10 2112539 1445938 //storage/paxoslog/g0/000021.ldb
server 19313 19363 root mem REG 8,10 2006067 1446290 //storage/paxoslog/g0/000026.ldb
server 19313 19364 root mem REG 8,10 2112539 1446280 //storage/paxoslog/g0/000025.ldb
server 19313 19364 root mem REG 8,10 2112539 1446278 //storage/paxoslog/g0/000024.ldb
server 19313 19364 root mem REG 8,10 2112539 1446277 //storage/paxoslog/g0/000023.ldb
server 19313 19364 root mem REG 8,10 53747685 1446279 //storage/kvdb/000005.ldb
server 19313 19364 root mem REG 8,10 2112539 1446274 //storage/paxoslog/g0/000022.ldb
server 19313 19364 root mem REG 8,10 2112539 1445938 //storage/paxoslog/g0/000021.ldb
server 19313 19364 root mem REG 8,10 2006067 1446290 //storage/paxoslog/g0/000026.ldb
server 19313 19605 root mem REG 8,10 2112539 1446280 //storage/paxoslog/g0/000025.ldb
server 19313 19605 root mem REG 8,10 2112539 1446278 //storage/paxoslog/g0/000024.ldb
server 19313 19605 root mem REG 8,10 2112539 1446277 //storage/paxoslog/g0/000023.ldb
server 19313 19605 root mem REG 8,10 53747685 1446279 //storage/kvdb/000005.ldb
server 19313 19605 root mem REG 8,10 2112539 1446274 //storage/paxoslog/g0/000022.ldb
server 19313 19605 root mem REG 8,10 2112539 1445938 //storage/paxoslog/g0/000021.ldb
server 19313 19605 root mem REG 8,10 2006067 1446290 //storage/paxoslog/g0/000026.ld
from phxpaxos.
麻烦看一下这个问题,一个晚上会有几百个句柄,(或者这个是正常的leveldb的特性?)下面是部分线程的打开的文件:
server 19313 19364 root mem REG 8,10 2488958 1449360/storage/paxoslog/g0/000034.ldb
server 19313 19364 root mem REG 8,10 2489082 1449358/storage/paxoslog/g0/000032.ldb
server 19313 19364 root mem REG 8,10 2488911 1449357/storage/paxoslog/g0/000030.ldb
server 19313 19364 root mem REG 8,10 2508496 1449355/storage/paxoslog/g0/000028.ldb
server 19313 19364 root mem REG 8,10 2112539 1446280/storage/paxoslog/g0/000025.ldb
server 19313 19364 root mem REG 8,10 2112539 1446278/storage/paxoslog/g0/000024.ldb
server 19313 19364 root mem REG 8,10 2112539 1446277/storage/paxoslog/g0/000023.ldb
server 19313 19364 root mem REG 8,10 2112539 1446274/storage/paxoslog/g0/000022.ldb
server 19313 19364 root mem REG 8,10 2112539 1445938/storage/paxoslog/g0/000021.ldb
server 19313 19364 root mem REG 8,10 2006067 1446290/storage/paxoslog/g0/000026.ldb
server 19313 19605 root mem REG 8,10 2488958 1449360/storage/paxoslog/g0/000034.ldb
server 19313 19605 root mem REG 8,10 2489082 1449358/storage/paxoslog/g0/000032.ldb
server 19313 19605 root mem REG 8,10 2488911 1449357/storage/paxoslog/g0/000030.ldb
server 19313 19605 root mem REG 8,10 2508496 1449355/storage/paxoslog/g0/000028.ldb
server 19313 19605 root mem REG 8,10 2112539 1446280/storage/paxoslog/g0/000025.ldb
server 19313 19605 root mem REG 8,10 2112539 1446278/storage/paxoslog/g0/000024.ldb
server 19313 19605 root mem REG 8,10 2112539 1446277/storage/paxoslog/g0/000023.ldb
server 19313 19605 root mem REG 8,10 2112539 1446274/storage/paxoslog/g0/000022.ldb
server 19313 19605 root mem REG 8,10 2112539 1445938/storage/paxoslog/g0/000021.ldb
server 19313 19605 root mem REG 8,10 2006067 1446290/storage/paxoslog/g0/000026.ldb
from phxpaxos.
您好,leveldb里面一个ldb文件会被进程打开一次,并不会占用太多句柄。
lsof列出的多个线程并不代表每个线程占用了一个句柄,而是代表这些线程对这个文件有访问权限,实际上只要这个进程打开了这个文件,lsof都会列出所有子线程。
关于句柄泄漏的问题,还请检查状态机的实现。我们实际生产环境已经稳定运行了将近1年,没有出现句柄泄漏的问题。
from phxpaxos.
Related Issues (20)
- Cannot compile on macOS Catalina due to depreciated atomics
- checkpoint机制是不是与多个group不好同时采用?因为多个group的话,每个group都有自己的镜像数据,新机器加入的话,难道每个group都要从旧机器接收镜像追赶进度,而每个group学完都会退出进程 HOT 2
- 请问batch propose 2KB 15W,压测条件为单条数据2KB再进行一定量的合并吗? HOT 2
- phxpaxos 如何保证latest read HOT 1
- 头文件找不到 HOT 1
- 构建环境可以简化不?
- TLA model?
- 局域网测试sample失败 HOT 1
- 一个log文件(.f文件)里面存放几个instance?
- 用户写请求,提交了上次选主超时的value,导致主的租约为0,出现失主现象
- 提案通过后,为啥leader节点先执行状态机
- 关于编译手册的疑问
- 切片收发问题 HOT 1
- 在云环境中与libfaketime的使用产生冲突问题
- 请问夺主时,BeforePropose起到什么作用?
- 如果发生master切换,如何保证新 master 的数据是最新的? HOT 2
- 当 输入paxos的value过长时会有问题吗? HOT 1
- CheckpointSender 线程回收问题 HOT 1
- checkpoint 接收新的状态机 paxos_log日志,重建index后, 在下次重启前以及checkpoint文件传输前,propose超时定时器超时,写入llstance到paxos_log HOT 2
- Project status
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from phxpaxos.