stable-250724
Release Notes
Readyset is currently released as a docker container and Linux distro binary packages. For installation with docker, see the Install with Docker documentation. Available Linux distribution binary packages for x86_64/amd64 include deb package for Ubuntu 22.04, Debian 12 and later, and rpm packages for Amazon Linux 2023 and RedHat 9. See package installation instructions.
What's New
- f42825e: Fix a bug where Readyset would fail to save the replication offset for MySQL tables created during active replication, leading to unnecessary table resnapshots.
- d3be028: Add a
--parsing-presetCLI option andPARSING_PRESETenvironment variable to configure how mismatches betweennom-sqlandsqlparser-rsparsing are handled. It defaults toprefer-nom, which parses with bothnom-sqlandsqlparser-rs, logs a warning if they don't agree, and uses the AST produced bynom-sql. To disable parsing withsqlparser-rs, useonly-nom. To test experimental query support for syntax not supported bynom, useprefer-sqlparseroronly-sqlparser. - 373001a: Rate-limit logging of
nom-sql/sqlparser-rsmismatches, configurable by thePARSING_LOG_RATE_LIMIT_SECSenvironment variable. By default, warnings for mismatches are logged at most once per minute. Setting the environment variable to0disables rate limiting. The rate limit does not apply to DDL encountered during replication. - 24d2b0f: Add a magic number to inter-domain communication to prevent arbitrary connections from being accepted.
- 1501a18: Allow configuring the number of parallel tables for MySQL snapshots via the
MAX_PARALLEL_SNAPSHOT_TABLESenvironment variable or the--max-parallel-snapshot-tablesCLI option. - 5014c8c: Add support for arbitrarily large
DECIMALandNUMERICvalues, enabling replication and use of the full range allowed by MySQL and Postgres for these columns. This also fixes an issue with replicatingNaNvalues, which will now work as expected. - c863ca4: Improve logging when restarting the replicator to print the last replication position.
- 1845204: If Readyset receives a
SETstatement it cannot support, proxy subsequent queries upstream. - 66ba270: Introduce a new join algorithm for straddled joins (joins where predicates come from both sides). The new algorithm uses optimizations like Index Condition Pushdown (ICP) to push predicates down to RocksDB, resulting in faster lookups and reduced memory footprint.