wp
This commit is contained in:
@@ -36,14 +36,22 @@ func NewWALReplayer(opt WALReplayerOptions) (*WALReplayer, error) {
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *WALReplayer) IndexPages() []PageToWrite {
|
||||
func (s *WALReplayer) IndexPagesToRewrite() []PageToWrite {
|
||||
return s.indexPages
|
||||
}
|
||||
|
||||
func (s *WALReplayer) DataPages() []PageToWrite {
|
||||
func (s *WALReplayer) DataPagesToRewrite() []PageToWrite {
|
||||
return s.dataPages
|
||||
}
|
||||
|
||||
func (s *WALReplayer) FreeIndexPages() []uint32 {
|
||||
return s.freeIndexPages
|
||||
}
|
||||
|
||||
func (s *WALReplayer) FreeDataPages() []uint32 {
|
||||
return s.freeDataPages
|
||||
}
|
||||
|
||||
func (s *WALReplayer) Replay() error {
|
||||
for {
|
||||
records, isLastPacket, err := s.walReader.NextPacket()
|
||||
@@ -101,10 +109,9 @@ func (s *WALReplayer) onMetricAdd(rec MetricAddRecord) (err error) {
|
||||
buf = make([]byte, DataPageSize)
|
||||
)
|
||||
s.metrics[rec.MetricID] = &ReplayMetric{
|
||||
metricType: rec.MetricType,
|
||||
fracDigits: byte(rec.FracDigits),
|
||||
buf: buf,
|
||||
databuf: buf[:DataPagePayloadSize],
|
||||
MetricType: rec.MetricType,
|
||||
FracDigits: rec.FracDigits,
|
||||
Buf: buf,
|
||||
}
|
||||
return
|
||||
}
|
||||
@@ -137,39 +144,11 @@ func (s *WALReplayer) onMeasuresAppendWithGrow(rec MeasuresAppendWithGrowRecord,
|
||||
result := metric.MeasuresAppendWithGrow(rec, isLastPacket)
|
||||
//
|
||||
if isLastPacket {
|
||||
s.indexPages = append(s.indexPages, result.IndexPages...)
|
||||
s.dataPages = append(s.dataPages, result.DataPages...)
|
||||
s.indexPages = append(s.indexPages, result.IndexPagesToRewrite...)
|
||||
s.dataPages = append(s.dataPages, result.DataPagesToRewrite...)
|
||||
}
|
||||
//
|
||||
s.freeIndexPages = s.freeIndexPages[:len(s.freeIndexPages)-result.ReusedIndexPagesCount]
|
||||
s.freeDataPages = s.freeDataPages[:len(s.freeDataPages)-result.ReusedDataPagesCount]
|
||||
return
|
||||
}
|
||||
|
||||
//func (s *WALReplayer) collectPagesToWrite(metric *ReplayMetric, rec WALRecordAppendMeasures) {
|
||||
// metric.ApplyHeadDataPage(rec.CompletedDataPage)
|
||||
|
||||
// s.dataPages = append(s.dataPages, PageToWrite{
|
||||
// PageNo: p.PageNo,
|
||||
// Content: metric.buf,
|
||||
// })
|
||||
|
||||
// for _, x := range rec.DataPages {
|
||||
// s.dataPages = append(s.dataPages, PageToWrite{
|
||||
// PageNo: x.PageNo,
|
||||
// Content: x.Content,
|
||||
// })
|
||||
// }
|
||||
//metric.ApplyHeadIndexPages(rec.ChangedIndexLevels)
|
||||
|
||||
//}
|
||||
|
||||
// func (s *WALReplayer) replayPacket(records []any, isLastPacket bool) {
|
||||
// for _, untyped := range records {
|
||||
// switch rec := untyped.(type) {
|
||||
// case WALRecordAppendMeasures:
|
||||
// s.onWALRecordAppendMeasures(rec, isLastPacket)
|
||||
// }
|
||||
// }
|
||||
// return
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user