Comments (6)
这是第三个服务器的日志,状态好像也有点异常一直在显示LOOKING这种状态,leader其实已经选举出来了
from cxxzookeeper.
第二图stack trace提供下完整信息。
from cxxzookeeper.
2021-06-07 01:08:58 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:100271 ] - [ WARN ] Exception when following the leader Throwable:
file: ../src/ESocket.cpp
line: 824
errno: 11
message: read timed out
stack trace:
2021-06-07 01:08:58 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:100271 ] - [ INFO ] shutdown called (shutdown Follower)
2021-06-07 01:08:58 [ :FollowerZooKeeperServer:QuorumPeer[myid=3]null/0.0.0.0:2181:100271 ] - [ INFO ] Shutting down
2021-06-07 01:08:58 [ :ZooKeeperServer:QuorumPeer[myid=3]null/0.0.0.0:2181:100271 ] - [ DEBUG ] ZooKeeper server is not running, so not proceeding to shutdown!
2021-06-07 01:08:58 [ :QuorumPeer:QuorumPeer[myid=3]null/0.0.0.0:2181:100272 ] - [ INFO ] LOOKING
2021-06-07 01:08:58 [ :QuorumPeer:QuorumPeer[myid=3]null/0.0.0.0:2181:100272 ] - [ DEBUG ] Initializing leader election protocol...
2021-06-07 01:08:58 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:100272 ] - [ DEBUG ] Updating proposal: 3 (newleader), 0x0 (newzxid), 3 (oldleader), 0x0 (oldzxid)
2021-06-07 01:08:58 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:100272 ] - [ INFO ] New election. My id = 3, proposed zxid=0x0
2021-06-07 01:08:58 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:100272 ] - [ DEBUG ] Sending Notification: 3 (n.leader), 0x0 (n.zxid), 0x2 (n.round), 1 (recipient), 3 (myid), 0x4 (n.peerEpoch)
2021-06-07 01:08:58 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:100272 ] - [ DEBUG ] Sending Notification: 3 (n.leader), 0x0 (n.zxid), 0x2 (n.round), 2 (recipient), 3 (myid), 0x4 (n.peerEpoch)
2021-06-07 01:08:58 [ :QuorumCnxManager:WorkerSender[myid=3]:100272 ] - [ DEBUG ] There is a connection already for server 1
2021-06-07 01:08:58 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:100272 ] - [ DEBUG ] Sending Notification: 3 (n.leader), 0x0 (n.zxid), 0x2 (n.round), 3 (recipient), 3 (myid), 0x4 (n.peerEpoch)
2021-06-07 01:08:58 [ :QuorumCnxManager:WorkerSender[myid=3]:100272 ] - [ DEBUG ] There is a connection already for server 2
2021-06-07 01:08:58 [ :ZooKeeperThread:WorkerReceiver[myid=3]:100272 ] - [ DEBUG ] Receive new notification message. My id = 3
2021-06-07 01:08:58 [ :FastLeaderElection:WorkerReceiver[myid=3]:100272 ] - [ INFO ] Notification: 1 (message format version), 3 (n.leader), 0x0 (n.zxid), 0x2 (n.round), LOOKING (n.state), 3 (n.sid), 0x4 (n.peerEpoch) LOOKING (my state)
2021-06-07 01:08:58 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:100272 ] - [ DEBUG ] id: 3, proposed id: 3, zxid: 0x0, proposed zxid: 0x0
2021-06-07 01:08:58 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:100272 ] - [ DEBUG ] Adding vote: from=3, proposed leader=3, proposed zxid=0x0, proposed election epoch=0x2
2021-06-07 01:08:58 [ :ZooKeeperThread:WorkerReceiver[myid=3]:100273 ] - [ DEBUG ] Receive new notification message. My id = 3
2021-06-07 01:08:58 [ :FastLeaderElection:WorkerReceiver[myid=3]:100273 ] - [ INFO ] Notification: 1 (message format version), 2 (n.leader), 0x9b00000004 (n.zxid), 0x1 (n.round), LEADING (n.state), 2 (n.sid), 0xae (n.peerEpoch) LOOKING (my state)
2021-06-07 01:08:58 [ :ZooKeeperThread:WorkerReceiver[myid=3]:100279 ] - [ DEBUG ] Receive new notification message. My id = 3
2021-06-07 01:08:58 [ :FastLeaderElection:WorkerReceiver[myid=3]:100279 ] - [ INFO ] Notification: 1 (message format version), 2 (n.leader), 0x9b00000004 (n.zxid), 0x1 (n.round), FOLLOWING (n.state), 1 (n.sid), 0xae (n.peerEpoch) LOOKING (my state)
2021-06-07 01:08:58 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:100279 ] - [ DEBUG ] I'm a participant: 3
2021-06-07 01:08:58 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:100279 ] - [ DEBUG ] About to leave FLE instance: leader=2, zxid=0x9b00000004, my id=3, my state=FOLLOWING
2021-06-07 01:08:58 [ :QuorumPeer:QuorumPeer[myid=3]null/0.0.0.0:2181:100279 ] - [ INFO ] FOLLOWING
2021-06-07 01:08:58 [ :ZooKeeperServer:QuorumPeer[myid=3]null/0.0.0.0:2181:100279 ] - [ INFO ] Created server with tickTime 2000 minSessionTimeout 4000 maxSessionTimeout 40000 datadir true snapdir true
2021-06-07 01:08:58 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:100279 ] - [ INFO ] FOLLOWING - LEADER ELECTION TOOK - 7
2021-06-07 01:08:58 [ :QuorumServer:QuorumPeer[myid=3]null/0.0.0.0:2181:100279 ] - [ INFO ] Resolved hostname: test2 to address: test2/172.20.1.98
2021-06-07 01:08:58 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:100283 ] - [ TRACE ] i UNKNOWN17 ae00000000
2021-06-07 01:08:58 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:100285 ] - [ TRACE ] i UNKNOWN15 ae00000000
2021-06-07 01:08:58 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:100285 ] - [ INFO ] Getting a snapshot from leader 0xae00000000
2021-06-07 01:09:18 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:120285 ] - [ WARN ] Exception when following the leader Throwable:
file: ../src/ESocket.cpp
line: 824
errno: 11
message: read timed out
stack trace:
2021-06-07 01:09:18 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:120285 ] - [ INFO ] shutdown called (shutdown Follower)
2021-06-07 01:09:18 [ :FollowerZooKeeperServer:QuorumPeer[myid=3]null/0.0.0.0:2181:120285 ] - [ INFO ] Shutting down
2021-06-07 01:09:18 [ :ZooKeeperServer:QuorumPeer[myid=3]null/0.0.0.0:2181:120285 ] - [ DEBUG ] ZooKeeper server is not running, so not proceeding to shutdown!
2021-06-07 01:09:18 [ :QuorumPeer:QuorumPeer[myid=3]null/0.0.0.0:2181:120285 ] - [ INFO ] LOOKING
2021-06-07 01:09:18 [ :QuorumPeer:QuorumPeer[myid=3]null/0.0.0.0:2181:120285 ] - [ DEBUG ] Initializing leader election protocol...
2021-06-07 01:09:18 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:120285 ] - [ DEBUG ] Updating proposal: 3 (newleader), 0x0 (newzxid), 3 (oldleader), 0x0 (oldzxid)
2021-06-07 01:09:18 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:120285 ] - [ INFO ] New election. My id = 3, proposed zxid=0x0
2021-06-07 01:09:18 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:120285 ] - [ DEBUG ] Sending Notification: 3 (n.leader), 0x0 (n.zxid), 0x2 (n.round), 1 (recipient), 3 (myid), 0x4 (n.peerEpoch)
2021-06-07 01:09:18 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:120285 ] - [ DEBUG ] Sending Notification: 3 (n.leader), 0x0 (n.zxid), 0x2 (n.round), 2 (recipient), 3 (myid), 0x4 (n.peerEpoch)
2021-06-07 01:09:18 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:120285 ] - [ DEBUG ] Sending Notification: 3 (n.leader), 0x0 (n.zxid), 0x2 (n.round), 3 (recipient), 3 (myid), 0x4 (n.peerEpoch)
2021-06-07 01:09:18 [ :QuorumCnxManager:WorkerSender[myid=3]:120285 ] - [ DEBUG ] There is a connection already for server 1
2021-06-07 01:09:18 [ :QuorumCnxManager:WorkerSender[myid=3]:120285 ] - [ DEBUG ] There is a connection already for server 2
2021-06-07 01:09:18 [ :ZooKeeperThread:WorkerReceiver[myid=3]:120286 ] - [ DEBUG ] Receive new notification message. My id = 3
2021-06-07 01:09:18 [ :FastLeaderElection:WorkerReceiver[myid=3]:120286 ] - [ INFO ] Notification: 1 (message format version), 3 (n.leader), 0x0 (n.zxid), 0x2 (n.round), LOOKING (n.state), 3 (n.sid), 0x4 (n.peerEpoch) LOOKING (my state)
2021-06-07 01:09:18 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:120286 ] - [ DEBUG ] id: 3, proposed id: 3, zxid: 0x0, proposed zxid: 0x0
2021-06-07 01:09:18 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:120286 ] - [ DEBUG ] Adding vote: from=3, proposed leader=3, proposed zxid=0x0, proposed election epoch=0x2
2021-06-07 01:09:18 [ :ZooKeeperThread:WorkerReceiver[myid=3]:120289 ] - [ DEBUG ] Receive new notification message. My id = 3
2021-06-07 01:09:18 [ :FastLeaderElection:WorkerReceiver[myid=3]:120289 ] - [ INFO ] Notification: 1 (message format version), 2 (n.leader), 0x9b00000004 (n.zxid), 0x1 (n.round), LEADING (n.state), 2 (n.sid), 0xae (n.peerEpoch) LOOKING (my state)
2021-06-07 01:09:18 [ :ZooKeeperThread:WorkerReceiver[myid=3]:120289 ] - [ DEBUG ] Receive new notification message. My id = 3
2021-06-07 01:09:18 [ :FastLeaderElection:WorkerReceiver[myid=3]:120289 ] - [ INFO ] Notification: 1 (message format version), 2 (n.leader), 0x9b00000004 (n.zxid), 0x1 (n.round), FOLLOWING (n.state), 1 (n.sid), 0xae (n.peerEpoch) LOOKING (my state)
2021-06-07 01:09:18 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:120289 ] - [ DEBUG ] I'm a participant: 3
2021-06-07 01:09:18 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:120289 ] - [ DEBUG ] About to leave FLE instance: leader=2, zxid=0x9b00000004, my id=3, my state=FOLLOWING
2021-06-07 01:09:18 [ :QuorumPeer:QuorumPeer[myid=3]null/0.0.0.0:2181:120289 ] - [ INFO ] FOLLOWING
2021-06-07 01:09:18 [ :ZooKeeperServer:QuorumPeer[myid=3]null/0.0.0.0:2181:120289 ] - [ INFO ] Created server with tickTime 2000 minSessionTimeout 4000 maxSessionTimeout 40000 datadir true snapdir true
2021-06-07 01:09:18 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:120289 ] - [ INFO ] FOLLOWING - LEADER ELECTION TOOK - 4
2021-06-07 01:09:18 [ :QuorumServer:QuorumPeer[myid=3]null/0.0.0.0:2181:120289 ] - [ INFO ] Resolved hostname: test2 to address: test2/172.20.1.98
2021-06-07 01:09:18 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:120291 ] - [ TRACE ] i UNKNOWN17 ae00000000
2021-06-07 01:09:18 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:120292 ] - [ TRACE ] i UNKNOWN15 ae00000000
2021-06-07 01:09:18 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:120292 ] - [ INFO ] Getting a snapshot from leader 0xae00000000
2021-06-07 01:09:38 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:140294 ] - [ WARN ] Exception when following the leader Throwable:
file: ../src/ESocket.cpp
line: 824
errno: 11
message: read timed out
stack trace:
2021-06-07 01:09:38 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:140294 ] - [ INFO ] shutdown called (shutdown Follower)
2021-06-07 01:09:38 [ :FollowerZooKeeperServer:QuorumPeer[myid=3]null/0.0.0.0:2181:140294 ] - [ INFO ] Shutting down
2021-06-07 01:09:38 [ :ZooKeeperServer:QuorumPeer[myid=3]null/0.0.0.0:2181:140294 ] - [ DEBUG ] ZooKeeper server is not running, so not proceeding to shutdown!
2021-06-07 01:09:38 [ :QuorumPeer:QuorumPeer[myid=3]null/0.0.0.0:2181:140294 ] - [ INFO ] LOOKING
2021-06-07 01:09:38 [ :QuorumPeer:QuorumPeer[myid=3]null/0.0.0.0:2181:140294 ] - [ DEBUG ] Initializing leader election protocol...
2021-06-07 01:09:38 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:140294 ] - [ DEBUG ] Updating proposal: 3 (newleader), 0x0 (newzxid), 3 (oldleader), 0x0 (oldzxid)
2021-06-07 01:09:38 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:140294 ] - [ INFO ] New election. My id = 3, proposed zxid=0x0
2021-06-07 01:09:38 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:140294 ] - [ DEBUG ] Sending Notification: 3 (n.leader), 0x0 (n.zxid), 0x2 (n.round), 1 (recipient), 3 (myid), 0x4 (n.peerEpoch)
2021-06-07 01:09:38 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:140294 ] - [ DEBUG ] Sending Notification: 3 (n.leader), 0x0 (n.zxid), 0x2 (n.round), 2 (recipient), 3 (myid), 0x4 (n.peerEpoch)
2021-06-07 01:09:38 [ :QuorumCnxManager:WorkerSender[myid=3]:140294 ] - [ DEBUG ] There is a connection already for server 1
2021-06-07 01:09:38 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:140294 ] - [ DEBUG ] Sending Notification: 3 (n.leader), 0x0 (n.zxid), 0x2 (n.round), 3 (recipient), 3 (myid), 0x4 (n.peerEpoch)
2021-06-07 01:09:38 [ :QuorumCnxManager:WorkerSender[myid=3]:140294 ] - [ DEBUG ] There is a connection already for server 2
2021-06-07 01:09:38 [ :ZooKeeperThread:WorkerReceiver[myid=3]:140294 ] - [ DEBUG ] Receive new notification message. My id = 3
2021-06-07 01:09:38 [ :FastLeaderElection:WorkerReceiver[myid=3]:140294 ] - [ INFO ] Notification: 1 (message format version), 3 (n.leader), 0x0 (n.zxid), 0x2 (n.round), LOOKING (n.state), 3 (n.sid), 0x4 (n.peerEpoch) LOOKING (my state)
2021-06-07 01:09:38 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:140294 ] - [ DEBUG ] id: 3, proposed id: 3, zxid: 0x0, proposed zxid: 0x0
2021-06-07 01:09:38 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:140294 ] - [ DEBUG ] Adding vote: from=3, proposed leader=3, proposed zxid=0x0, proposed election epoch=0x2
2021-06-07 01:09:38 [ :ZooKeeperThread:WorkerReceiver[myid=3]:140295 ] - [ DEBUG ] Receive new notification message. My id = 3
2021-06-07 01:09:38 [ :FastLeaderElection:WorkerReceiver[myid=3]:140295 ] - [ INFO ] Notification: 1 (message format version), 2 (n.leader), 0x9b00000004 (n.zxid), 0x1 (n.round), LEADING (n.state), 2 (n.sid), 0xae (n.peerEpoch) LOOKING (my state)
2021-06-07 01:09:38 [ :ZooKeeperThread:WorkerReceiver[myid=3]:140296 ] - [ DEBUG ] Receive new notification message. My id = 3
2021-06-07 01:09:38 [ :FastLeaderElection:WorkerReceiver[myid=3]:140296 ] - [ INFO ] Notification: 1 (message format version), 2 (n.leader), 0x9b00000004 (n.zxid), 0x1 (n.round), FOLLOWING (n.state), 1 (n.sid), 0xae (n.peerEpoch) LOOKING (my state)
2021-06-07 01:09:38 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:140296 ] - [ DEBUG ] I'm a participant: 3
2021-06-07 01:09:38 [ :FastLeaderElection:QuorumPeer[myid=3]null/0.0.0.0:2181:140296 ] - [ DEBUG ] About to leave FLE instance: leader=2, zxid=0x9b00000004, my id=3, my state=FOLLOWING
2021-06-07 01:09:38 [ :QuorumPeer:QuorumPeer[myid=3]null/0.0.0.0:2181:140296 ] - [ INFO ] FOLLOWING
2021-06-07 01:09:38 [ :ZooKeeperServer:QuorumPeer[myid=3]null/0.0.0.0:2181:140296 ] - [ INFO ] Created server with tickTime 2000 minSessionTimeout 4000 maxSessionTimeout 40000 datadir true snapdir true
2021-06-07 01:09:38 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:140296 ] - [ INFO ] FOLLOWING - LEADER ELECTION TOOK - 2
2021-06-07 01:09:38 [ :QuorumServer:QuorumPeer[myid=3]null/0.0.0.0:2181:140297 ] - [ INFO ] Resolved hostname: test2 to address: test2/172.20.1.98
2021-06-07 01:09:38 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:140299 ] - [ TRACE ] i UNKNOWN17 ae00000000
2021-06-07 01:09:38 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:140300 ] - [ TRACE ] i UNKNOWN15 ae00000000
2021-06-07 01:09:38 [ :Learner:QuorumPeer[myid=3]null/0.0.0.0:2181:140300 ] - [ INFO ] Getting a snapshot from leader 0xae00000000
from cxxzookeeper.
leader这边的strace:
2021-06-07 01:11:18 [ :ZooKeeperThread:WorkerReceiver[myid=2]:427367 ] - [ DEBUG ] Receive new notification message. My id = 2
2021-06-07 01:11:18 [ :FastLeaderElection:WorkerReceiver[myid=2]:427367 ] - [ INFO ] Notification: 1 (message format version), 3 (n.leader), 0x0 (n.zxid), 0x2 (n.round), LOOKING (n.state), 3 (n.sid), 0x4 (n.peerEpoch) LEADING (my state)
2021-06-07 01:11:18 [ :ZooKeeperThread:WorkerReceiver[myid=2]:427367 ] - [ DEBUG ] Sending new notification. My id = 2 recipient=3 zxid=0x9b00000004 leader=2
2021-06-07 01:11:18 [ :QuorumCnxManager:WorkerSender[myid=2]:427367 ] - [ DEBUG ] There is a connection already for server 3
2021-06-07 01:11:18 [ :LearnerHandler:LearnerHandler-null/172.20.1.99:46482:427370 ] - [ INFO ] Follower sid: 3 : info : true
2021-06-07 01:11:18 [ :LearnerHandler:LearnerHandler-null/172.20.1.99:46482:427371 ] - [ INFO ] Synchronizing with Follower sid: 3 maxCommittedLog=0x9b00000004 minCommittedLog=0x500000001 peerLastZxid=0x0
2021-06-07 01:11:18 [ :LearnerHandler:LearnerHandler-null/172.20.1.99:46482:427371 ] - [ DEBUG ] proposal size is 98
2021-06-07 01:11:18 [ :LearnerHandler:LearnerHandler-null/172.20.1.99:46482:427371 ] - [ WARN ] Unhandled proposal scenario
2021-06-07 01:11:18 [ :LearnerHandler:LearnerHandler-null/172.20.1.99:46482:427371 ] - [ INFO ] Sending SNAP
2021-06-07 01:11:18 [ :LearnerHandler:LearnerHandler-null/172.20.1.99:46482:427371 ] - [ INFO ] Sending snapshot last zxid of peer is 0x0 zxid of leader is 0xae00000000sent zxid of db as 0xae00000000
2021-06-07 01:11:18 [ :ZooKeeperThread:LearnerHandler-null/172.20.1.99:46482:427371 ] - [ WARN ] Exception occurred from thread LearnerHandler-null/172.20.1.99:46482 Throwable:
file: ../src/EString.cpp
line: 1161
errno: 0
message: String index out of range: 1
stack trace:
from cxxzookeeper.
from cxxzookeeper.
试下相同的配置文件在java版本下会不会报错,会就是配置问题,不会就是cpp版本引入的bug.
from cxxzookeeper.
Related Issues (1)
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 cxxzookeeper.