Skip to content

Releases: streamnative/oxia

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

v0.10.0

25 Sep 17:45
938b7a5
Compare
Choose a tag to compare

What's Changed

  • [Go client] Recover from write stream failures by @merlimat in #521
  • Fix NPE in coordinator when closing a half-initialized node controller by @merlimat in #520
  • Fixed notification DB read after DB was closed by @merlimat in #519
  • Include session-id in CLI tool output stats by @merlimat in #524
  • fix(server): print the correct error info by @mattisonchao in #527
  • fix(tool): follow up #524 to add session id to output by @mattisonchao in #528
  • Pool index buffer for read-write wal segments by @merlimat in #523
  • Allow to disable notifications on a namespace by @merlimat in #526
  • Implementation of disabling notifications on server side by @merlimat in #529
  • Configure notifications disabled on standalone CLI by @merlimat in #531
  • On delete-range send 1 single notification to clients by @merlimat in #532
  • Async quorum-ack-tracker should trigger callback outside of mutex by @merlimat in #533
  • feat(server): return storage entry to vtpool when callback error by @mattisonchao in #535
  • feat(cmd): support wal cmd truncate command by @mattisonchao in #530
  • fix(session): expired session write request will delete other session shadow key by @mattisonchao in #534

Full Changelog: v0.9.1...v0.10.0

v0.9.1

19 Sep 04:10
f21df14
Compare
Choose a tag to compare

What's Changed

  • fix(notification): support notification retention configuration by @mattisonchao in #515

Full Changelog: v0.9.0...v0.9.1