Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VStream can panic with incorrectly specified TableLastPKs #16479

Closed
rohit-nayak-ps opened this issue Jul 25, 2024 · 1 comment
Closed

VStream can panic with incorrectly specified TableLastPKs #16479

rohit-nayak-ps opened this issue Jul 25, 2024 · 1 comment

Comments

@rohit-nayak-ps
Copy link
Contributor

rohit-nayak-ps commented Jul 25, 2024

Overview of the Issue

If a VStream copy is restarted with an intermediate state, the TableLastPK needs to be specified not just with the last value of the PKs but also the field information for columns constituting the PK. Currently there is no validation for this and vttablet crashes with a panic:

2024-07-16 18:28:49.897	runtime/panic.go:113 (0x436d5e)
2024-07-16 18:28:49.897	vitess.io/vitess/go/sqltypes/result.go:288 (0xcc1fda)
2024-07-16 18:28:49.897	vitess.io/vitess/go/sqltypes/proto3.go:92 (0xcc1e96)
2024-07-16 18:28:49.897	vitess.io/vitess/go/sqltypes/proto3.go:123 (0xcc2210)
2024-07-16 18:28:49.897	vitess.io/vitess/go/vt/vttablet/tabletserver/vstreamer/copy.go:183 (0x15269b2)
2024-07-16 18:28:49.897	vitess.io/vitess/go/vt/vttablet/tabletserver/vstreamer/copy.go:211 (0x1526b97)
2024-07-16 18:28:49.897	vitess.io/vitess/go/vt/vttablet/tabletserver/vstreamer/copy.go:60 (0x152558c)
2024-07-16 18:28:49.897	vitess.io/vitess/go/vt/vttablet/tabletserver/vstreamer/copy.go:39 (0x1525327)
2024-07-16 18:28:49.897	vitess.io/vitess/go/vt/vttablet/tabletserver/vstreamer/uvstreamer.go:418 (0x15390b5)
2024-07-16 18:28:49.897	vitess.io/vitess/go/vt/vttablet/tabletserver/vstreamer/engine.go:236 (0x152969c)
2024-07-16 18:28:49.897	vitess.io/vitess/go/vt/vttablet/tabletserver/tabletserver.go:1138 (0x15fc07a)
2024-07-16 18:28:49.897	vitess.io/vitess/go/vt/vttablet/grpcqueryservice/server.go:336 (0x17f6a47)
2024-07-16 18:28:49.897	vitess.io/vitess/go/vt/proto/queryservice/queryservice_grpc.pb.go:1170 (0x17e9ad2)
2024-07-16 18:28:49.897	google.golang.org/grpc@v1.59.0/server.go:1637 (0xa2a2e3)
2024-07-16 18:28:49.897	google.golang.org/grpc@v1.59.0/server.go:1741 (0xa2bd6f)
2024-07-16 18:28:49.897	google.golang.org/grpc@v1.59.0/server.go:986 (0xa2452b)
2024-07-16 18:28:49.897	runtime/asm_amd64.s:1598 (0x470b60)
@rohit-nayak-ps
Copy link
Contributor Author

Closed via #16478

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant