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