mirror of
https://github.com/redis/go-redis.git
synced 2025-07-28 06:42:00 +03:00
fix build
This commit is contained in:
@ -51,7 +51,8 @@ func Example_instrumentation() {
|
|||||||
rdb.AddHook(redisHook{})
|
rdb.AddHook(redisHook{})
|
||||||
|
|
||||||
rdb.Ping(ctx)
|
rdb.Ping(ctx)
|
||||||
// Output: starting processing: <[ping]>
|
// Output:
|
||||||
|
// starting processing: <[ping]>
|
||||||
// dialing tcp :6379
|
// dialing tcp :6379
|
||||||
// finished dialing tcp :6379
|
// finished dialing tcp :6379
|
||||||
// starting processing: <[hello 3]>
|
// starting processing: <[hello 3]>
|
||||||
@ -62,6 +63,7 @@ func Example_instrumentation() {
|
|||||||
func ExamplePipeline_instrumentation() {
|
func ExamplePipeline_instrumentation() {
|
||||||
rdb := redis.NewClient(&redis.Options{
|
rdb := redis.NewClient(&redis.Options{
|
||||||
Addr: ":6379",
|
Addr: ":6379",
|
||||||
|
DisableIdentity: true,
|
||||||
})
|
})
|
||||||
rdb.AddHook(redisHook{})
|
rdb.AddHook(redisHook{})
|
||||||
|
|
||||||
@ -70,16 +72,19 @@ func ExamplePipeline_instrumentation() {
|
|||||||
pipe.Ping(ctx)
|
pipe.Ping(ctx)
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
// Output: pipeline starting processing: [ping: ping: ]
|
// Output:
|
||||||
// Output: pipeline starting processing: [[ping] [ping]]
|
// pipeline starting processing: [[ping] [ping]]
|
||||||
// dialing tcp :6379
|
// dialing tcp :6379
|
||||||
// finished dialing tcp :6379
|
// finished dialing tcp :6379
|
||||||
|
// starting processing: <[hello 3]>
|
||||||
|
// finished processing: <[hello 3]>
|
||||||
// pipeline finished processing: [[ping] [ping]]
|
// pipeline finished processing: [[ping] [ping]]
|
||||||
}
|
}
|
||||||
|
|
||||||
func ExampleClient_Watch_instrumentation() {
|
func ExampleClient_Watch_instrumentation() {
|
||||||
rdb := redis.NewClient(&redis.Options{
|
rdb := redis.NewClient(&redis.Options{
|
||||||
Addr: ":6379",
|
Addr: ":6379",
|
||||||
|
DisableIdentity: true,
|
||||||
})
|
})
|
||||||
rdb.AddHook(redisHook{})
|
rdb.AddHook(redisHook{})
|
||||||
|
|
||||||
@ -92,6 +97,8 @@ func ExampleClient_Watch_instrumentation() {
|
|||||||
// starting processing: <[watch foo]>
|
// starting processing: <[watch foo]>
|
||||||
// dialing tcp :6379
|
// dialing tcp :6379
|
||||||
// finished dialing tcp :6379
|
// finished dialing tcp :6379
|
||||||
|
// starting processing: <[hello 3]>
|
||||||
|
// finished processing: <[hello 3]>
|
||||||
// finished processing: <[watch foo]>
|
// finished processing: <[watch foo]>
|
||||||
// starting processing: <[ping]>
|
// starting processing: <[ping]>
|
||||||
// finished processing: <[ping]>
|
// finished processing: <[ping]>
|
||||||
|
4
redis.go
4
redis.go
@ -394,7 +394,7 @@ func (c *baseClient) initConn(ctx context.Context, cn *pool.Conn) error {
|
|||||||
// or it could be DragonflyDB or a third-party redis-proxy. They all respond
|
// or it could be DragonflyDB or a third-party redis-proxy. They all respond
|
||||||
// with different error string results for unsupported commands, making it
|
// with different error string results for unsupported commands, making it
|
||||||
// difficult to rely on error strings to determine all results.
|
// difficult to rely on error strings to determine all results.
|
||||||
return fmt.Errorf("failed to initialize connection: %w", err)
|
return err
|
||||||
} else if password != "" {
|
} else if password != "" {
|
||||||
// Try legacy AUTH command if HELLO failed
|
// Try legacy AUTH command if HELLO failed
|
||||||
err = c.reAuthConnection(ctx, conn)(auth.NewBasicCredentials(username, password))
|
err = c.reAuthConnection(ctx, conn)(auth.NewBasicCredentials(username, password))
|
||||||
@ -434,7 +434,7 @@ func (c *baseClient) initConn(ctx context.Context, cn *pool.Conn) error {
|
|||||||
// Handle network errors (e.g. timeouts) in CLIENT SETINFO to avoid
|
// Handle network errors (e.g. timeouts) in CLIENT SETINFO to avoid
|
||||||
// out of order responses later on.
|
// out of order responses later on.
|
||||||
if _, err = p.Exec(ctx); err != nil && !isRedisError(err) {
|
if _, err = p.Exec(ctx); err != nil && !isRedisError(err) {
|
||||||
return fmt.Errorf("failed to set client identity: %w", err)
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
32
ring_test.go
32
ring_test.go
@ -357,13 +357,17 @@ var _ = Describe("Redis Ring", func() {
|
|||||||
ring.AddHook(&hook{
|
ring.AddHook(&hook{
|
||||||
processPipelineHook: func(hook redis.ProcessPipelineHook) redis.ProcessPipelineHook {
|
processPipelineHook: func(hook redis.ProcessPipelineHook) redis.ProcessPipelineHook {
|
||||||
return func(ctx context.Context, cmds []redis.Cmder) error {
|
return func(ctx context.Context, cmds []redis.Cmder) error {
|
||||||
Expect(cmds).To(HaveLen(1))
|
// skip the connection initialization
|
||||||
|
if cmds[0].Name() == "hello" || cmds[0].Name() == "client" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
Expect(len(cmds)).To(BeNumerically(">", 0))
|
||||||
Expect(cmds[0].String()).To(Equal("ping: "))
|
Expect(cmds[0].String()).To(Equal("ping: "))
|
||||||
stack = append(stack, "ring.BeforeProcessPipeline")
|
stack = append(stack, "ring.BeforeProcessPipeline")
|
||||||
|
|
||||||
err := hook(ctx, cmds)
|
err := hook(ctx, cmds)
|
||||||
|
|
||||||
Expect(cmds).To(HaveLen(1))
|
Expect(len(cmds)).To(BeNumerically(">", 0))
|
||||||
Expect(cmds[0].String()).To(Equal("ping: PONG"))
|
Expect(cmds[0].String()).To(Equal("ping: PONG"))
|
||||||
stack = append(stack, "ring.AfterProcessPipeline")
|
stack = append(stack, "ring.AfterProcessPipeline")
|
||||||
|
|
||||||
@ -376,13 +380,17 @@ var _ = Describe("Redis Ring", func() {
|
|||||||
shard.AddHook(&hook{
|
shard.AddHook(&hook{
|
||||||
processPipelineHook: func(hook redis.ProcessPipelineHook) redis.ProcessPipelineHook {
|
processPipelineHook: func(hook redis.ProcessPipelineHook) redis.ProcessPipelineHook {
|
||||||
return func(ctx context.Context, cmds []redis.Cmder) error {
|
return func(ctx context.Context, cmds []redis.Cmder) error {
|
||||||
Expect(cmds).To(HaveLen(1))
|
// skip the connection initialization
|
||||||
|
if cmds[0].Name() == "hello" || cmds[0].Name() == "client" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
Expect(len(cmds)).To(BeNumerically(">", 0))
|
||||||
Expect(cmds[0].String()).To(Equal("ping: "))
|
Expect(cmds[0].String()).To(Equal("ping: "))
|
||||||
stack = append(stack, "shard.BeforeProcessPipeline")
|
stack = append(stack, "shard.BeforeProcessPipeline")
|
||||||
|
|
||||||
err := hook(ctx, cmds)
|
err := hook(ctx, cmds)
|
||||||
|
|
||||||
Expect(cmds).To(HaveLen(1))
|
Expect(len(cmds)).To(BeNumerically(">", 0))
|
||||||
Expect(cmds[0].String()).To(Equal("ping: PONG"))
|
Expect(cmds[0].String()).To(Equal("ping: PONG"))
|
||||||
stack = append(stack, "shard.AfterProcessPipeline")
|
stack = append(stack, "shard.AfterProcessPipeline")
|
||||||
|
|
||||||
@ -416,14 +424,18 @@ var _ = Describe("Redis Ring", func() {
|
|||||||
processPipelineHook: func(hook redis.ProcessPipelineHook) redis.ProcessPipelineHook {
|
processPipelineHook: func(hook redis.ProcessPipelineHook) redis.ProcessPipelineHook {
|
||||||
return func(ctx context.Context, cmds []redis.Cmder) error {
|
return func(ctx context.Context, cmds []redis.Cmder) error {
|
||||||
defer GinkgoRecover()
|
defer GinkgoRecover()
|
||||||
|
// skip the connection initialization
|
||||||
|
if cmds[0].Name() == "hello" || cmds[0].Name() == "client" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
Expect(cmds).To(HaveLen(3))
|
Expect(len(cmds)).To(BeNumerically(">=", 3))
|
||||||
Expect(cmds[1].String()).To(Equal("ping: "))
|
Expect(cmds[1].String()).To(Equal("ping: "))
|
||||||
stack = append(stack, "ring.BeforeProcessPipeline")
|
stack = append(stack, "ring.BeforeProcessPipeline")
|
||||||
|
|
||||||
err := hook(ctx, cmds)
|
err := hook(ctx, cmds)
|
||||||
|
|
||||||
Expect(cmds).To(HaveLen(3))
|
Expect(len(cmds)).To(BeNumerically(">=", 3))
|
||||||
Expect(cmds[1].String()).To(Equal("ping: PONG"))
|
Expect(cmds[1].String()).To(Equal("ping: PONG"))
|
||||||
stack = append(stack, "ring.AfterProcessPipeline")
|
stack = append(stack, "ring.AfterProcessPipeline")
|
||||||
|
|
||||||
@ -437,14 +449,18 @@ var _ = Describe("Redis Ring", func() {
|
|||||||
processPipelineHook: func(hook redis.ProcessPipelineHook) redis.ProcessPipelineHook {
|
processPipelineHook: func(hook redis.ProcessPipelineHook) redis.ProcessPipelineHook {
|
||||||
return func(ctx context.Context, cmds []redis.Cmder) error {
|
return func(ctx context.Context, cmds []redis.Cmder) error {
|
||||||
defer GinkgoRecover()
|
defer GinkgoRecover()
|
||||||
|
// skip the connection initialization
|
||||||
|
if cmds[0].Name() == "hello" || cmds[0].Name() == "client" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
Expect(cmds).To(HaveLen(3))
|
Expect(len(cmds)).To(BeNumerically(">=", 3))
|
||||||
Expect(cmds[1].String()).To(Equal("ping: "))
|
Expect(cmds[1].String()).To(Equal("ping: "))
|
||||||
stack = append(stack, "shard.BeforeProcessPipeline")
|
stack = append(stack, "shard.BeforeProcessPipeline")
|
||||||
|
|
||||||
err := hook(ctx, cmds)
|
err := hook(ctx, cmds)
|
||||||
|
|
||||||
Expect(cmds).To(HaveLen(3))
|
Expect(len(cmds)).To(BeNumerically(">=", 3))
|
||||||
Expect(cmds[1].String()).To(Equal("ping: PONG"))
|
Expect(cmds[1].String()).To(Equal("ping: PONG"))
|
||||||
stack = append(stack, "shard.AfterProcessPipeline")
|
stack = append(stack, "shard.AfterProcessPipeline")
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user