resolve frame cache issue

This commit is contained in:
Cassandra Heart 2024-10-21 23:07:43 -05:00
parent 9a099009e1
commit 765fe9feda
No known key found for this signature in database
GPG Key ID: 6352152859385958
3 changed files with 3 additions and 50 deletions

View File

@ -158,7 +158,7 @@ func (e *DataClockConsensusEngine) runLoop() {
}
e.frameProverTriesMx.Unlock()
e.dataTimeReel.Insert(nextFrame, false)
e.dataTimeReel.Insert(nextFrame, true)
if err = e.publishProof(nextFrame); err != nil {
e.logger.Error("could not publish", zap.Error(err))
@ -268,7 +268,7 @@ func (e *DataClockConsensusEngine) runLoop() {
}
e.frameProverTriesMx.Unlock()
e.dataTimeReel.Insert(nextFrame, false)
e.dataTimeReel.Insert(nextFrame, true)
if err = e.publishProof(nextFrame); err != nil {
e.logger.Error("could not publish", zap.Error(err))

View File

@ -51,9 +51,7 @@ type MasterClockConsensusEngine struct {
syncingTarget []byte
engineMx sync.Mutex
seenFramesMx sync.Mutex
historicFramesMx sync.Mutex
seenFrames []*protobufs.ClockFrame
historicFrames []*protobufs.ClockFrame
clockStore store.ClockStore
masterTimeReel *qtime.MasterTimeReel
@ -185,14 +183,6 @@ func (e *MasterClockConsensusEngine) Start() <-chan error {
panic(err)
}
frame, err := e.masterTimeReel.Head()
if err != nil {
panic(err)
}
e.logger.Info("building historic frame cache")
e.buildHistoricFrameCache(frame)
go func() {
for {
select {
@ -360,43 +350,6 @@ func (
return e.frameChan
}
func (e *MasterClockConsensusEngine) buildHistoricFrameCache(
latestFrame *protobufs.ClockFrame,
) {
e.historicFrames = []*protobufs.ClockFrame{}
if latestFrame.FrameNumber != 0 {
min := uint64(0)
if latestFrame.FrameNumber-255 > min && latestFrame.FrameNumber > 255 {
min = latestFrame.FrameNumber - 255
}
iter, err := e.clockStore.RangeMasterClockFrames(
e.filter,
min,
latestFrame.FrameNumber-1,
)
if err != nil {
panic(err)
}
for iter.First(); iter.Valid(); iter.Next() {
frame, err := iter.Value()
if err != nil {
panic(err)
}
e.historicFrames = append(e.historicFrames, frame)
}
if err = iter.Close(); err != nil {
panic(err)
}
}
e.historicFrames = append(e.historicFrames, latestFrame)
}
func (e *MasterClockConsensusEngine) addPeerManifestReport(
peerId []byte,
report *protobufs.SelfTestReport,

View File

@ -35,7 +35,7 @@ func (e *MasterClockConsensusEngine) Sync(
panic(err)
}
if masterFrame.FrameNumber < from || len(e.historicFrames) == 0 {
if masterFrame.FrameNumber < from {
e.logger.Debug(
"peer asked for undiscovered frame",
zap.Uint64("frame_number", request.FramesRequest.FromFrameNumber),