CBLRestPuller does not catch up with changes

Hi. I just wanted to start off by saying thank you ahead of time.

We have 2 different servers with Couchbase Server (4.5.1) and Sync Gateway (1.3.1) installed: staging and production. Our iOS app is using Couchbase Lite 1.3.1. Upon app install, we are able to push and pull changes to both servers. When connected to the staging server, subsequent app opens result in pushing and pulling working as expected. When connected to our production server, subsequent app opens result only pushing working.

What’s really odd is that the app has been working with both servers until around 3/14. Starting then, we received reports that people were having synchronization issues. The issue wasn’t reliably replicable on our end until 3/18.

Using this, NGINX is installed on both servers and configured with the following:

location / {
    proxy_pass          https://sync_gateway;
    proxy_pass_header   Accept;
    proxy_pass_header   Server;
    proxy_set_header    Upgrade $http_upgrade;
    proxy_set_header    Connection "upgrade";
    proxy_set_header    Host $host;
    proxy_http_version  1.1;
    keepalive_requests  1000;
    keepalive_timeout   360s;
    proxy_read_timeout  360s;
  }

Here are the logs for Sync Gateway on the production server:

11:57:03.395038 HTTP:  #18533: GET /pa_test/_local/254547d23d644ffe5dfb99dbd1a8015bebf83545  (as 6047f117b2e7770184f55f6e)
11:57:03.395546 HTTP+: #18533:     --> 200   (1.0 ms)
11:57:03.399996 HTTP:  #18534: GET /pa_test/_local/1193a31246d9e41c9a72bf3674aaa572b9933e26  (as 6047f117b2e7770184f55f6e)
11:57:03.400189 HTTP+: #18534:     --> 200   (0.9 ms)
11:57:03.500481 HTTP:  #18535: GET /pa_test/_changes?feed=websocket  (as 6047f117b2e7770184f55f6e)
11:57:03.500608 HTTP+: #18535:     --> 101 Upgraded to WebSocket protocol  (0.0 ms)

and here are the logs for Sync Gateway on the staging server:

11:59:17.834658 HTTP:  #344: GET /pa_test/_local/80d4ab9739e24899761651a310bbc43e71273811  (as 5f9aef82073c0d006499497b)
11:59:17.834938 HTTP+: #344:     --> 200   (0.6 ms)
11:59:17.837157 HTTP:  #345: GET /pa_test/_local/ab2c0f1b5313b3069b340a43fd8f63b634bdc8f7  (as 5f9aef82073c0d006499497b)
11:59:17.837441 HTTP+: #345:     --> 200   (0.5 ms)
11:59:17.848211 HTTP:  #346: POST /pa_test/_revs_diff  (as 5f9aef82073c0d006499497b)
11:59:17.848902 HTTP+: #346:     --> 200   (0.9 ms)
11:59:17.989716 HTTP:  #347: GET /pa_test/_changes?feed=websocket  (as 5f9aef82073c0d006499497b)
11:59:17.989856 HTTP+: #347:     --> 101 Upgraded to WebSocket protocol  (0.0 ms)
11:59:18.060880 Changes+: Int sequence multi changes feed...
11:59:18.060937 Changes: MultiChangesFeed({*}, {Since:566477 Limit:0 Conflicts:true IncludeDocs:false Wait:true Continuous:true Terminator:0xc820bc6d20 HeartbeatMs:300000 TimeoutMs:300000 ActiveOnly:false}) ...   (to 5f9aef82073c0d006499497b)
11:59:18.061037 Changes+: MultiChangesFeed: channels expand to channels.TimedSet{"sharedData":channels.VbSequence{VbNo:(*uint16)(nil), Sequence:0x833ab}, "study:5f9ad582073c0d0064994972":channels.VbSequence{VbNo:(*uint16)(nil), Sequence:0x833ab}, "!":channels.VbSequence{VbNo:(*uint16)(nil), Sequence:0x1}, "5f9aef82073c0d006499497b":channels.VbSequence{VbNo:(*uint16)(nil), Sequence:0x833aa}} ...   (to 5f9aef82073c0d006499497b)
11:59:18.061056 DIndex+: [changesFeed] Found 0 changes for channel sharedData
11:59:18.061065 DIndex+: [changesFeed] Found 0 changes for channel study:5f9ad582073c0d0064994972
11:59:18.061079 Cache: getCachedChanges("!", {1 0 0 566477 <nil> <nil> %!d(string=) 0 0 0 %!d(string=)}) --> 0 changes valid from #1
11:59:18.061128 DIndex+: [changesFeed] Found 0 changes for channel !
11:59:18.061237 Cache: getCachedChanges("5f9aef82073c0d006499497b", {1 0 0 566477 <nil> <nil> %!d(string=) 0 0 0 %!d(string=)}) --> 1 changes valid from #566478
11:59:18.061248 DIndex+: [changesFeed] Found 1 changes for channel 5f9aef82073c0d006499497b
11:59:18.061282 Changes+: Sending seq:566487 from channel 5f9aef82073c0d006499497b
11:59:18.061339 Changes+: MultiChangesFeed sending &{Seq:566487 ID:-6bYGZg8P_iu7AyLgt81g0j Deleted:false Removed:{} Doc:map[] Changes:[map[rev:1-9a2508cca43a4cab644bf86a011b835d]] Err:<nil> allRemoved:false branched:false}   (to 5f9aef82073c0d006499497b)
11:59:18.061350 Changes+: MultiChangesFeed waiting...   (to 5f9aef82073c0d006499497b)
11:59:18.061358 Changes+: Waiting for "pa_test"'s count to pass 235
11:59:18.061365 Changes: sending 1 change(s)

The following log types are enabled in the app:

CBLManager.enableLogging("BLIPVerbose")
CBLManager.enableLogging("ChangeTrackerVerbose")
CBLManager.enableLogging("JSONReaderVerbose")
CBLManager.enableLogging("ReachabilityVerbose")
CBLManager.enableLogging("RemoteRequestVerbose")
CBLManager.enableLogging("ServerVerbose")
CBLManager.enableLogging("SyncVerbose")
CBLManager.enableLogging("SyncPerfVerbose")

The main difference I noticed was that CBLWebSocketChangeTracker doesn’t receive a message from the production server but does from the staging server. Here are the app logs for app launches after initial install (production server, pull replication issues):

2021-03-25 10:48:31.754609-0500 Server: CBL_RunLoopServer[0x283362380] Starting server thread ...
2021-03-25 10:48:31.754692-0500 Sync: CBLReplication[from <redacted>]: offline, progress = 0 / 0, err: (null)
2021-03-25 10:48:31.754703-0500 Server: CBL_RunLoopServer[0x283362380]: Server thread starting...
2021-03-25 10:48:31.754778-0500 Sync: CBLReplication[to <redacted>]: offline, progress = 0 / 0, err: (null)
2021-03-25 10:48:31.755751-0500 Sync: CBLRestPuller[<redacted>] STARTING ...
2021-03-25 10:48:31.755808-0500 SyncPerf: CBLRestPuller[<redacted>] STARTING ...
2021-03-25 10:48:31.757596-0500 Reachability: <redacted>:reachable: flags=2; starting...
2021-03-25 10:48:31.757631-0500 Sync: CBLRestPuller[<redacted>]: Reachability state = <redacted>:reachable (02), suspended=0
2021-03-25 10:48:31.757659-0500 Sync: CBLRestPuller[<redacted>]: Going online
2021-03-25 10:48:31.757682-0500 Sync: CBLRestPuller[<redacted>] Progress: set active = 1
2021-03-25 10:48:31.757700-0500 Sync: CBLRestPuller[<redacted>]: postProgressChanged (0/0, active=1 (batch=0, net=1), lastSeq=(null), online=1, error=(null))
2021-03-25 10:48:31.757750-0500 Sync: CBLRestPuller[<redacted>]: Successfully logged in!
2021-03-25 10:48:31.757846-0500 SyncPerf: CBLRestPuller[<redacted>] Getting remote checkpoint
2021-03-25 10:48:31.758009-0500 Sync: <CBLRemoteSession: 0x28169b700>: GET /pa_test/_local/1193a31246d9e41c9a72bf3674aaa572b9933e26
2021-03-25 10:48:31.758051-0500 RemoteRequest: Added Authorization header for CBLPasswordAuthorizer[6047f117b2e7770184f55f6e/****]
2021-03-25 10:48:31.758081-0500 RemoteRequest: CBLRemoteJSONRequest[GET <redacted>/_local/1193a31246d9e41c9a72bf3674aaa572b9933e26]: Starting...
2021-03-25 10:48:31.758144-0500 DEALLOC CBLRemoteLogin[<redacted>]
2021-03-25 10:48:31.758164-0500 RemoteRequest: CBLRemoteSession starting CBLRemoteJSONRequest[GET <redacted>/_local/1193a31246d9e41c9a72bf3674aaa572b9933e26]
2021-03-25 10:48:31.758177-0500 Sync: CBLRestPuller[<redacted>]: postProgressChanged (0/0, active=1 (batch=0, net=1), lastSeq=(null), online=1, error=(null))
2021-03-25 10:48:31.758946-0500 Sync: CBLRestPusher[<redacted>] STARTING ...
2021-03-25 10:48:31.759059-0500 SyncPerf: CBLRestPusher[<redacted>] STARTING ...
2021-03-25 10:48:31.760358-0500 Reachability: <redacted>:reachable: flags=2; starting...
2021-03-25 10:48:31.760390-0500 Sync: CBLRestPusher[<redacted>]: Reachability state = <redacted>:reachable (02), suspended=0
2021-03-25 10:48:31.760408-0500 Sync: CBLRestPusher[<redacted>]: Going online
2021-03-25 10:48:31.760425-0500 Sync: CBLRestPusher[<redacted>] Progress: set active = 1
2021-03-25 10:48:31.760440-0500 Sync: CBLRestPusher[<redacted>]: postProgressChanged (0/0, active=1 (batch=0, net=1), lastSeq=(null), online=1, error=(null))
2021-03-25 10:48:31.760482-0500 Sync: CBLRestPusher[<redacted>]: Successfully logged in!
2021-03-25 10:48:31.760769-0500 Sync: CBLReplication[from <redacted>]: active, progress = 0 / 0, err: (null)
2021-03-25 10:48:31.761885-0500 SyncPerf: CBLRestPusher[<redacted>] Getting remote checkpoint
2021-03-25 10:48:31.762008-0500 Sync: <CBLRemoteSession: 0x2816e44b0>: GET /pa_test/_local/254547d23d644ffe5dfb99dbd1a8015bebf83545
2021-03-25 10:48:31.762241-0500 RemoteRequest: Added Authorization header for CBLPasswordAuthorizer[6047f117b2e7770184f55f6e/****]
2021-03-25 10:48:31.762388-0500 RemoteRequest: CBLRemoteJSONRequest[GET <redacted>/_local/254547d23d644ffe5dfb99dbd1a8015bebf83545]: Starting...
2021-03-25 10:48:31.762673-0500 DEALLOC CBLRemoteLogin[<redacted>]
2021-03-25 10:48:31.762698-0500 Sync: CBLRestPusher[<redacted>]: postProgressChanged (0/0, active=1 (batch=0, net=1), lastSeq=(null), online=1, error=(null))
2021-03-25 10:48:31.762954-0500 RemoteRequest: CBLRemoteSession starting CBLRemoteJSONRequest[GET <redacted>/_local/254547d23d644ffe5dfb99dbd1a8015bebf83545]
2021-03-25 10:48:31.776829-0500 Sync: CBLReplication[to <redacted>]: active, progress = 0 / 0, err: (null)
2021-03-25 10:48:31.819134-0500 RemoteRequest: Got challenge for CBLRemoteJSONRequest[GET <redacted>/_local/1193a31246d9e41c9a72bf3674aaa572b9933e26]: method=NSURLAuthenticationMethodServerTrust, err=(null)
2021-03-25 10:48:31.823651-0500 RemoteRequest:     useCredential for trust: <SecTrustRef: 0x2807e0360>
2021-03-25 10:48:31.823706-0500 RemoteRequest: Got challenge for CBLRemoteJSONRequest[GET <redacted>/_local/254547d23d644ffe5dfb99dbd1a8015bebf83545]: method=NSURLAuthenticationMethodServerTrust, err=(null)
2021-03-25 10:48:31.825695-0500 RemoteRequest:     useCredential for trust: <SecTrustRef: 0x2807e0480>
2021-03-25 10:48:31.849852-0500 Sync: CBLRestPuller[<redacted>]: Server is Couchbase Sync Gateway/1.3.1
2021-03-25 10:48:31.849881-0500 RemoteRequest: CBLRemoteJSONRequest[GET <redacted>/_local/1193a31246d9e41c9a72bf3674aaa572b9933e26]: Got response, status 200
2021-03-25 10:48:31.849959-0500 RemoteRequest: CBLRemoteJSONRequest[GET <redacted>/_local/1193a31246d9e41c9a72bf3674aaa572b9933e26]: Got 110 bytes
2021-03-25 10:48:31.850005-0500 RemoteRequest: CBLRemoteSession done with CBLRemoteJSONRequest[GET <redacted>/_local/1193a31246d9e41c9a72bf3674aaa572b9933e26]
2021-03-25 10:48:31.850016-0500 RemoteRequest: CBLRemoteJSONRequest[GET <redacted>/_local/1193a31246d9e41c9a72bf3674aaa572b9933e26]: Finished loading
2021-03-25 10:48:31.850066-0500 SyncPerf: CBLRestPuller[<redacted>] Got remote checkpoint
2021-03-25 10:48:31.850146-0500 Sync: CBLRestPuller[<redacted>]: Replicating from lastSequence=10166464
2021-03-25 10:48:31.850243-0500 Sync: CBLRestPuller[<redacted>] starting ChangeTracker: mode=3, since=10166464
2021-03-25 10:48:31.850310-0500 ChangeTracker: CBLWebSocketChangeTracker[0x280acac10 pa_test]: Starting...
2021-03-25 10:48:31.850404-0500 Sync: CBLWebSocketChangeTracker[0x280acac10 pa_test]: GET //redacted:443/pa_test/_changes?feed=websocket
2021-03-25 10:48:31.850934-0500 ChangeTracker: CBLWebSocketChangeTracker[0x280acac10 pa_test]: Started... <<redacted>/_changes?feed=websocket>
2021-03-25 10:48:31.855068-0500 Sync: CBLRestPusher[<redacted>]: Server is Couchbase Sync Gateway/1.3.1
2021-03-25 10:48:31.855099-0500 RemoteRequest: CBLRemoteJSONRequest[GET <redacted>/_local/254547d23d644ffe5dfb99dbd1a8015bebf83545]: Got response, status 200
2021-03-25 10:48:31.855158-0500 RemoteRequest: CBLRemoteJSONRequest[GET <redacted>/_local/254547d23d644ffe5dfb99dbd1a8015bebf83545]: Got 105 bytes
2021-03-25 10:48:31.855219-0500 RemoteRequest: CBLRemoteSession done with CBLRemoteJSONRequest[GET <redacted>/_local/254547d23d644ffe5dfb99dbd1a8015bebf83545]
2021-03-25 10:48:31.855222-0500 RemoteRequest: CBLRemoteJSONRequest[GET <redacted>/_local/254547d23d644ffe5dfb99dbd1a8015bebf83545]: Finished loading
2021-03-25 10:48:31.855250-0500 SyncPerf: CBLRestPusher[<redacted>] Got remote checkpoint
2021-03-25 10:48:31.855267-0500 Sync: CBLRestPusher[<redacted>]: Replicating from lastSequence=146
2021-03-25 10:48:31.855398-0500 Sync: CBLRestPusher[<redacted>]: Received 0 revs
2021-03-25 10:48:31.855423-0500 Sync: CBLRestPusher[<redacted>] Progress: set active = 0
2021-03-25 10:48:31.855483-0500 Sync: CBLRestPusher[<redacted>]: postProgressChanged (0/0, active=0 (batch=0, net=0), lastSeq=146, online=1, error=(null))
2021-03-25 10:48:31.855547-0500 SyncPerf: CBLRestPusher[<redacted>] is now inactive
2021-03-25 10:48:31.855656-0500 Sync: CBLReplication[to <redacted>]: idle, progress = 0 / 0, err: (null)
2021-03-25 10:48:32.076776-0500 ChangeTracker: CBLWebSocketChangeTracker[0x280acac10 pa_test]: WebSocket opened

And here are the logs for app launches after initial install (staging server, no issues):

11:05:49.775| Server: CBL_RunLoopServer[0x600000a5c9c0] Starting server thread ...
11:05:49.776| Sync: CBLReplication[from redacted]: offline, progress = 0 / 0, err: (null)
11:05:49.776β€– Server: CBL_RunLoopServer[0x600000a5c9c0]: Server thread starting...
11:05:49.776| Sync: CBLReplication[to redacted]: offline, progress = 0 / 0, err: (null)
11:05:49.778β€– Sync: CBLRestPuller[redacted] STARTING ...
11:05:49.778β€– SyncPerf: CBLRestPuller[redacted] STARTING ...
11:05:49.780β€– Reachability: <redacted>:reachable: flags=2; starting...
11:05:49.780β€– Sync: CBLRestPuller[redacted]: Reachability state = <redacted>:reachable (02), suspended=0
11:05:49.780β€– Sync: CBLRestPuller[redacted]: Going online
11:05:49.781β€– Sync: CBLRestPuller[redacted] Progress: set active = 1
11:05:49.781β€– Sync: CBLRestPuller[redacted]: postProgressChanged (0/0, active=1 (batch=0, net=1), lastSeq=(null), online=1, error=(null))
11:05:49.781β€– Sync: CBLRestPuller[redacted]: Successfully logged in!
11:05:49.781β€– SyncPerf: CBLRestPuller[redacted] Getting remote checkpoint
11:05:49.782β€– Sync: <CBLRemoteSession: 0x600002fd4aa0>: GET /pa_test/_local/80d4ab9739e24899761651a310bbc43e71273811
11:05:49.782β€– RemoteRequest: Added Authorization header for CBLPasswordAuthorizer[5f9aef82073c0d006499497b/****]
11:05:49.782β€– RemoteRequest: CBLRemoteJSONRequest[GET redacted/_local/80d4ab9739e24899761651a310bbc43e71273811]: Starting...
11:05:49.782β€– RemoteRequest: CBLRemoteSession starting CBLRemoteJSONRequest[GET redacted/_local/80d4ab9739e24899761651a310bbc43e71273811]
11:05:49.782β€– DEALLOC CBLRemoteLogin[redacted]
11:05:49.782β€– Sync: CBLRestPuller[redacted]: postProgressChanged (0/0, active=1 (batch=0, net=1), lastSeq=(null), online=1, error=(null))
11:05:49.783β€– Sync: CBLRestPusher[redacted] STARTING ...
11:05:49.783β€– SyncPerf: CBLRestPusher[redacted] STARTING ...
11:05:49.784β€– Reachability: <redacted>:reachable: flags=2; starting...
11:05:49.784β€– Sync: CBLRestPusher[redacted]: Reachability state = <redacted>:reachable (02), suspended=0
11:05:49.784β€– Sync: CBLRestPusher[redacted]: Going online
11:05:49.784β€– Sync: CBLRestPusher[redacted] Progress: set active = 1
11:05:49.784β€– Sync: CBLRestPusher[redacted]: postProgressChanged (0/0, active=1 (batch=0, net=1), lastSeq=(null), online=1, error=(null))
11:05:49.785β€– Sync: CBLRestPusher[redacted]: Successfully logged in!
11:05:49.785β€– SyncPerf: CBLRestPusher[redacted] Getting remote checkpoint
11:05:49.785β€– Sync: <CBLRemoteSession: 0x600002fd4c30>: GET /pa_test/_local/ab2c0f1b5313b3069b340a43fd8f63b634bdc8f7
11:05:49.785β€– RemoteRequest: Added Authorization header for CBLPasswordAuthorizer[5f9aef82073c0d006499497b/****]
11:05:49.785β€– RemoteRequest: CBLRemoteJSONRequest[GET redacted/_local/ab2c0f1b5313b3069b340a43fd8f63b634bdc8f7]: Starting...
11:05:49.785β€– DEALLOC CBLRemoteLogin[redacted]
11:05:49.785β€– RemoteRequest: CBLRemoteSession starting CBLRemoteJSONRequest[GET redacted/_local/ab2c0f1b5313b3069b340a43fd8f63b634bdc8f7]
11:05:49.785β€– Sync: CBLRestPusher[redacted]: postProgressChanged (0/0, active=1 (batch=0, net=1), lastSeq=(null), online=1, error=(null))
11:05:49.798| Sync: CBLReplication[from redacted]: active, progress = 0 / 0, err: (null)
11:05:49.798| Sync: CBLReplication[to redacted]: active, progress = 0 / 0, err: (null)
11:05:49.865β€– RemoteRequest: Got challenge for CBLRemoteJSONRequest[GET redacted/_local/80d4ab9739e24899761651a310bbc43e71273811]: method=NSURLAuthenticationMethodServerTrust, err=(null)
11:05:49.872β€– RemoteRequest:     useCredential for trust: <SecTrustRef: 0x600003e98000>
11:05:49.872β€– RemoteRequest: Got challenge for CBLRemoteJSONRequest[GET redacted/_local/ab2c0f1b5313b3069b340a43fd8f63b634bdc8f7]: method=NSURLAuthenticationMethodServerTrust, err=(null)
11:05:49.879β€– RemoteRequest:     useCredential for trust: <SecTrustRef: 0x600003e943f0>
11:05:49.947β€– Sync: CBLRestPuller[redacted]: Server is Couchbase Sync Gateway/1.3.1
11:05:49.947β€– RemoteRequest: CBLRemoteJSONRequest[GET redacted/_local/80d4ab9739e24899761651a310bbc43e71273811]: Got response, status 200
11:05:49.947β€– Sync: CBLRestPusher[redacted]: Server is Couchbase Sync Gateway/1.3.1
11:05:49.947β€– RemoteRequest: CBLRemoteSession done with CBLRemoteJSONRequest[GET redacted/_local/80d4ab9739e24899761651a310bbc43e71273811]
11:05:49.947β€– RemoteRequest: CBLRemoteJSONRequest[GET redacted/_local/ab2c0f1b5313b3069b340a43fd8f63b634bdc8f7]: Got response, status 200
11:05:49.948β€– RemoteRequest: CBLRemoteJSONRequest[GET redacted/_local/80d4ab9739e24899761651a310bbc43e71273811]: Got 108 bytes
11:05:49.948β€– RemoteRequest: CBLRemoteJSONRequest[GET redacted/_local/80d4ab9739e24899761651a310bbc43e71273811]: Finished loading
11:05:49.948β€– SyncPerf: CBLRestPuller[redacted] Got remote checkpoint
11:05:49.948β€– RemoteRequest: CBLRemoteSession done with CBLRemoteJSONRequest[GET redacted/_local/ab2c0f1b5313b3069b340a43fd8f63b634bdc8f7]
11:05:49.948β€– Sync: CBLRestPuller[redacted]: Replicating from lastSequence=566343
11:05:49.948β€– Sync: CBLRestPuller[redacted] starting ChangeTracker: mode=3, since=566343
11:05:49.949β€– ChangeTracker: CBLWebSocketChangeTracker[0x6000033b3750 pa_test]: Starting...
11:05:49.949β€– Sync: CBLWebSocketChangeTracker[0x6000033b3750 pa_test]: GET //redacted:443/pa_test/_changes?feed=websocket
11:05:49.955β€– ChangeTracker: CBLWebSocketChangeTracker[0x6000033b3750 pa_test]: Started... <redacted/_changes?feed=websocket>
11:05:49.955β€– RemoteRequest: CBLRemoteJSONRequest[GET redacted/_local/ab2c0f1b5313b3069b340a43fd8f63b634bdc8f7]: Got 105 bytes
11:05:49.955β€– RemoteRequest: CBLRemoteJSONRequest[GET redacted/_local/ab2c0f1b5313b3069b340a43fd8f63b634bdc8f7]: Finished loading
11:05:49.955β€– SyncPerf: CBLRestPusher[redacted] Got remote checkpoint
11:05:49.955β€– Sync: CBLRestPusher[redacted]: Replicating from lastSequence=213
11:05:49.956β€– Sync: CBLRestPusher[redacted]: Received 0 revs
11:05:49.956β€– Sync: CBLRestPusher[redacted] Progress: set active = 0
11:05:49.956β€– Sync: CBLRestPusher[redacted]: postProgressChanged (0/0, active=0 (batch=0, net=0), lastSeq=213, online=1, error=(null))
11:05:49.956β€– SyncPerf: CBLRestPusher[redacted] is now inactive
11:05:49.956| Sync: CBLReplication[to redacted]: idle, progress = 0 / 0, err: (null)
11:05:50.145β€– ChangeTracker: CBLWebSocketChangeTracker[0x6000033b3750 pa_test]: WebSocket opened
11:05:50.199β€– ChangeTracker: CBLWebSocketChangeTracker[0x6000033b3750 pa_test]: Got a message: []
11:05:50.199β€– ChangeTracker: CBLWebSocketChangeTracker[0x6000033b3750 pa_test]: read 2 bytes
11:05:50.199β€– JSONReader: Start with <CBLTemplateMatcher: 0x600000a594a0>
11:05:50.199β€– JSONReader: Start array
11:05:50.199β€– JSONReader: Pushed <CBLTemplateMatcher: 0x600000bb1a20>
11:05:50.199β€– JSONReader: End array
11:05:50.199β€– JSONReader: Popped: now <CBLTemplateMatcher: 0x600000a594a0>
11:05:50.199β€– ChangeTracker: CBLWebSocketChangeTracker[0x6000033b3750 pa_test]: caught up!
11:05:50.199β€– Sync: CBLRestPuller[redacted]: Caught up with changes!
11:05:50.199β€– Sync: CBLRestPuller[redacted] Progress: set active = 0
11:05:50.199β€– Sync: CBLRestPuller[redacted]: postProgressChanged (0/0, active=0 (batch=0, net=0), lastSeq=566343, online=1, error=(null))
11:05:50.199β€– SyncPerf: CBLRestPuller[redacted] is now inactive
11:05:50.199| Sync: CBLReplication[from redacted]: idle, progress = 0 / 0, err: (null)
11:05:50.326β€– Sync: CBLRestPusher[redacted]: Queuing #214 {-R5vTw1TvzF-55rZKSAWBYF #1-ac25b462c7a0cdb9cb7eb469c7e98539}
11:05:50.326β€– Sync: CBLRestPusher[redacted] Progress: set active = 1
11:05:50.326β€– Sync: CBLRestPusher[redacted]: postProgressChanged (0/0, active=1 (batch=1, net=0), lastSeq=213, online=1, error=(null))
11:05:50.326β€– Sync: *** CBLRestPusher[redacted]: BEGIN processInbox (1 sequences)
11:05:50.326β€– Sync: <CBLRemoteSession: 0x600002fd4c30>: POST /pa_test/_revs_diff
11:05:50.326β€– RemoteRequest: Added Authorization header for CBLPasswordAuthorizer[5f9aef82073c0d006499497b/****]
11:05:50.326β€– RemoteRequest: CBLRemoteJSONRequest[POST redacted/_revs_diff]: Starting...
11:05:50.326β€– Sync: *** CBLRestPusher[redacted]: END processInbox (lastSequence=213)
11:05:50.326β€– RemoteRequest: CBLRemoteSession starting CBLRemoteJSONRequest[POST redacted/_revs_diff]
11:05:50.340β€– RemoteRequest: CBLRemoteJSONRequest[POST redacted/_revs_diff]: Got response, status 200
11:05:50.341β€– RemoteRequest: CBLRemoteJSONRequest[POST redacted/_revs_diff]: Got 79 bytes
11:05:50.341β€– RemoteRequest: CBLRemoteSession done with CBLRemoteJSONRequest[POST redacted/_revs_diff]
11:05:50.341β€– RemoteRequest: CBLRemoteJSONRequest[POST redacted/_revs_diff]: Finished loading
11:05:50.341β€– Sync: CBLRestPusher[redacted]: Sending 1 revisions
11:05:50.341β€– Sync: CBLRestPusher[redacted]: Sending (
    "{-R5vTw1TvzF-55rZKSAWBYF #1-ac25b462c7a0cdb9cb7eb469c7e98539}"
)
11:05:50.341β€– Sync: CBLRestPusher[redacted]: postProgressChanged (0/1, active=1 (batch=0, net=1), lastSeq=213, online=1, error=(null))
11:05:50.341β€– Sync: <CBLRemoteSession: 0x600002fd4c30>: POST /pa_test/_bulk_docs
11:05:50.341β€– RemoteRequest: Added Authorization header for CBLPasswordAuthorizer[5f9aef82073c0d006499497b/****]
11:05:50.342β€– RemoteRequest: CBLRemoteJSONRequest[POST redacted/_bulk_docs]: Starting...
11:05:50.342β€– RemoteRequest: CBLRemoteSession starting CBLRemoteJSONRequest[POST redacted/_bulk_docs]
11:05:50.357β€– RemoteRequest: CBLRemoteJSONRequest[POST redacted/_bulk_docs]: Got response, status 201
11:05:50.358β€– RemoteRequest: CBLRemoteJSONRequest[POST redacted/_bulk_docs]: Got 97 bytes
11:05:50.358β€– RemoteRequest: CBLRemoteSession done with CBLRemoteJSONRequest[POST redacted/_bulk_docs]
11:05:50.358β€– RemoteRequest: CBLRemoteJSONRequest[POST redacted/_bulk_docs]: Finished loading
11:05:50.358β€– Sync: CBLRestPusher[redacted]: Setting lastSequence to 214 (from 213)
11:05:50.358β€– Sync: CBLRestPusher[redacted]: postProgressChanged (0/1, active=1 (batch=0, net=1), lastSeq=214, online=1, error=(null))
11:05:50.358β€– Sync: CBLRestPusher[redacted]: Sent (
    "{-R5vTw1TvzF-55rZKSAWBYF #1-ac25b462c7a0cdb9cb7eb469c7e98539}"
)
11:05:50.358β€– Sync: CBLRestPusher[redacted] Progress: 1 / 1
11:05:50.358β€– Sync: CBLRestPusher[redacted]: postProgressChanged (1/1, active=1 (batch=0, net=1), lastSeq=214, online=1, error=(null))
11:05:50.358β€– Sync: CBLRestPusher[redacted] Progress: set active = 0
11:05:50.358β€– Sync: CBLRestPusher[redacted]: postProgressChanged (1/1, active=0 (batch=0, net=0), lastSeq=214, online=1, error=(null))
11:05:50.358β€– SyncPerf: CBLRestPusher[redacted] is now inactive
11:05:50.422| Sync: CBLReplication[to redacted]: active, progress = 0 / 0, err: (null)
11:05:50.422| Sync: CBLReplication[to redacted]: active, progress = 0 / 1, err: (null)
11:05:50.422| Sync: CBLReplication[to redacted]: idle, progress = 1 / 1, err: (null)
11:05:51.686β€– ChangeTracker: CBLWebSocketChangeTracker[0x6000033b3750 pa_test]: Got a message: {length = 117, bytes = 0x1f8b0800 00096e88 00ff8aae 562a4e2d ... 6b630100 0000ffff }
11:05:51.686β€– ChangeTracker: CBLWebSocketChangeTracker[0x6000033b3750 pa_test]: read 104 bytes
11:05:51.686β€– JSONReader: Start with <CBLTemplateMatcher: 0x600000bb49c0>
11:05:51.686β€– JSONReader: Start array
11:05:51.686β€– JSONReader: Pushed <CBLTemplateMatcher: 0x600000bb4420>
11:05:51.686β€– JSONReader: Start object
11:05:51.686β€– JSONReader: Pushed <CBLChangeMatcher: 0x6000019442c0>
11:05:51.686β€– JSONReader: Object key: "seq"
11:05:51.686β€– JSONReader: Match 566477
11:05:51.686β€– JSONReader: Object key: "id"
11:05:51.686β€– JSONReader: Match "-R5vTw1TvzF-55rZKSAWBYF"
11:05:51.686β€– JSONReader: Object key: "changes"
11:05:51.686β€– JSONReader: Start array
11:05:51.686β€– JSONReader: Pushed <CBLTemplateMatcher: 0x600000bb45c0>
11:05:51.686β€– JSONReader: Start object
11:05:51.686β€– JSONReader: Pushed <CBLRevInfoMatcher: 0x600000bb4220>
11:05:51.686β€– JSONReader: Object key: "rev"
11:05:51.686β€– JSONReader: Match "1-ac25b462c7a0cdb9cb7eb469c7e98539"
11:05:51.686β€– JSONReader: End object
11:05:51.686β€– JSONReader: Popped: now <CBLTemplateMatcher: 0x600000bb45c0>
11:05:51.686β€– JSONReader: End array
11:05:51.686β€– JSONReader: Popped: now <CBLChangeMatcher: 0x6000019442c0>
11:05:51.686β€– JSONReader: End object
11:05:51.687β€– Sync: CBLRestPuller[redacted]: postProgressChanged (0/1, active=0 (batch=0, net=0), lastSeq=566343, online=1, error=(null))
11:05:51.687β€– Sync: CBLRestPuller[redacted]: Received #566477 {-R5vTw1TvzF-55rZKSAWBYF #1-ac25b462c7a0cdb9cb7eb469c7e98539}
11:05:51.687β€– Sync: CBLRestPuller[redacted] Progress: set active = 1
11:05:51.687β€– Sync: CBLRestPuller[redacted]: postProgressChanged (0/1, active=1 (batch=1, net=0), lastSeq=566343, online=1, error=(null))
11:05:51.692β€– JSONReader: Popped: now <CBLTemplateMatcher: 0x600000bb4420>
11:05:51.693β€– JSONReader: End array
11:05:51.693β€– JSONReader: Popped: now <CBLTemplateMatcher: 0x600000bb49c0>
11:05:51.693β€– ChangeTracker: CBLWebSocketChangeTracker[0x6000033b3750 pa_test]: RESUME WebSocket
11:05:51.693β€– ChangeTracker: CBLWebSocketChangeTracker[0x6000033b3750 pa_test]: Got a message: 
11:05:51.693β€– Sync: *** CBLRestPuller[redacted]: BEGIN processInbox (1 sequences)
11:05:51.693| Sync: CBLReplication[from redacted]: active, progress = 0 / 1, err: (null)
11:05:51.693β€– SyncPerf: CBLRestPuller[redacted]: Processing 1 changes
11:05:51.693β€– Sync: CBLRestPuller[redacted]: Looking up (
    "{-R5vTw1TvzF-55rZKSAWBYF #1-ac25b462c7a0cdb9cb7eb469c7e98539}"
)
11:05:51.693β€– Sync: CBLRestPuller[redacted] Progress: 1 / 1
11:05:51.693β€– Sync: CBLRestPuller[redacted]: postProgressChanged (1/1, active=1 (batch=0, net=0), lastSeq=566343, online=1, error=(null))
11:05:51.693β€– Sync: CBLRestPuller[redacted]: no new remote revisions to fetch
11:05:51.693β€– Sync: CBLRestPuller[redacted]: Setting lastSequence to 566477 (from 566343)
11:05:51.693β€– Sync: CBLRestPuller[redacted]: postProgressChanged (1/1, active=1 (batch=0, net=0), lastSeq=566477, online=1, error=(null))
11:05:51.693β€– Sync: *** CBLRestPuller[redacted]: END processInbox (lastSequence=566477)
11:05:51.693β€– Sync: CBLRestPuller[redacted] Progress: set active = 0
11:05:51.693β€– Sync: CBLRestPuller[redacted]: postProgressChanged (1/1, active=0 (batch=0, net=0), lastSeq=566477, online=1, error=(null))
11:05:51.693β€– SyncPerf: CBLRestPuller[redacted] is now inactive
11:05:51.693| Sync: CBLReplication[from redacted]: idle, progress = 1 / 1, err: (null)
11:05:55.363β€– Sync: CBLRestPusher[redacted] checkpointing sequence=214
11:05:55.363β€– Sync: <CBLRemoteSession: 0x600002fd4c30>: PUT /pa_test/_local/ab2c0f1b5313b3069b340a43fd8f63b634bdc8f7
11:05:55.363β€– RemoteRequest: Added Authorization header for CBLPasswordAuthorizer[5f9aef82073c0d006499497b/****]
11:05:55.363β€– RemoteRequest: CBLRemoteJSONRequest[PUT redacted/_local/ab2c0f1b5313b3069b340a43fd8f63b634bdc8f7]: Starting...
11:05:55.363β€– RemoteRequest: CBLRemoteSession starting CBLRemoteJSONRequest[PUT redacted/_local/ab2c0f1b5313b3069b340a43fd8f63b634bdc8f7]
11:05:55.380β€– RemoteRequest: CBLRemoteJSONRequest[PUT redacted/_local/ab2c0f1b5313b3069b340a43fd8f63b634bdc8f7]: Got response, status 201
11:05:55.381β€– RemoteRequest: CBLRemoteJSONRequest[PUT redacted/_local/ab2c0f1b5313b3069b340a43fd8f63b634bdc8f7]: Got 92 bytes
11:05:55.381β€– RemoteRequest: CBLRemoteJSONRequest[PUT redacted/_local/ab2c0f1b5313b3069b340a43fd8f63b634bdc8f7]: Finished loading
11:05:55.381β€– RemoteRequest: CBLRemoteSession done with CBLRemoteJSONRequest[PUT redacted/_local/ab2c0f1b5313b3069b340a43fd8f63b634bdc8f7]
11:05:55.381β€– Sync: CBLRestPusher[redacted] saved remote checkpoint '214' (_rev=0-8)
11:05:56.696β€– Sync: CBLRestPuller[redacted] checkpointing sequence=566477
11:05:56.696β€– Sync: <CBLRemoteSession: 0x600002fd4aa0>: PUT /pa_test/_local/80d4ab9739e24899761651a310bbc43e71273811
11:05:56.696β€– RemoteRequest: Added Authorization header for CBLPasswordAuthorizer[5f9aef82073c0d006499497b/****]
11:05:56.696β€– RemoteRequest: CBLRemoteJSONRequest[PUT redacted/_local/80d4ab9739e24899761651a310bbc43e71273811]: Starting...
11:05:56.697β€– RemoteRequest: CBLRemoteSession starting CBLRemoteJSONRequest[PUT redacted/_local/80d4ab9739e24899761651a310bbc43e71273811]
11:05:56.708β€– RemoteRequest: CBLRemoteJSONRequest[PUT redacted/_local/80d4ab9739e24899761651a310bbc43e71273811]: Got response, status 201
11:05:56.708β€– RemoteRequest: CBLRemoteJSONRequest[PUT redacted/_local/80d4ab9739e24899761651a310bbc43e71273811]: Got 92 bytes
11:05:56.708β€– RemoteRequest: CBLRemoteSession done with CBLRemoteJSONRequest[PUT redacted/_local/80d4ab9739e24899761651a310bbc43e71273811]
11:05:56.708β€– RemoteRequest: CBLRemoteJSONRequest[PUT redacted/_local/80d4ab9739e24899761651a310bbc43e71273811]: Finished loading
11:05:56.708β€– Sync: CBLRestPuller[redacted] saved remote checkpoint '566477' (_rev=0-8)
1 Like

Following, we have had a similar issue without any luck yet!

I do not have an answer to your question - hopefully some body does, but want to highlight that the versions of software that you are using is very dated and well past End-Of-Life period. You should seriously consider upgrading to newer, supported and maintained version of software