Repository navigation
v0.7.1
Pre-release
Pre-release
·
6 commits
to be5efdd2bf0e58e2dac8373b68fa2b9be7a1b4fe
since this release
v0.7.1
Raft-derived row versions, and one persisted owner for every shared table.
This is the first stable 0.7 release. It is not an in-place upgrade of a 0.6 or 0.7.0-beta.0 data directory. Wipe the data directory, or export and import into a fresh database. Startup does not rewrite stored rows.
Row versions
_seq is gone. Every row carries _version, sent as a decimal string:
_version = (raft_log_index << 16) | ordinal
Versions are unique and increase inside one version domain (one shared table, one owner shard, one history). They are not a single global counter, and gaps are normal.
Shared tables
Each non-partitioned SHARED table is created on one owner shard and stays there.
- Clustered default is 4
DataSharedShardgroups. Standalone stays on one group and uses the same resolver. - The owner and history are stored at
CREATE TABLE. Raisingshared_shardslater does not move existing tables. - Autocommit writes, live barriers, and same-group transactions follow that stored owner.
- A transaction that needs a second shared group is rejected.
- A shared live resume token must carry the exact version domain. A new subscription without
fromstill takes a fresh snapshot.
Also since 0.7.0-beta.0
- Faster Raft apply and publisher consume, and more WebSocket clients per node
- Scalar index seeks and cooperative shutdown
- Reused native TLS clients for isolated WebSocket links
- PostgreSQL extension RPCs stay unregistered unless the extension is enabled
DROP STORAGEremoves an unreferenced filesystem directory after the catalog row is gone- Package installs retry transient registry timeouts
What's Changed
- Replace Snowflake row sequences with a Raft-derived VersionId by @jamals86 in #390
- Keep cluster replicas consistent and let each node serve more WebSocket clients by @jamals86 in #389
Full Changelog: v0.7.0-beta.0...v0.7.1