Releases: streamnative/oxia
Releases · streamnative/oxia
v0.11.9
What's Changed
- fix(coordinator): choose highest term and entry node as leader by @mattisonchao in #579
Full Changelog: v0.11.8...v0.11.9
v0.11.8
What's Changed
- Update dependencies by @merlimat in #564
- Stop add follower retries when the follower is already present by @merlimat in #571
- Return specific error code on duplicated newTerm by @merlimat in #573
- fix(server): fix data race in follower controller by @mattisonchao in #574
- Reset backoff in replicate stream attempts only after an ack by @merlimat in #575
- Fixed data race in TestFollower by @merlimat in #577
- Fixed flaky test TestShardController_NewTermWithNonRespondingServer by @merlimat in #578
- Fixed deadlock when handling multiple stream entries errors by @merlimat in #576
Full Changelog: v0.11.7...v0.11.8
v0.11.7
What's Changed
- fix(replication): fix wrong memory status block replication by @mattisonchao in #569
Full Changelog: v0.11.6...v0.11.7
v0.11.6
What's Changed
- fix(wal): fix recover with insufficient buffer by @mattisonchao in #568
Full Changelog: v0.11.5...v0.11.6
v0.11.5
What's Changed
- fix(wal): fix wrong overflow validation calculation by @mattisonchao in #566
Full Changelog: v0.11.4...v0.11.5
v0.11.4
What's Changed
- fix(server): use the correct err for internal server log by @mattisonchao in #563
- feat(coordinator): use internal address as unique identification for load balance by @mattisonchao in #565
Full Changelog: v0.11.3...v0.11.4
v0.11.3
What's Changed
- Clear pooled connection after node health checks by @merlimat in #557
- fix(coordinator): fix config marshaling error by @mattisonchao in #560
- fix(server): allow higher term shard deleting by @mattisonchao in #559
- feat(coordinator): support update service info when config changed by @mattisonchao in #561
Full Changelog: v0.11.2...v0.11.3
v0.11.2
What's Changed
- fix(server): fix NPE causes server crash by @mattisonchao in #553
- Fixed ClusterConfig loading for boolean values by @merlimat in #555
Full Changelog: v0.11.1...v0.11.2
v0.11.1
What's Changed
- fix(db): delete duplicated callback by @mattisonchao in #550
- feat(wal): support crc for index file by @mattisonchao in #549
- fix(server): fix wrong options for testing by @mattisonchao in #552
Full Changelog: v0.11.0...v0.11.1
v0.11.0
New Features
Secondary indexes.
It's now possible, when writing a record, to have it indexed by additional keys other than its primary key.
Example:
client.Put(ctx, "my-user-id", []byte(value), SecondaryIndex("name", "my-user-name"))
This will allow to do a List()
or RangeScan()
operation based on the secondary index, instead of the primary key:
resCh := client.RangeScan(ctx, "A", "M", UseIndex("name"))
list, err := client.List(ctx, "A", "M", UseIndex("name"))
The returned list will be a list of the primary keys that match the boundaries in the secondary index.
Notes:
- The secondary key is not required to be unique (unlike the primary key for the record)
- A single record can have more that 1 secondary index (eg: index by
name
,age
,location
...) - There can be multiple secondary keys for the same secondary index. eg:
client.Put(ctx, "my-user-id", []byte(value),
SecondaryIndex("ref", "my-ref-1"),
SecondaryIndex("ref", "my-ref-2"),
)
What's Changed
- feat(wal): support chained CRC for write ahead log by @mattisonchao in #538
- Force configmap ownership when updating by @merlimat in #540
- Protobuf changes for secondary indexes by @merlimat in #541
- feat(wal): Decoupled codec related logic by @mattisonchao in #542
- Secondary indexes implementation by @merlimat in #544
- Allow to pass the same secondary index name multiple times on the same record by @merlimat in #546
- Client API changes for secondary idx by @merlimat in #545
- feat(wal): support discard corrupted uncommitted data by @mattisonchao in #547
Full Changelog: v0.10.0...v0.11.0