golang扳手测试库在一段时间后崩溃



Spanner GO库在几分钟后可能在这个查询之后崩溃(尽管这之前已经成功)版本cloud.google.com/go/spanner v1.11.0

2021/02/01 00:45:32.564971 spannertest.inmem: Querying: SELECT * FROM tenant_config WHERE commit_time > "2021-02-01T00:44:32Z"

Crashinfo

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x30 pc=0xae3bcb]
goroutine 214 [running]:
cloud.google.com/go/spanner/spannertest.(*server).ExecuteSql(0xc00009b4a0, 0xf74c00, 0xc0001e8270, 0xc0003e8c60, 0xc00009b4a0, 0xc0001e8270, 0xc0008a4ba0)
/Users/mpathak/Development/gopkgs/pkg/mod/cloud.google.com/go/spanner@v1.11.0/spannertest/inmem.go:491 +0x3b
google.golang.org/genproto/googleapis/spanner/v1._Spanner_ExecuteSql_Handler(0xd0f8a0, 0xc00009b4a0, 0xf74c00, 0xc0001e8270, 0xc00088b020, 0x0, 0xf74c00, 0xc0001e8270, 0xc0004f4060, 0x14)
/Users/mpathak/Development/gopkgs/pkg/mod/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154/googleapis/spanner/v1/spanner.pb.go:3581 +0x217
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0003a1500, 0xf7e800, 0xc00018a900, 0xc00089a000, 0xc0001ac2a0, 0x152c7d8, 0x0, 0x0, 0x0)
/Users/mpathak/Development/gopkgs/pkg/mod/google.golang.org/grpc@v1.32.0/server.go:1194 +0x50a
google.golang.org/grpc.(*Server).handleStream(0xc0003a1500, 0xf7e800, 0xc00018a900, 0xc00089a000, 0x0)
/Users/mpathak/Development/gopkgs/pkg/mod/google.golang.org/grpc@v1.32.0/server.go:1517 +0xcfd
google.golang.org/grpc.(*Server).serveStreams.func1.2(0xc000606140, 0xc0003a1500, 0xf7e800, 0xc00018a900, 0xc00089a000)
/Users/mpathak/Development/gopkgs/pkg/mod/google.golang.org/grpc@v1.32.0/server.go:859 +0xa1
created by google.golang.org/grpc.(*Server).serveStreams.func1
/Users/mpathak/Development/gopkgs/pkg/mod/google.golang.org/grpc@v1.32.0/server.go:857 +0x204

这似乎是由spannertest的ExecuteSql方法实现中的错误引起的。Spanner客户端的会话池将每50分钟执行一次ping语句,以在后端保持会话活动。这些SELECT 1语句在没有事务的情况下执行,这意味着后端应该默认为单一使用的只读事务。spannertest的inmem服务器假定客户端总是指定一个TransactionSelector: https://github.com/googleapis/google-cloud-go/blob/c7ecf0f3f454606b124e52d20af2545b2c68646f/spanner/spannertest/inmem.go#L491

我在这里为它打开了一个问题:https://github.com/googleapis/google-cloud-go/issues/3639

相关内容

最新更新