Overview of Changes
- Distributed multi-shard/multi-table ACID transactions!
- Global & consistent secondary indexes
- UNIQUE constraint on secondary indexes
- Native JSON data type
- Public/private IP bindings for multi/hybrid cloud or multi-region deployments
- User authentication
- Redis-compatibility features added to our YEDIS API:
- “Read from followers” for tunable read consistency
- Support for multiple databases or namespaces
- Support for MONITOR, EXPIRE, TTL
- Bug fixes and performance enhancements
- Plus excellent progress on the Postgres-compatible SQL API!
Key Commits
- [
068f64f
] Fixes #49 #111 #465 Efficiently support IN conditions for clustering columns - [
92d442a
] [#386] Switch ResettableHeartbeater with Periodic timer - [
4ff9e7c
] Remove TTL from init marker on TS type. - [
7b28dd7
] Cap max pre-allocated file size for compactions at 1G - [
887820d
] Fix hang during tserver shutdown - [
afef8f2
] Fixes #469: Optimize QLResultSet to serialize rows results directly - [
2fdad35
] #456: Update committed hybrid time from WAL records - [
7e4108a
] #467: Fix several issues with remote bootstrap - [
0d9feb2
] #338 Preliminary support for Redis Lists - [
d902325
] #334 Redis (P)ExpireAt Support - [
d4865d4
] #460: Add handling of controller status in GetMasterEntryForHosts - [
19c9fed
] Add memory limit to ram ratio (#458) - [
c6538a8
] Added broadcast address for stable pod IDs in K8s. This fixes master/tserver pod failure cases. (#464) - [
cdbf60c
] [#289] Cleanup intents for aborted transactions in the compaction path - [
a0a2072
] #459: Upgrading k8s yb cluster fails when bind address is private ip of pod. - [
8438e9f
] #418: Increase default network rate for remote bootstrap - [
653871a
] Prevent PeerMessageQueue from being deleted while Peer could use it - [
6022cae
] Add loadbalancer option (#450) - [
154810c
] (#418) Rate limiter for remote bootstrap - [
e4a55b9
] #451: Fix double reply in case of read from follower during startup - [
5842ed6
] Expose raw size in tablet-server metrics #439 - [
3bd4f37
] #451: Check result of weak_ptr lock, before doing actual call in LocalYBInboundCall - [
900a733
] Fix CassandraSecondaryIndex degradation - [
f8a83c2
] Use scoped_refptr for pggate classes so we can get rid of maps from raw to shared pointers - [
41b9a6e
] #384 Rename ApplyAsync to ApplyOperation and get rid of the unused apply thread pool - [
6cc4bfb
] Reverse scan should handle intents. - [
48a3d8f
] Set in-memory master address list in tserver after a full move. - [
5a460b8
] #444: IntentAwareIterator is missing intents even during a forward scan - [
d355997
] Fixes #445 Invalid start_doc_key error with IN condition and paging state - [
78c4c26
] Split tables in YB /tables view by system/index/user - [
e33a2bb
] IntentAwareIterator could miss intents from the same transaction - [
e940d61
] #403 Support Deleting and Recreating a Redis Table online. - [
2a4fb09
] #432: Add "transactions" and "is_unique" columns to system_schema.indexes - [
898e432
] Integrate basic PostgreSQL statements from the external PostgreSQL process with the internal YugaByte PostgreSQL API - [
82884f9
] Skip cleanup when transaction is not loaded - [
4be4c9b
] Fixes #441: Return selected columns of "select * ..." with index in the same order of the table columns. - [
b2164ff
] Fixes #434: Deletes of specific range key incorrectly deleting all rows for that partition key - [
b052e13
] Fix to execute GetSegmentsSnapshot using lock - [
1c6e237
] #428: Support remote bootstrap for very large tablets - [
eb04e90
] Add file_macro to CCACHE_SLOPPINESS for better ccache hit ratio - [
36953b4
] #388: Support batch request of DMLs on table with secondary index - [
d55bad6
] Fix handling of write intents for aborted transaction - [
73a5e9d
] Ignore error when removing index from the indexed table while dropping an index. - [
9d0085a
] [#427] Change CQL wire protocol to move the JSONB type - [
b5d66ea
] Make master and tserver have their own overrides (#426) - [
94be2b1
] Fix UpdateTransaction call during cleanup - [
03a3e47
] #423: Truncate indexes when truncating a table - [
7e82039
] Remove intents of aborted transactions - [
8758c9f
] #343 Implement Select and CreateDB commands. - [
026b582
] Allow overriding the UUID to be used for new instance metadata for a fresh master or tserver - [
03079e3
] Allow remote compiler execution mode for Postgres build - [
8765bab
] #415: End a query always when LIMIT clause is hit. - [
e65b6ed
] #397: Added ability to specify multiple endpoints for master - [
9bc7dc1
] #410: Remove unused CQLRpcServerEnv - [
7b925bd
] Support for SELECT in Postgres API - [
74751e8
] #407: Refactor CQL write dependency check - [
ee502c7
] (#398) Make secondary index update RPC calls async