1.2.0
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
Bugs
- #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
Where to get it
You can download this release from Couchbase.com