mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2025-04-05 20:52:50 +08:00
fix size calculation
This commit is contained in:
parent
ff14dfa0ee
commit
df9d889489
@ -142,9 +142,9 @@ func (rb *RingBuffer) AckTimestamp(timestamp int64) {
|
||||
// Remove all the continuously acknowledged timestamps from the buffer
|
||||
startPos := (rb.head + len(rb.buffer) - rb.size) % len(rb.buffer)
|
||||
for i := 0; i < len(rb.buffer) && rb.buffer[(startPos+i)%len(rb.buffer)].Acked; i++ {
|
||||
rb.size--
|
||||
t := rb.buffer[(startPos+i)%len(rb.buffer)]
|
||||
if rb.maxAllAckedTs < t.Timestamp {
|
||||
rb.size--
|
||||
rb.maxAllAckedTs = t.Timestamp
|
||||
}
|
||||
}
|
||||
|
@ -117,3 +117,17 @@ func TestInflightMessageTracker3(t *testing.T) {
|
||||
assert.Equal(t, int64(7), tracker.GetOldestAckedTimestamp())
|
||||
|
||||
}
|
||||
|
||||
func TestInflightMessageTracker4(t *testing.T) {
|
||||
// Initialize an InflightMessageTracker with initial capacity 1
|
||||
tracker := NewInflightMessageTracker(1)
|
||||
|
||||
tracker.EnflightMessage([]byte("1"), int64(1))
|
||||
tracker.EnflightMessage([]byte("2"), int64(2))
|
||||
assert.True(t, tracker.AcknowledgeMessage([]byte("1"), int64(1)))
|
||||
assert.True(t, tracker.AcknowledgeMessage([]byte("2"), int64(2)))
|
||||
tracker.EnflightMessage([]byte("3"), int64(3))
|
||||
assert.True(t, tracker.AcknowledgeMessage([]byte("3"), int64(3)))
|
||||
assert.Equal(t, int64(3), tracker.GetOldestAckedTimestamp())
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user