diff --git a/session-dealer/mysql/model.go b/session-dealer/mysql/model.go index a9c9210..b59fd14 100644 --- a/session-dealer/mysql/model.go +++ b/session-dealer/mysql/model.go @@ -110,6 +110,9 @@ func (crs *coverRanges) addRange(node *coverageNode) { node.next = checkRange node = nil break + + } else { + currRange = checkRange } } if node != nil { @@ -121,14 +124,16 @@ func (crs *coverRanges) addRange(node *coverageNode) { func (crs *coverRanges) mergeRanges() { // merge ranges - currRange := crs.head; - if currRange.next != nil { + currRange := crs.head + for currRange.next != nil { checkRange := currRange.next if currRange.end >= checkRange.begin && currRange.end < checkRange.end { currRange.end = checkRange.end currRange.next = checkRange.next - checkRange.Recovery() + + } else { + currRange = currRange.next } } } \ No newline at end of file diff --git a/session-dealer/mysql/session.go b/session-dealer/mysql/session.go index efdd441..6a75f1b 100644 --- a/session-dealer/mysql/session.go +++ b/session-dealer/mysql/session.go @@ -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", *ms.connectionID, seqID, ms.beginSeqID) return - - } else if seqID + int64(len(bytes)) <= ms.beginSeqID { - // repeat packet - log.Debugf("receive repeat packet") } seqOffset := seqID - ms.beginSeqID if seqOffset+contentSize > int64(len(ms.cachedStmtBytes)) { // not in a normal mysql packet log.Debugf("receive an unexpect packet") - // ms.clear() + ms.clear() return }