Skip to content

Releases: streamnative/oxia

v0.11.9

16 Nov 04:12
02d3f5c
Compare
Choose a tag to compare

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

16 Nov 04:10
e7ef873
Compare
Choose a tag to compare

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

13 Nov 17:17
ee0a7a4
Compare
Choose a tag to compare

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

12 Nov 05:04
ab60cd9
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.11.5...v0.11.6

v0.11.5

12 Nov 01:15
919673c
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.11.4...v0.11.5

v0.11.4

11 Nov 13:52
61f09cf
Compare
Choose a tag to compare

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

07 Nov 22:56
fb90db8
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.11.2...v0.11.3

v0.11.2

21 Oct 17:04
3402e22
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.11.1...v0.11.2

v0.11.1

18 Oct 05:23
5ecb61e
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.11.0...v0.11.1

v0.11.0

08 Oct 17:43
59dfd84
Compare
Choose a tag to compare

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:

  1. The secondary key is not required to be unique (unlike the primary key for the record)
  2. A single record can have more that 1 secondary index (eg: index by name, age, location...)
  3. 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

Full Changelog: v0.10.0...v0.11.0