Skip to content

Releases: KaymeKaydex/go-vshard-router

v1.1.0

28 Sep 07:40
Compare
Choose a tag to compare

CHANGES:

  • now if there is no etcd connection - etcd provider returns you error instead panic.
  • etcd provider also accepts context as input for working with the logger.

BUG FIXES:

  • fixed the problem of re-creating a new context when starting discovery, which led to a lack of discovery logging.

TESTS:

  • Simplify test/tnt/{Makefile,router.lua).
  • Indent fix for test/tnt/storage.lua.

FEATURES:

  • now we write topology changes to debug logs.
  • now we write info logs about new replicaset adding and nodes state.
  • added pull request template to repository.

v1.0.1

23 Sep 15:37
22bed02
Compare
Choose a tag to compare

BUG FIXES:

  • fix invalid go-tarantool backward compatibility: NewCallRequest not method of router.

v1.0.0

23 Sep 13:51
713bc17
Compare
Choose a tag to compare

This is the first version with which releases are recorded in the changelog and the version is production ready

Changelog

BUG FIXES:

  • RouterCallImpl: fix decoding response from storage_ref (partially #42)
  • RouterCallImpl: fix decoding response from storage_map (partially #42)
  • BucketDiscovery: check res for nil
  • BucketStat: decode bsInfo by ptr
  • ReplicaCall: fix decoding response (#42)
  • ReplicaCall: fix ignoring timeout while waiting for future.Get()
  • Fix retry on Client or LuaJit error

FEATURES:

  • Support new Sprintf-like logging interface (#48)
  • DiscoveryTimeout by default is 1 minute (zero DiscoveryTimeout is not allowed #60)
  • All discovering logs has new prefix [DISCOVERY]
  • Introduce Replicaset.CallAsync, it is usefull to send concurrent requests to replicasets;
    additionally, CallAsync provides new interface to interact with replicaset without cons of interface of ReplicaCall
  • Retry tarantool request only on some vshard errors (#66).
  • Added call interfaces backwards compatible with go-tarantool (#31).

REFACTOR:

  • resolve issue #38: simplify DiscoveryAllBuckets and remove suspicious if
  • resolve issue #46: drastically simplify RouterMapCallRWImpl and added tests with real tnt
  • Use typed nil pointers instead of memory allocation for EmptyMetrics and emptyLogger structs
  • resolve issue #44: remove bucketCount field from struct Replicaset
  • rename startCronDiscovery to cronDiscovery and make it panic-tolerant
  • BucketStat: split into bucketStatAsync and bucketStatWait parts
  • BucketDiscovery: do not spawn goroutines, just use futures in the single goroutine
  • BucketResolve: make it alias for BucketDiscovery
  • do not export anymore storageCallAssertError, bucketStatError

TESTS:

  • New test for RouterCallImpl (and fix the old one)
  • New tnt tests for discovery logic
  • New tnt tests for RouterMapCallRWImpl
  • New tnt tests for topology logic
  • Big CI update
    • 2 sections for CI: static checks and tests
    • integration tests run on ci with Tarantool cluster on vshard
    • implemented luacheck for static checks
  • New tnt tests for ReplicaCall
  • New tnt tests for CallAsync
  • Init Go benches for tests/tnt

EXAMPLES:

  • customer go mod fixed
  • add customer example listen addr log