Skip to content

Releases: xqrzd/kudu-client-net

0.2.0

24 Jun 00:32
c389768
Compare
Choose a tag to compare

Bugfixes and minor API improvements.

Optimizations and refactors:

  • Use gRPC tools to generate C# code from proto files #233
  • Scan builder API adjustments #234
    • Make ExclusiveUpperBoundRaw private
    • Add SetFullProjection method
    • Fix issue where setting projected column indexes wouldn't apply if projected names were already set
  • Small memory optimization #226

Bug fixes:

  • Fix a scan bug which will read repetitive rows #229
  • Update lastPropagatedTimestamp in subsequent scans #230
  • Fix a rare race condition where a faulted RPC could remove a newly discovered leader master. #235

Misc:

  • Update dependencies

Testing:

  • Test against Kudu 1.16 #222

0.1.0

12 Mar 02:39
453ae2f
Compare
Choose a tag to compare

First non-preview version!

New features:

  • Enable source link and deterministic builds #202
  • Add simple object mapper #208
  • Add scanner CountAsync() extension method #210
  • Add ability to require authn/encryption #212

Optimizations and refactors:

  • Remove special NaN encoding #204
  • Minor cleanup and optimization in SSE key encoder #205
  • Improve getting raw/binary values from ResultSet #209
    • Rename GetRawFixed() to GetSpan(), which now works for all data types
    • GetBinary() now returns a byte[]
    • Add GetNullableBinary() for consistency

Bug fixes:

  • Fix a rare race condition that could lead to a bad connection being cached indefinitely #206

Testing:

  • Various minicluster improvements #217

Preview 5

29 Dec 23:50
3037bc8
Compare
Choose a tag to compare
Preview 5 Pre-release
Pre-release

Contains incremental improvements towards the first stable release.

New features:

Optimizations and refactors:

  • Scanner improvements #167, #169
    • Consolidate rowwise and columnar results into a single ResultSet
    • RowResult is now a struct instead of a ref struct, simplifying using it
    • Bump default scanner batch size to 8mb, improving performance
  • Support serializing/deserializing scan token metadata. This reduces the load on Kudu master servers by avoiding unnecessary metadata requests #160
  • Avoid overloading Kudu masters with ConnectToMaster RPCs for high-throughput applications #166
  • Make KuduSessionOptions immutable and improve default session options #172, #190

Bug fixes:

  • Fix GetTablesAsync() without a name filter #177

Misc:

  • Add .NET 6 target and optimizations #180
  • Removed unused DefaultAdminOperationTimeout configuration #159
  • Improve xml comments #171
  • Use compile-time logging source generation #186
  • Enable nullable references #188
  • Refactor Negotiator #184, #185

Testing:

Preview 4

25 Jun 03:10
9969aa8
Compare
Choose a tag to compare
Preview 4 Pre-release
Pre-release

Contains incremental improvements towards the first stable release.

New features:

  • Alter table ownership support #139
  • Support resolving one master address to multiple addresses #145

Optimizations and refactors:

  • Optimize key encoding #141
  • Simplify and optimize KuduPartitioner #150
  • Improve exception handling #146

Bug fixes:

  • Try a scan at a different server when quiescing #151
  • Fix negotiation over TLSv1.3 #154

Misc:

  • Switch serialization library to Google.Protobuf #153
  • Add .NET 5 target #140
  • Use .NET threadpool scheduler #155
  • Update dependencies

Testing:

  • Test against Kudu 1.15

Preview 3

15 Sep 17:04
bef3b31
Compare
Choose a tag to compare
Preview 3 Pre-release
Pre-release

Contains incremental improvements towards the first stable release.

New features:

  • Support columnar scan format
  • Expose partitioning information through KuduPartitioner
  • Add support for scanner keep-alive

Optimizations and refactors:

  • Refactor sidecar handling and scan parsing
  • Add type and null checks to RowResult.GetRawFixed()

Bug fixes:

  • Make empty projection scans consistent between rowwise and columnar formats
  • Fix improper use of pipelines during connection shutdown

Misc:

  • Update dependencies
  • Add more XML documentation comments

Testing:

  • Port more tests from the Java client

Preview 2

25 Jun 03:09
3973e81
Compare
Choose a tag to compare
Preview 2 Pre-release
Pre-release

Contains incremental improvements towards the first stable release.

New features:

  • Expose stats about scan filters
  • Add support for INSERT_IGNORE
  • Expose callback for session exceptions

Optimizations and refactors:

  • KuduPredicate type validation and performance improvements
  • Improve connection shutdown logic
  • Add ISecurityContext interface, which allows testing KuduClient without a real server
  • Add missing GetBinary(name) overload to RowResult
  • Add ToString() to RowResult
  • WriteAsync() improvements:
    • Throw an exception on per-row errors (eg. row already exists for inserts, doesn't exist for updates)
    • Return WriteResponse, which contains the raw write timestamp

Bug fixes:

  • Prefer tservers in the same location when multiple are local

Misc:

  • Add VS Code support
  • Update dependencies

Testing:

Preview 1

24 May 21:47
9deacd2
Compare
Choose a tag to compare
Preview 1 Pre-release
Pre-release

Very first release of Knet.Kudu.Client. Get it on nuget: https://www.nuget.org/packages/Knet.Kudu.Client