The synchronization process now includes synchronizing the "verlist". If there is a difference in version numbers,
the client and metanode will mutually push the latest "verlist" to each other.
Client writes will have increased retries to carry the "verlist".
The purpose of all this is to ensure that the metanode obtains the latest and most comprehensive data,
reducing the possibility of missing data during individual Verseq pushes.
To make it simple, packet of randomWriteVer from client always contains verlist
VerList in dataNode not persist
This update also optimized the message synchronization logic in the process, adopting an asynchronous approach using channels to handle it.
Signed-off-by: leonrayang <chl696@sina.com>
This commit introduces metrics degrade level config to suppress monitor
metrics collection as needed.
Metrics Degrade Level
- minus value: turn off metrics collection.
- 0 or 1: full metrics.
- 2: 1/2 of the metrics will be collected.
- 3: 1/3 of the metrics will be collected.
- ...
Signed-off-by: Shuoran Liu <shuoranliu@gmail.com>
1.add ump warn packet
2.partition has recover,but the status don't change
3.remove redundancy calling loadMetaData method
4.reload meta data when change leader
metanode:
1. add totalMem in configFile
2.change not raft leader to tryOtherAddr error
datanode:
1.when datapartition not exsit,tell client with proto.OptryAgain resultcode
2.change disk retrain default space to 20gb
3.heartbeat report add volname
raft:
1.use raft.ErrNotLeader replace ErrNotLeader
2.raft became leader must apply from oldapplyid to commitid
client:
1. create a dummy node instance if inode does not exist
2. add ump alarm for read/write/fsync errors
log:
1. auto create subdir to logdir
error:
1.delete juju error packet