v1.2 Series release notes
What follows are the release notes for all releases in the v1.2 release series.
v1.2.12
Released July 5, 2019.
Downloads
Binaries
Docker
docker pull yugabytedb/yugabyte:1.2.12.0-b7
File Format Change
Note
This version includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster with YSQL schema, then you will not be able to connect to the YSQL database after upgrading to this version.There are two ways to address the above note.
- If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with 1.2.12.
- If you want to continue using your existing data, then please save your data (in the form of SQL statements), delete the cluster, create a new cluster with 1.2.12 and then load the previously saved data.
YSQL Changes
- [YSQL] Fix scan operator when range key is not fully-specified.#1576
- [YSQL] Fix ORDER BY range column of a secondary index.#1591
- [YSQL] Add YSQL RPCs to tserver utilz page.#1446
System Improvements
- Resolve ABA problem in LockFreeStackResolve ABA problem in LockFreeStack.#1561
- Fix recursive locking in Batcher.#1584
- Use boost::atomic for 16-bytes structures.#1189
- Fix integer overflow during Raft log read path.#1606
- Fix concurrent access to primary table info in RaftGroupMetadata.#1631
- A new priority-aware thread pool implementation for compactions and flushes.#1314
- Create mem trackers that reflects TC Malloc stats.#1633
- Make sure you don't read an invalid replicate index from the footer.#1625
v1.2.11
Released June 25, 2019.
Downloads
Binaries
Docker
docker pull yugabytedb/yugabyte:1.2.11.0-b26
File Format Change
Note
This version includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster with YSQL schema, then you will not be able to connect to the YSQL database after upgrading to this version.There are two ways to address the above note.
- If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with 1.2.11.
- If you want to continue using your existing data, then please save your data (in the form of SQL statements), delete the cluster, create a new cluster with 1.2.11 and then load the previously saved data.
YSQL Changes
- [YSQL] Lower prefetch limit to 1024 from 4098.#1206
- [YSQL] REPEATABLE READ should be mapped to snapshot isolation, not to serializable
- [YSQL] Error message on tserver startup: could not open directory 'pg_snapshots'.#1489
- [YSQL] Fixed logging setup.#1230
- [YSQL] Force use C locale.#986
- [YSQL] Distinguish tables with same keyspace+name but different schema in master UI.#1525
- [YSQL] Fix line editing in ysqlsh (psql) on Linux.#764
- [YSQL] Show table UUIDs in tablet server web UI.#1525
- [YSQL] Feature Support - FUNCTION and PROCEDURE.1155
- [YSQL] Allow WITH clauses in CREATE TABLE.#870
- [YSQL] Improve performance when executing LIMIT clause.#1204
YCQL Changes
- [YCQL] Bulk loader improvements.#1543
System Improvements
- Universe Key Integration for Encryption at Rest.#1364
- Store tserver metrics in system YCQL table.#1021
- Fix rocksdb checkpoint.#1491
- CDCService GetChanges RPC.#1168
- Update cql_nodelist_refresh_interval_secs to default to 300 sec#1471
- Add more commands to yugabyte-db: status, connect, version, destroy
- Intents DB should not request flush of Regular DB when it is already flushing.#1499
- Add versioning to yb-master JSON API.#1372
- Master concurrency improvements and benchmark for GetTableLocations.#1540
- Preparation diff. Use single writer skiplist in DocDB.#1240
- Take stack traces in parallel.#1509
- Jepsen-related changes to remote_release.py,#938
- Fix remote bootstrap log anchoring.#1485
- Preparation: Auto memory management for Compaction object.#1314
- Check if load balancer is active instead of checking whether distribution of tablets across tservers is nearly uniform.#1336
- Fix EnumerateIntents and add a test to capture conflicts at hash key level in serializable isolation.#1465
- Print enhanced tcmalloc stats to /memz.#1585
- Add clearer error message if YB data dir can't be created.#295
v1.2.10
Released June 3, 2019.
Downloads
Binaries
Docker
docker pull yugabytedb/yugabyte:1.2.10.0-b13
File Format Change
Note
This version includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster with YSQL schema, then you will not be able to connect to the YSQL database after upgrading to this version.There are two ways to address the above note.
- If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with 1.2.10.
- If you want to continue using your existing data, then please save your data (in the form of SQL statements), delete the cluster, create a new cluster with 1.2.10 and then load the previously saved data.
YSQL Changes
- [YSQL] Add support for ALTER SEQUENCE.#1002
- [YSQL] Remove unused hashed_doc_key from PgsqlWriteOperation
- [YSQL] Implement /rpcz handler for YSQL.#1245
- [YSQL] Make DocDB key encoding accessible in PGGATE. #1388
- [YSQL] Omit cotable id in ybctid and ybbasectid [format change].#1426
- [YSQL] Add support for
ALTER TABLE .. ADD CONSTRAINT .. UNIQUE
.#1394 - [YSQL] #717 DROP DATABASE Support.#717
- [YSQL] #1412: Fix included index columns.#1412
- [YSQL] Basic support for FOREIGN KEY constraints
- [YSQL] Hash and range keys support.#1134
System Improvements
- Fix handling of higher term during preelection.#1418
- Fixed purging of output files during concurrent SST flush.#1433
- Only include active tablet-peers in tablets-by-az table.#1428
- Log passed time when retryable operations expires and use coarse time for timeout calculation.#1315
- Fix mem tracker GC and improve reporting.#1435
- Reduce Logging of Pending Delete Message.#1421
- Fix token returned by system.local.#1467
v1.2.9
Released May 21, 2019.
Downloads
Binaries
Docker
docker pull yugabytedb/yugabyte:1.2.9.0-b14
File format change
Note
This version includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster with YSQL schema, then you will not be able to connect to the YSQL database after upgrading to this version.There are two ways to address the above note.
- If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with 1.2.9.
- If you want to continue using your existing data, then please save your data (in the form of SQL statements), delete the cluster, create a new cluster with 1.2.9 and then load the previously saved data.
YSQL changes
- Add support for identity column. #1267
- Support INSERT INTO ... ON CONFLICT clause, #1109
- Set default prefetch limit to 4096, #1206
- Disable logical replication, #1323
- Add support for "COMMENT ON" statements, #1332
- Fix indexes on temporary tables, #1349
- Store object ids as unsigned integer in DocDB, #1392
- Disallow INTERVAL data type in a primary key or secondary index column, #1397
- Support CREATE and DROP DOMAIN, #1310
YCQL changes
- JSON UPSERT: Avoid decoding as int to check for array offset, #1039
- Set default upper limit for CQL prepared statement cache size, #1406
Bug fixes
- Pass upperbound to intent aware iterator, #1233
- Fix Snappy detection outside of RocksDB, #1300
- Added saving Raft group replica superblock after migration, #1403
System improvements
- Implement RPC heartbeats, #950
- Add master readiness check, #1076
- Expose tablet servers page as a JSON
- Add gflag to turn on per-row consistent paging queries in transactional tables, #1311
- Stop applying writes when RocksDB requires a delay, #1300
- Make fast WAL recovery the default, #1370
- Reduce logging of RpcServerBase::get_current_user() and get_hostname(), #1380
- Add table of tablet-peer counts by AZ to YB master UI, #1328
v1.2.8
Released May 8, 2019.
Downloads
Binaries
Docker
docker pull yugabytedb/yugabyte:1.2.8.0-b1
File Format Change
Note
This version includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster with YSQL schema, then you will not be able to connect to the YSQL database after upgrading to this version.There are two ways to address the above note.
- If you don't care about preserving your existing data, then delete your existing cluster, and create a new cluster with 1.2.8.
- If you want to continue using your existing data, then please save your data (in the form of SQL statements), delete the cluster, create a new cluster with 1.2.8 and then load the previously saved data.
YSQL Changes
- Support UNIQUE constraint. #1022
- ON CONFLICT support. #1109
- Scan path cleanup
- Create information_schema during initdb.#1251
- Storing YSQL Metrics and setting up webserver for YSQL. #1137
- Fix compilation on Ubuntu 18.04. #1277
- PostgreSQL is built in non-parallel mode. #1235
- Postgres process failed to start on Ubuntu. #1292
- Cascade truncate indexes. #1175
- Rename psql to ysqlsh. #1257
- Add support for identity column. #1267
- Allow insert multiple NULL values in UNIQUE INDEX column. #1058
YCQL Changes
- Add EXPLAIN to YCQL for SELECT, INSERT, UPDATE, DELETE stmts. #861
- Fix YCQL paging handling in distributed transactions. #1281
- Support JSON operator on INSERT. #668
Bug Fixes
- Do not modify variable pre_allocated_size if fallocate() fails. #1211
System Improvements
- Unify yb-master and yb-tserver under one manager process
- CDC service proto definition. #1164
- Add port conflict error check to yugabyte-db
- Run initdb automatically from the master leader
- Timed out call should not take space in service queue. #1213
- Handle case when timeout is not specified in UpdateConsensus. #1265
- Speed Up Create Table. #911
- Avoid destroying Messenger and Reactor inside Reactor thread.#1279
- Fix Leader not yet replicated NoOp error. #1236
- Add libcds to thirdparty. #1220
- Separate Raft group and tablet abstractions - first step. #681
- Process callbacks for outbound calls in a thread pool.#1280
- Simplified yb-ctl output. #1360
v1.2.6
Released April 26, 2019.
Downloads
Binaries
Docker
docker pull yugabytedb/yugabyte:1.2.6.0-b3
YSQL Changes
- Support Serializable isolation level for multi-key transactions. #1135
- Remove Unnecessary YSQL Index update preparation. #1232
- Remove dependency on YB_PG_FALLBACK_SYSTEM_USER_NAME, set default port and username for psql. #1018
- Show table's OID when failing to load a table's metadata. #1222
- Disable unsupported options for CREATE DATABASE. #716
YCQL / YEDIS Changes
- [YCQL] Support Insert on Update for JSON entry. #1039
Bug Fixes
- A User must have ALTER permission on a table to drop an index from the table. #701
System Improvements
- Exponential backoff during pre-election. #1224
- Enhance tserver readiness check.
- Don't stop writes during tablet bootstrap. #1212
- Introduce EncryptedFileFactory for producing Encrypted files.
v1.2.5
Released April 18, 2019.
Downloads
Binaries
Docker
docker pull yugabytedb/yugabyte:1.2.5.0-b13
YSQL changes
- Enabled support for DROP CONSTRAINT IF EXISTS. #1124
- Disabled creating user tables on template0/template1 databases. #1106
- Use localhost as default when no host is specified while starting psql. #1114
- Added ability to log warnings and continue operation for unsupported SQL options instead of erroring out. #1132
- Improved grammar error message for unsupported options by including relevant GitHub issue link. #1176
YCQL / YEDIS changes
Bug fixes
- Fixed a bug where updating a column that was previously null would ignore the update. #1173
- Fixed a bug where older Postgres process was not being killed when tserver is restarted. #1089
- Fixed timeout in YCQL when selecting from a table with offset/limit if offset+limit > number of rows. #1099
- Fixed a bug where index entries were not being deleted when corresponding row was deleted from table.#1193
- Fixed a memory corruption issue while closing raft peer. #1150
- Fixed a bug in YCQL where creating secondary index would fail if INCLUDE clause included primary key columns from indexed table. #1073
System improvements
- Speed up initdb time by 2x by fixing primary key scan for tables with oids. #1207
- Speed up local bootstrap by removing rewrite of WAL entries on bootstrap. #982
- Improve SSL failure reporting by interpreting SSL_read 0 result as failure. #1210
- Preallocate objects IDs in smaller chunks for YSQL. #1214
- Disable transactional property for sequences table. #1029
- Improve compaction speed by avoiding decode of full doc subkey. #1178
- Added support for showing number of live tablets in Master UI's tablet server page. #1106
- Reduced memory consumption of UpdateConsensus. #1148
- Avoid race condition warning in ParseTree::clear_reparsed(). #1146
- Moved yb-ctl to yugabyte-installation repository.
v1.2.4
Released April 8, 2019.
Downloads
Binaries
Docker
docker pull yugabytedb/yugabyte:1.2.4.0-b5
File Format Change
Note
This version includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster with YSQL schema, then you will not be able to connect to the YSQL database after upgrading to this version.There are two ways to address the above note.
- If you don't care about preserving your existing data, then you can delete your older cluster, upgrade to v1.2.4 and create a new cluster.
- If you want to continue using your existing data, then please save your older data (in the form of SQL statements), delete the older cluster, upgrade to v1.2.4, create a new cluster and then load the previously saved data.
YSQL Changes
- Added support for primary keys. It is now possible to create a table with a primary key. #955
- Added support for temporary tables. #805
- Added support for CYCLE option in CREATE SEQUENCE statement. #993
- Enabled
SET TRANSACTION READ WRITE
statement. #1081 - Support RelationType in TableInfo to distinguish between system tables, user tables and user indexes. #906
Bug Fixes
- Fixed a crash in tserver that is observed while inserting null value into an indexed column. #945
- Fixed a bug where indexes on system catalog tables were not being updated during DDL. #1083
- Fixed detection of single row transactions on tables that have primary keys.
- Fixed MiniMaster startup race condition in test infrastructure. #1040
System Improvements
- Reduce per-connection overhead for cache preloading. #1090 #1091
- Faster release of sending buffers to reduce memory consumption when leader sends large updates to followers who are lagging behind. #1079
- Parallelize DNS resolution while filling system.peers and system.local tables #1000
- Script for post-processing test results and generating JSON-based result files.
- Improve stability of QLTransactionTest.IntentsCleanupAfterRestart. #1102