go-ora
go-ora copied to clipboard
Upgrading v2.8.7 to v2.8.9 leads to golang race detector errors
It looks like some recent changes have introduced a thread-safety problem when using a pooled cache of prepared statements created against a *sql.DB
and then subsequently bound to a *sql.TX
. When running our integration tests with go test -race
, we see a number of data races identified in a high-concurrency test suite. There are also many instances of data integrity check failed
errors when attempting to execute the prepared statements.
The general approach we take when executing a novel statement fingerprint is to call *sql.DB.PrepareContext()
to create a *sql.Stmt
. These statement objects are stored in an LRU cache. When we need to execute a statement, we call *sql.Tx.StmtContext()
to bind the statement to the transaction and then execute the returned, bound *sql.Stmt
.
For comparison, this same code base is used with pgx
and the go-mysql
drivers.
==================
WARNING: DATA RACE
Read at 0x00c0012ea218 by goroutine 588786:
github.com/sijms/go-ora/v2/network.(*Session).writePacket()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:872 +0x70
github.com/sijms/go-ora/v2/network.(*Session).BreakConnection()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:431 +0x264
github.com/sijms/go-ora/v2/network.(*Session).StartContext.func1()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:192 +0x17e
github.com/sijms/go-ora/v2/network.(*Session).StartContext.func2()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:203 +0x47
Previous write at 0x00c0012ea218 by goroutine 4145:
github.com/sijms/go-ora/v2/network.(*Session).resetWrite()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:164 +0x1864
github.com/sijms/go-ora/v2/network.(*Session).ResetBuffer()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:175 +0x184d
github.com/sijms/go-ora/v2.(*Stmt)._exec()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/command.go:1987 +0x17fc
github.com/sijms/go-ora/v2.(*Stmt).ExecContext()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/command.go:1282 +0x317
database/sql.ctxDriverStmtExec()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/ctxutil.go:65 +0xf5
database/sql.resultFromStatement()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2635 +0x1be
database/sql.(*Stmt).ExecContext.func1()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2609 +0x10a
database/sql.(*DB).retry()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:1538 +0x4c
database/sql.(*Stmt).ExecContext()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2603 +0x19c
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).upsertBagsLocked()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:496 +0x7ee
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).upsertLocked()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:332 +0x30c
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).Apply()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:230 +0x1069
github.com/cockroachdb/cdc-sink/internal/target/apply.(*Acceptor).AcceptTableBatch()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/acceptor.go:48 +0x1ea
github.com/cockroachdb/cdc-sink/internal/types.(*orderedAdapter).AcceptTableBatch()
/home/runner/work/cdc-sink/cdc-sink/internal/types/acceptors.go:85 +0xb9
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepOnce()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:265 +0x159b
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepTable.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:143 +0x5f0
github.com/cockroachdb/cdc-sink/internal/util/stopvar.DoWhenChangedOrInterval[...]()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopvar/stopvar.go:71 +0x253
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepTable()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:122 +0x1fc
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).Start.func1.1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:97 +0x2d9
github.com/cockroachdb/cdc-sink/internal/util/stopper.(*Context).Go.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopper/stopper.go:187 +0xb4
Goroutine 588786 (running) created at:
github.com/sijms/go-ora/v2/network.(*Session).StartContext()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:184 +0x2da
github.com/sijms/go-ora/v2.(*Stmt).ExecContext()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/command.go:1278 +0x199
database/sql.ctxDriverStmtExec()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/ctxutil.go:65 +0xf5
database/sql.resultFromStatement()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2635 +0x1be
database/sql.(*Stmt).ExecContext.func1()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2609 +0x10a
database/sql.(*DB).retry()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:1538 +0x4c
database/sql.(*Stmt).ExecContext()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2603 +0x19c
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).upsertBagsLocked()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:496 +0x7ee
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).upsertLocked()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:332 +0x30c
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).Apply()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:230 +0x1069
github.com/cockroachdb/cdc-sink/internal/target/apply.(*Acceptor).AcceptTableBatch()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/acceptor.go:48 +0x1ea
github.com/cockroachdb/cdc-sink/internal/types.(*orderedAdapter).AcceptTableBatch()
/home/runner/work/cdc-sink/cdc-sink/internal/types/acceptors.go:85 +0xb9
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepOnce()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:265 +0x159b
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepTable.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:143 +0x5f0
github.com/cockroachdb/cdc-sink/internal/util/stopvar.DoWhenChangedOrInterval[...]()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopvar/stopvar.go:71 +0x253
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepTable()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:122 +0x1fc
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).Start.func1.1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:97 +0x2d9
github.com/cockroachdb/cdc-sink/internal/util/stopper.(*Context).Go.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopper/stopper.go:187 +0xb4
Goroutine 4145 (running) created at:
github.com/cockroachdb/cdc-sink/internal/util/stopper.(*Context).Go()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopper/stopper.go:185 +0x144
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).Start.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:91 +0xd7
github.com/cockroachdb/cdc-sink/internal/sequencer/sequtil.LeaseGroup.func1.1.1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/sequtil/lease_group.go:56 +0xbc
github.com/cockroachdb/cdc-sink/internal/util/stopper.(*Context).Go.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopper/stopper.go:187 +0xb4
==================
==================
WARNING: DATA RACE
Read at 0x00c001119ca0 by goroutine 588786:
runtime.growslice()
/opt/hostedtoolcache/go/1.20.14/x64/src/runtime/slice.go:157 +0x0
github.com/sijms/go-ora/v2/network.(*Session).writePacket()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:872 +0xa9
github.com/sijms/go-ora/v2/network.(*Session).BreakConnection()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:431 +0x264
github.com/sijms/go-ora/v2/network.(*Session).StartContext.func1()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:192 +0x17e
github.com/sijms/go-ora/v2/network.(*Session).StartContext.func2()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:203 +0x47
Previous write at 0x00c001119ca0 by goroutine 4145:
github.com/sijms/go-ora/v2/network.(*Session).writePacket()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:872 +0xdb
github.com/sijms/go-ora/v2/network.(*Session).Write()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:649 +0x4cf
github.com/sijms/go-ora/v2.(*Stmt).write()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/command.go:559 +0x824
github.com/sijms/go-ora/v2.(*Stmt)._exec()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/command.go:1988 +0x1984
github.com/sijms/go-ora/v2.(*Stmt).ExecContext()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/command.go:1282 +0x317
database/sql.ctxDriverStmtExec()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/ctxutil.go:65 +0xf5
database/sql.resultFromStatement()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2635 +0x1be
database/sql.(*Stmt).ExecContext.func1()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2609 +0x10a
database/sql.(*DB).retry()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:1538 +0x4c
database/sql.(*Stmt).ExecContext()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2603 +0x19c
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).upsertBagsLocked()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:496 +0x7ee
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).upsertLocked()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:332 +0x30c
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).Apply()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:230 +0x1069
github.com/cockroachdb/cdc-sink/internal/target/apply.(*Acceptor).AcceptTableBatch()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/acceptor.go:48 +0x1ea
github.com/cockroachdb/cdc-sink/internal/types.(*orderedAdapter).AcceptTableBatch()
/home/runner/work/cdc-sink/cdc-sink/internal/types/acceptors.go:85 +0xb9
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepOnce()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:265 +0x159b
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepTable.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:143 +0x5f0
github.com/cockroachdb/cdc-sink/internal/util/stopvar.DoWhenChangedOrInterval[...]()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopvar/stopvar.go:71 +0x253
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepTable()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:122 +0x1fc
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).Start.func1.1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:97 +0x2d9
github.com/cockroachdb/cdc-sink/internal/util/stopper.(*Context).Go.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopper/stopper.go:187 +0xb4
Goroutine 588786 (running) created at:
github.com/sijms/go-ora/v2/network.(*Session).StartContext()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:184 +0x2da
github.com/sijms/go-ora/v2.(*Stmt).ExecContext()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/command.go:1278 +0x199
database/sql.ctxDriverStmtExec()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/ctxutil.go:65 +0xf5
database/sql.resultFromStatement()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2635 +0x1be
database/sql.(*Stmt).ExecContext.func1()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2609 +0x10a
database/sql.(*DB).retry()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:1538 +0x4c
database/sql.(*Stmt).ExecContext()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2603 +0x19c
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).upsertBagsLocked()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:496 +0x7ee
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).upsertLocked()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:332 +0x30c
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).Apply()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:230 +0x1069
github.com/cockroachdb/cdc-sink/internal/target/apply.(*Acceptor).AcceptTableBatch()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/acceptor.go:48 +0x1ea
github.com/cockroachdb/cdc-sink/internal/types.(*orderedAdapter).AcceptTableBatch()
/home/runner/work/cdc-sink/cdc-sink/internal/types/acceptors.go:85 +0xb9
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepOnce()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:265 +0x159b
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepTable.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:143 +0x5f0
github.com/cockroachdb/cdc-sink/internal/util/stopvar.DoWhenChangedOrInterval[...]()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopvar/stopvar.go:71 +0x253
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepTable()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:122 +0x1fc
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).Start.func1.1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:97 +0x2d9
github.com/cockroachdb/cdc-sink/internal/util/stopper.(*Context).Go.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopper/stopper.go:187 +0xb4
Goroutine 4145 (running) created at:
github.com/cockroachdb/cdc-sink/internal/util/stopper.(*Context).Go()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopper/stopper.go:185 +0x144
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).Start.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:91 +0xd7
github.com/cockroachdb/cdc-sink/internal/sequencer/sequtil.LeaseGroup.func1.1.1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/sequtil/lease_group.go:56 +0xbc
github.com/cockroachdb/cdc-sink/internal/util/stopper.(*Context).Go.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopper/stopper.go:187 +0xb4
==================
==================
WARNING: DATA RACE
Read at 0x00c0012ea678 by goroutine 4146:
github.com/sijms/go-ora/v2/network.(*Session).IsBreak()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:337 +0xcb
github.com/sijms/go-ora/v2/network.(*Session).read()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:767 +0xdb
github.com/sijms/go-ora/v2/network.(*Session).GetByte()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:1511 +0x75
github.com/sijms/go-ora/v2.(*Connection).read()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/connection.go:357 +0x7d
github.com/sijms/go-ora/v2.(*Stmt).ExecContext()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/command.go:1284 +0x394
database/sql.ctxDriverStmtExec()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/ctxutil.go:65 +0xf5
database/sql.resultFromStatement()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2635 +0x1be
database/sql.(*Stmt).ExecContext.func1()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2609 +0x10a
database/sql.(*DB).retry()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:1538 +0x4c
database/sql.(*Stmt).ExecContext()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2603 +0x19c
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).upsertBagsLocked()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:496 +0x7ee
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).upsertLocked()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:332 +0x30c
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).Apply()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:230 +0x1069
github.com/cockroachdb/cdc-sink/internal/target/apply.(*Acceptor).AcceptTableBatch()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/acceptor.go:48 +0x1ea
github.com/cockroachdb/cdc-sink/internal/types.(*orderedAdapter).AcceptTableBatch()
/home/runner/work/cdc-sink/cdc-sink/internal/types/acceptors.go:85 +0xb9
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepOnce()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:265 +0x159b
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepTable.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:143 +0x5f0
github.com/cockroachdb/cdc-sink/internal/util/stopvar.DoWhenChangedOrInterval[...]()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopvar/stopvar.go:71 +0x253
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepTable()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:122 +0x1fc
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).Start.func1.1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:97 +0x2d9
github.com/cockroachdb/cdc-sink/internal/util/stopper.(*Context).Go.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopper/stopper.go:187 +0xb4
Previous write at 0x00c0012ea678 by goroutine 588767:
github.com/sijms/go-ora/v2/network.(*Session).BreakConnection()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:436 +0x284
github.com/sijms/go-ora/v2/network.(*Session).StartContext.func1()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:192 +0x17e
github.com/sijms/go-ora/v2/network.(*Session).StartContext.func2()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:203 +0x47
Goroutine 4146 (running) created at:
github.com/cockroachdb/cdc-sink/internal/util/stopper.(*Context).Go()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopper/stopper.go:185 +0x144
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).Start.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:91 +0xd7
github.com/cockroachdb/cdc-sink/internal/sequencer/sequtil.LeaseGroup.func1.1.1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/sequtil/lease_group.go:56 +0xbc
github.com/cockroachdb/cdc-sink/internal/util/stopper.(*Context).Go.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopper/stopper.go:187 +0xb4
Goroutine 588767 (finished) created at:
github.com/sijms/go-ora/v2/network.(*Session).StartContext()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/network/session.go:184 +0x2da
github.com/sijms/go-ora/v2.(*Stmt).ExecContext()
/home/runner/go/pkg/mod/github.com/sijms/go-ora/[email protected]/command.go:1278 +0x199
database/sql.ctxDriverStmtExec()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/ctxutil.go:65 +0xf5
database/sql.resultFromStatement()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2635 +0x1be
database/sql.(*Stmt).ExecContext.func1()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2609 +0x10a
database/sql.(*DB).retry()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:1538 +0x4c
database/sql.(*Stmt).ExecContext()
/opt/hostedtoolcache/go/1.20.14/x64/src/database/sql/sql.go:2603 +0x19c
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).upsertBagsLocked()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:496 +0x7ee
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).upsertLocked()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:332 +0x30c
github.com/cockroachdb/cdc-sink/internal/target/apply.(*apply).Apply()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/apply.go:230 +0x1069
github.com/cockroachdb/cdc-sink/internal/target/apply.(*Acceptor).AcceptTableBatch()
/home/runner/work/cdc-sink/cdc-sink/internal/target/apply/acceptor.go:48 +0x1ea
github.com/cockroachdb/cdc-sink/internal/types.(*orderedAdapter).AcceptTableBatch()
/home/runner/work/cdc-sink/cdc-sink/internal/types/acceptors.go:85 +0xb9
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepOnce()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:265 +0x159b
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepTable.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:143 +0x5f0
github.com/cockroachdb/cdc-sink/internal/util/stopvar.DoWhenChangedOrInterval[...]()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopvar/stopvar.go:71 +0x253
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).sweepTable()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:122 +0x1fc
github.com/cockroachdb/cdc-sink/internal/sequencer/besteffort.(*BestEffort).Start.func1.1()
/home/runner/work/cdc-sink/cdc-sink/internal/sequencer/besteffort/best_effort.go:97 +0x2d9
github.com/cockroachdb/cdc-sink/internal/util/stopper.(*Context).Go.func1()
/home/runner/work/cdc-sink/cdc-sink/internal/util/stopper/stopper.go:187 +0xb4
==================