various improvements
This commit is contained in:
+1
-1
@@ -56,7 +56,7 @@ func GetDefaultRetryConfig() *RetryConfig {
|
||||
MaxRetries: 0, // Infinite retries
|
||||
InitialDelay: 1 * time.Second,
|
||||
MaxDelay: 60 * time.Second,
|
||||
JitterFactor: 0.5,
|
||||
JitterFactor: 0.2,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ func TestDefaultRetryConnectionConfig(t *testing.T) {
|
||||
MaxRetries: 0,
|
||||
InitialDelay: 1 * time.Second,
|
||||
MaxDelay: 60 * time.Second,
|
||||
JitterFactor: 0.5,
|
||||
JitterFactor: 0.2,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -399,7 +399,6 @@ func (c *Connection) Send(data []byte) error {
|
||||
if c.logger != nil {
|
||||
c.logger.Error("write deadline error", "error", err)
|
||||
}
|
||||
c.shutdownExternal()
|
||||
return NewConnectionError(fmt.Errorf("%w: %w", ErrFailedWriteDeadline, err))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -215,9 +215,9 @@ func TestConnectionSend(t *testing.T) {
|
||||
err = conn.Send([]byte("test"))
|
||||
assert.ErrorIs(t, err, ErrFailedWriteDeadline)
|
||||
|
||||
honeybeetest.Eventually(t, func() bool {
|
||||
honeybeetest.Never(t, func() bool {
|
||||
return conn.State() == StateClosed
|
||||
}, "expected closed state")
|
||||
}, "write error does not close connection")
|
||||
})
|
||||
|
||||
t.Run("send fails on socket write error", func(t *testing.T) {
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ type RetryManager struct {
|
||||
|
||||
func NewRetryManager(config *RetryConfig) *RetryManager {
|
||||
// saturationCount: retry count at which base delay meets or exceeds MaxDelay.
|
||||
// Conservative by one to preserve jitter variance near the boundary.
|
||||
// Conservative by two to preserve jitter variance near the boundary.
|
||||
saturation := 0
|
||||
if config != nil &&
|
||||
config.InitialDelay > 0 &&
|
||||
|
||||
Reference in New Issue
Block a user