THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- iterate all dirs in "log.dirs" config one by one
- find out the topic partition log folder under the dir
- Iterate all the topic partition log folders and add them as jobs to thread pool with the "num.recovery.threads.per.data.dir" config number of threads
- load all the segments under log folder, suppose there are 10 segments
- filter out the segments after "recovery checkpoint", suppose there are 5 segments needed to be recovered
- recover the 5 segments, one by one
- iterate all the record batches inside the segment , and
- validate all the batches
- and rebuilt the indexes.
As we can imagine, if the broker stores a lot of logs, the log recovery process might take hours or days for the log recovery.
...