fix bug of find next node
This commit is contained in:
parent
07d0c60086
commit
a33768d2fb
|
@ -110,6 +110,9 @@ func (crs *coverRanges) addRange(node *coverageNode) {
|
||||||
node.next = checkRange
|
node.next = checkRange
|
||||||
node = nil
|
node = nil
|
||||||
break
|
break
|
||||||
|
|
||||||
|
} else {
|
||||||
|
currRange = checkRange
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if node != nil {
|
if node != nil {
|
||||||
|
@ -121,14 +124,16 @@ func (crs *coverRanges) addRange(node *coverageNode) {
|
||||||
|
|
||||||
func (crs *coverRanges) mergeRanges() {
|
func (crs *coverRanges) mergeRanges() {
|
||||||
// merge ranges
|
// merge ranges
|
||||||
currRange := crs.head;
|
currRange := crs.head
|
||||||
if currRange.next != nil {
|
for currRange.next != nil {
|
||||||
checkRange := currRange.next
|
checkRange := currRange.next
|
||||||
if currRange.end >= checkRange.begin && currRange.end < checkRange.end {
|
if currRange.end >= checkRange.begin && currRange.end < checkRange.end {
|
||||||
currRange.end = checkRange.end
|
currRange.end = checkRange.end
|
||||||
currRange.next = checkRange.next
|
currRange.next = checkRange.next
|
||||||
|
|
||||||
checkRange.Recovery()
|
checkRange.Recovery()
|
||||||
|
|
||||||
|
} else {
|
||||||
|
currRange = currRange.next
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -182,17 +182,13 @@ func (ms *MysqlSession) readFromClient(seqID int64, bytes []byte) {
|
||||||
log.Debugf("in session %s get outdate package with Seq:%d, beginSeq:%d",
|
log.Debugf("in session %s get outdate package with Seq:%d, beginSeq:%d",
|
||||||
*ms.connectionID, seqID, ms.beginSeqID)
|
*ms.connectionID, seqID, ms.beginSeqID)
|
||||||
return
|
return
|
||||||
|
|
||||||
} else if seqID + int64(len(bytes)) <= ms.beginSeqID {
|
|
||||||
// repeat packet
|
|
||||||
log.Debugf("receive repeat packet")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
seqOffset := seqID - ms.beginSeqID
|
seqOffset := seqID - ms.beginSeqID
|
||||||
if seqOffset+contentSize > int64(len(ms.cachedStmtBytes)) {
|
if seqOffset+contentSize > int64(len(ms.cachedStmtBytes)) {
|
||||||
// not in a normal mysql packet
|
// not in a normal mysql packet
|
||||||
log.Debugf("receive an unexpect packet")
|
log.Debugf("receive an unexpect packet")
|
||||||
// ms.clear()
|
ms.clear()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue