This repository has been archived by the owner on Dec 23, 2024. It is now read-only.
Migration
Starting with this release, all subsequent changes will be published officially inside https://github.com/tarantool/go-vshard-router
BUG FIXES:
- Fix decoding fields for StorageCallVShardError (MasterUUID, ReplicasetUUID).
CHANGES:
- Add comment why and how we handle "NON_MASTER" vshard error.
- Don't support 'type Error struct' anymore.
- Linter: don't capitalize error strings and capitalize log.
- Fix misspellings.
- Handle vshard error the same way as lua vshard router (resolve issue #77).
- Decode 'vshard.storage.call' response manually into struct vshardStorageCallResponseProto using DecodeMsgpack interface to reduce allocations (partially #61, #100).
- Remove
mapstructure
tag from StorageCallVShardError. - Update benchmarks in README files.
- Package
mapstructure
is completely removed from direct dependencies list.
FEATURES:
- Add pause between requests in buckets discovering. Configured by config DiscoveryWorkStep, default is 10ms.
- Add ReplicaUUID to the StorageCallVShardError struct.
- New method 'RouterMapCallRW[T]' to replace the deprecated one 'RouterMapCallRWImpl'.
- New method 'Router.Call' to replace the deprecated one 'RouterCallImpl'.
REFACTOR:
- Use constants for vshard error names and codes.
- Reduce SLOC by using CallAsync method.
- BucketForceCreate optimization: don't decode tnt response.
- Remove bucketStatError type, use StorageCallVShardError type instead.
- Add custom msgpackv5 decoder for 'vshard.storage.bucket_stat' response (partially #100).
- Add custom msgpackv5 decoder for 'BucketStatInfo', since msgpackv5 library has an issue (see commit content).
- Add custom msgpackv5 decoder for 'RouterMapCallRW'.
- New backward-compatible signature for StorageResultTypedFunc to fix interface for RouterCallImpl.
TESTS:
- Rename bootstrap_test.go -> tarantool_test.go and new test in this file.
- Test for new 'RouterMapCallRW[T]'.