query: return 'missed eose' error explicitly.
This commit is contained in:
+12
@@ -4,6 +4,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"crypto/rand"
|
"crypto/rand"
|
||||||
"encoding/base32"
|
"encoding/base32"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"git.wisehodl.dev/jay/go-mana-component"
|
"git.wisehodl.dev/jay/go-mana-component"
|
||||||
"git.wisehodl.dev/jay/go-mana-prism/observer"
|
"git.wisehodl.dev/jay/go-mana-prism/observer"
|
||||||
@@ -13,6 +14,14 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// Errors
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
var (
|
||||||
|
ErrMissedEOSE = errors.New("timeout: missed eose")
|
||||||
|
)
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// Types
|
// Types
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -258,6 +267,7 @@ func (m *RequestManager) Query(
|
|||||||
}
|
}
|
||||||
return result, &cl, nil
|
return result, &cl, nil
|
||||||
case <-ctx.Done():
|
case <-ctx.Done():
|
||||||
|
if ctx.Err() == context.DeadlineExceeded {
|
||||||
// query timed out
|
// query timed out
|
||||||
m.observer.Record(m.envoy.URL(),
|
m.observer.Record(m.envoy.URL(),
|
||||||
MissedEOSE{ID: id, At: time.Now()})
|
MissedEOSE{ID: id, At: time.Now()})
|
||||||
@@ -265,6 +275,8 @@ func (m *RequestManager) Query(
|
|||||||
m.logger.Warn("missed eose", "req", id)
|
m.logger.Warn("missed eose", "req", id)
|
||||||
}
|
}
|
||||||
m.Cancel(id)
|
m.Cancel(id)
|
||||||
|
return result, nil, ErrMissedEOSE
|
||||||
|
}
|
||||||
return result, nil, nil
|
return result, nil, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -558,7 +558,7 @@ func TestRequestManager_Query(t *testing.T) {
|
|||||||
start := time.Now()
|
start := time.Now()
|
||||||
events, closed, err := m.Query(filters, queryTimeout)
|
events, closed, err := m.Query(filters, queryTimeout)
|
||||||
elapsed := time.Since(start)
|
elapsed := time.Since(start)
|
||||||
assert.NoError(t, err)
|
assert.ErrorIs(t, err, ErrMissedEOSE)
|
||||||
|
|
||||||
assert.GreaterOrEqual(t, elapsed, queryTimeout)
|
assert.GreaterOrEqual(t, elapsed, queryTimeout)
|
||||||
assert.Len(t, events, 2)
|
assert.Len(t, events, 2)
|
||||||
|
|||||||
Reference in New Issue
Block a user