Skip to content

Panic after snapshotting with NaN numeric values #1510

@sandaru1

Description

@sandaru1

Summary

When there are more than 10 tables in a database, and at least one of the tables contain data that cannot be processed by readyset(Ex: NaN in numeric column), Readyset panics.

This only happens when there are more than 10 tables.

Steps to reproduce

CREATE TABLE t1(a numeric);
CREATE TABLE t2(a numeric);
CREATE TABLE t3(a numeric);
CREATE TABLE t4(a numeric);
CREATE TABLE t5(a numeric);
CREATE TABLE t6(a numeric);
CREATE TABLE t7(a numeric);
CREATE TABLE t8(a numeric);
CREATE TABLE t9(a numeric);
CREATE TABLE t10(a numeric);
CREATE TABLE t11(a numeric);

INSERT INTO t1 VALUES ('NaN');

ReadySet version

734da6aeb70b1d19d15eba1a4795d5d464dc1641

Upstream DB type and version

Postgres 16.4

Logs

2025-05-09T06:14:57.630415Z  INFO replicators::postgres_connector::connector: confirmed_flush_lsn="82/9A0DB8A0" wal_status="reserved"

thread 'Adapter Runtime' panicked at /Users/sandaru1/readyset/gerrit/readyset/public/replicators/src/noria_adapter.rs:692:14:
Maximum offset must be present after snapshot
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
2025-05-09T06:14:57.634268Z ERROR readyset_util::futures: Task panicked; aborting panic_message=Maximum offset must be present after snapshot
zsh: abort      ./target/release/readyset --deployment-mode=standalone --address=0.0.0.0:3307

Metadata

Metadata

Labels

High priorityCreated by Linear-GitHub SyncbugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions