1.2.1
As part of this release we had 232 commits which resulted in 59 issues being closed.
This is a patch release.
Performance Improvements
- #987
URL.equals
blocks on DNS lookup - #990 Unnecessary boxing/unboxing when parsing Long column in SQLiteViewStore
- #992 Unnecessary synchronization due to using
StringBuffer
local variables - #994 Repeated byte array conversion of a string constant in SQLiteStore documentPropertiesFromJSON
- #1001 Refactor out duplicate method call in
ReplicationInternal.transformRevision
- #1018 Static Analyze: Performance issues - part 1
Enhancements
- #1008 External property on database change event
- #1013 Static Analyze: Verbose or redundant code constructs
- #1064 Apply pause logic to queued changes in beginReplicating()
- #1074 Enhance logging information of replicator thread
Bugs
- #976 Pull replication not working when device goes offline and back online
- #985 Missing 'throw' keywords when attempting to re-throw an exception
- #1009 Static Analyze: XML issues
- #1020 Static Analyze: Imports issues
- #1022 Static Analyze: Performance - static method
- #1024 Static Analyze: Remove Unused java class
- #1028 Improve logging for local check point conflicted error
- #1030 Requests to Listener in pending state
- #1033 Requests pending with POST _bulk_docs
- #1036 DELETE /db causing the Listener to hang
- #1041 Custom property with the name 'type' results in an exception
- #1043 Listener exception in remote database of a replication
- #1047 Push replication skipped 20 documents
- #1050 Implement non-problematic flow control logic for push replicator
- #1052 Connection in Router.change(ChangeEvent) is critical section
- #1061 NullPointerException in Implementation of Validator
- #1068 Pull replication skipped documents
- #1069 Deleting database and stopping replications at the same time
- #1076 Batcher inbox.size() == 0 is not good enough to check if Batcher is empty.
- #1082 Impossible to get non-reduced view from CBL Listener
- #1092 Push replicator might skip some documents under unstable network connectivity
- #1093 Listener does not accept new connection
- #1104 Push replicator stops unexpectedly with CBL Listener
- #1106 DuplicatedChangeTrackers
- #1108 Too many open files error on push replication
- #1110 PUT with Content-Type other than application/json succeeds
- #1112 Multiple ChangeTrackers are started (Scenario 2)
- #1114 Thread stuck in
RemoteRequestRetry.get
- #1116 Multiple ChangeTrackers are started (Scenario 3)
- #1122 Pull and Push replicator stops during replication
- #1124 Test: Unit Test failure on jenkins
- #1129 [Scenario 1] Pusher missing docs: Potential race condition when calling PusherInternal.removePending()
- #1130 Current implementation of shouldRetryDownload() could cause missing document without restart replicator
- #1131 UnitTest, ReplicatoinTest.testStartReplicationClosedDb(), fails with recent commit.
- #1135 [Scenario 2] Pusher missing docs: Last sequence jump during replication retry
- #1136 Push Replicator causes dead-lock in case of setting RemoteRequestExecutor thread-pool size 1
- #1141 Thread-waitForPendingFutures is leaking
- #1143 Sequence number is not set in RevisionInternal when Changes are pull replicated
- #1147 [Scenario 4] Missing changes in Database Change Notification
- #1149 Push replicator keeps postponing the retry with error if Database.changed() events are fired continuously.
- #1151 Pull replicator keeps postponing the retry with error if ChangeTracker receives changes continuously.
- #1153 Listener returns incorrect version string for dev builds
- #1154 Should not call
parentReplication.isPull()
from ReplicatonInternal - #1157 Replication.stop() sometimes fails to stop pull replication
- #1158 ReplicationInternal.stop() never executed.
- #1163 Replicator sends duplicated Replicator state.
- #1173 Zip file contains duplicated jar and aar files
- #1174 Document's changeListeners list should be thread safe
- #1180 Router: PUT /{db}/{doc} If-Match header is not supported
Where to get it
You can download this release from Couchbase.com