1.2 February 3, 2016

1.2 February 3, 2016

Sync Gateway 1.2 packs a comprehensive set of enhancements and bug fixes including:

  • Database Offline/Online Administration - You can now take individual databases online/offline using the admin REST API for routine maintenance, upgrades, or to recover from datacenter network outages.
  • Sync Gateway Accelerator - Optional service which enables your Sync Gateway applications to scale horizontally to meet demanding loads.
  • Database _purge Command - Improve performance and reduce storage size by deleting tombstoned revisions from your Sync Gateway database.

Performance Improvements

  • #1163 _bulk_get uses compression inefficiently
  • #1179 Compress WebSocket _changes messages
  • #1423 Performance degradation in distributed index testing post-access work
  • #1503 First-time sync optimized backfill mode

Enhancements

  • #479 Revisit service scripts to handle custom installations and multiple sync_gateway instances
  • #545 Sync Gateway doesn't work with _doc_ids filter / Can't sync individual docs
  • #748 Enable taking a bucket offline/online
  • #881 -bucket param doesn't work in conjunction with config file where bucket not specified
  • #884 Tool to collect sync gateway debugging info
  • #899 Pass old current revision to 'document_changed' filter function
  • #908 Allow an Admin to take a DB Offline
  • #909 Allow Admin to take an Offline DB Online
  • #910 Update _resync to use bucket online/offline
  • #922 Channel Index - Feed Partitioning
  • #923 Channel Index - Index Writes
  • #925 Channel Index - Index Reads
  • #948 SG as a service is not supported on Windows
  • #969 Handle DCP stream end/reconnection
  • #993 Channel Index - User and Role notification
  • #1012 Put bucket in offline mode for n seconds
  • #1013 Automatically put bucket in offline mode when lose TAP feed
  • #1022 Run the service installer during package installation on Linux
  • #1065 Managing hashed vector clock sequences
  • #1066 Refactoring changes feed processing to support clock-based sequences
  • #1072 Distributed index: deal with SG nodes going down
  • #1073 Distributed index: Only open single vbucket stream for cfg document
  • #1075 CBGT: Dead node detection autofailover
  • #1084 Channel backfill when using vector clock sequence
  • #1087 CBGT: Single manager per SG instance
  • #1117 Emit vbucket sequences from access views
  • #1140 [Distributed Index] Fix kvChangeIndex DocChanged() throughput bottleneck
  • #1163 _bulk_get uses compression inefficiently
  • #1176 Add WebHook notifications for bucket online/offline
  • #1179 Compress WebSocket _changes messages
  • #1205 Use bulk gocb operation for GetBulkRaw
  • #1208 Avoid unnecessary channel clock retrieval
  • #1209 Separate out Server header's functional version number from binary build number
  • #1219 Can't purge documents (_purge is not implemented)
  • #1243 Shard clocks to avoid write bottlenecks
  • #1247 Use single gocb BulkOp (BulkSet) for concurrent index writes
  • #1298 [Distributed Index] sync_gateway panic when starting without feed_type.num_shards
  • #1321 Consolidate feed_params and channel_index in config
  • #1340 Change log path used in RPM
  • #1342 Change config file path used in RPM
  • #1349 Integrate Windows service wrapper into installer
  • #1479 Support style=all_docs calls to _changes with a _doc_ids filter
  • #1494 Enable REST retrieval of a running SG config
  • #1503 First-time sync optimized backfill mode

Bug fixes

  • #520 Fail to warn when sync_gateway user does not exist
  • #787 RequireAccess throws even though user has access to "*"
  • #792 Windows: MaxFileDescriptors console warning
  • #807 Tests with large revs: http: panic serving [::1]:59607: can't find rev:
  • #870 Documents missing when requesting _changes in SyncGateway
  • #874 Sync Gateway sometimes returns incorrect last_seq
  • #911 Detection of lost TAP feed impacting service availability
  • #943 Some example JSON configs include non-UTF8 chars
  • #959 Sync Gateway bucket shadowing crashes with error 'panic: parent id "xxx-xxxx" is missing'
  • #976 Http: panic serving runtime error: index out of range on Sync Gateway 1.1 on Ubuntu 12.04.5 x86_64 cause sync failed
  • #991 Panic if Origin header sent in request with no SG config
  • #1007 Large revs with no common parent. Panic serving, can't find rev
  • #1033 SG Panics if _bulk_get is passed empty JSON object
  • #1049 Session disappears immediately with large TTL
  • #1072 Distributed index: deal with SG nodes going down
  • #1083 MaxFileDescriptors setting shouldn't reduce the system defined values
  • #1093 Panic in (*DatabaseContext).getChangesInChannelFromView
  • #1100 [distributed_index] should we support old config format/settings for SG
  • #1111 [distributed_index] startup SG crash in sequence_clock
  • #1153 SG can't be installed as a service on Couchbase SG AMI
  • #1174 LastPolled retrieval not working during performance testing
  • #1200 GET _design fails with "Internal error: http: read on closed response body"
  • #1204 Create sysv-init script for CentOS 5
  • #1213 Changes feed for * channel missing entries
  • #1230 [distributed index] Empty channels trigger redundant clock lookups
  • #1245 Distributed-index changes feed requests has high latency as compared with old sync gateway
  • #1248 Duplicates in _changes feed with distributed index with multiple users and multiple channels
  • #1253 Gocb retry logic: _changes intermittently returning 0 results for distributed index
  • #1259 Cbheartbeat start delay causes DCP stream to not be re-sharded when SG node killed quickly
  • #1260 Race condition in sequence hasher cache
  • #1262 Changes feed not returning the latest revision for few docs
  • #1279 [Distributed Index] Intermittent panic during start up
  • #1281 ConfigServer option and backticks for the sync function break
  • #1286 Removing a node from CB-cluster and rebalance causing writer SG to crash
  • #1289 Recover from gocb timeouts and queue overflow
  • #1298 [Distributed Index] sync_gateway panic when starting without feed_type.num_shards
  • #1299 [Distributed Index] Stale pindex files can cause sync_gateway to launch in an incorrect state
  • #1305 Getting error "Failed to establish a new connection" with Sync gateway when increased the throughput
  • #1307 [Distributed Index] Roles not assigning channels to users correctly
  • #1309 Sync_gateway is going in loop when client is asking for changes.
  • #1317 Non-writer node of SG crashes when launched with other index writer node sync gateways
  • #1321 Consolidate feed_params and channel_index in config
  • #1329 ChangeWaiters failing to release when changes feed closed
  • #1336 [DB Online / Offline] sync_gateway fails to launch intermittently because it is not yet online
  • #1339 Sharded clock cas writes don't retry on cas failure
  • #1345 Set-Cookie response header for SyncGatewaySession should contain path value with /{db}
  • #1377 [DB Online / Offline] - db not returning expected error codes after losing TAP feed and going offline
  • #1379 [Distributed Index] _changes feed return incomplete response with invalid entries
  • #1389 Sync gateway not emitting webhook event when going to offline state
  • #1391 [Distributed Index] Writer memory continually growing during perf tests
  • #1392 [Distributed Index] Index writers intermittantly fail to register with CBGT
  • #1405 Index writer panics under heavy load
  • #1419 Use legacy compression for non-CBL 1.2 user agents
  • #1423 Performance degradation in distributed index testing post-access work
  • #1434 Sync_gateway not generating webhook event when bucket is deleted
  • #1440 [Distributed Index] Intermittent empty results in continuous changes feed
  • #1465 [Distributed Index] Empty doc returned to continuous _changes feed - bulk set issue
  • #1489 Client passing -H "Accept-Encoding: gzip" to changes breaks CloseNotifier
  • #1493 Pass-thru view query is failing via admin api on view created with SG 1.1.1
  • #1524 TodoLite list wasn't correctly shared / deleted tasks didn't propagate using SG DI (pre test-fest)
  • #1556 Views failing if document indexed more than once in a design

Known Issues

  • #422 Replication ordering dependencies can cause sync fn to reject updates
  • #1264 Sync Gateway memory usage climbs continously
  • #1316 Support _doc_ids filter when using distributed index
  • #1371 Not storing OpaqueSet values causes Sync Gateway panic during CBGT reshard
  • #1382 Resync operation only supported in offline state
  • #1527 Inbound REST calls which reset can prevent offline from draining
  • #1536 Improve logging when using sg_accel with non-writer config

Download

You can download this release from Couchbase.com

System Requirements

Sync Gateway 1.2 is compatible with the following editions of Couchbase Server:

Sync Gateway Couchbase Server
1.2 2.2.x
1.2 2.5.x
1.2 3.1
1.2 4.0
1.2 4.1

Support Statement

Version 1.1 was released in June, 2015. With this release of version 1.2, the support window for 1.1 expires in February 2017.

Release Release Date End of Life Date
1.0 May 2014 June 2016
1.1 June 2015 February 2017
1.2 February 2016