I'm having a problem pulling data via Sync Gateway channels.
The way I understand channels is they are basically a form of tag that will allows you to mark a document in a special way.
What I am trying to do
When I close the application, delete the local db, and then reopen the application, I am expecting all of the documents in the channels that were set to be pulled, but instead nothing is pulled.
Setup
I am using Couchbase Lite 1.4.0 and the latest Sync_Gateway.
Sync Gateways config file, I am using the default sync function:
{ "databases": { "db": { "server": "http://127.0.0.1:8091", "username": "db", "password": "pass", "users":{ "user1":{ "password":"pass" } } } } } I am accessing sync gateway in Couchbase lite like so:
private String[] docChannels = new String[]{ "channel1", "channel2", }; private String[] configChannels = new String[]{ "config1", "config2", }; URL url = null; try { url = new URL("http://127.0.0.1:4984/db"); } catch (MalformedURLException e) { e.printStackTrace(); } Replication push = d.createPushReplication(url); Replication pull = d.createPullReplication(url); Replication pullConfig = d.createPullReplication(url); pull.setChannels(Arrays.asList(docChannels)); pullConfig.setChannels(Arrays.asList(configChannels)); pullConfig.setContinuous(false); pull.setContinuous(true); push.setContinuous(true); Authenticator auth = AuthenticatorFactory.createBasicAuthenticator("user1", "pass"); push.setAuthenticator(auth); pull.setAuthenticator(auth); pullConfig.setAuthenticator(auth); push.start(); pullConfig.start(); pull.start(); Whenever I create a document, I add the channels key with a value of ["config1"].
My document's sync info now looks like:
"_sync": { "rev": "1-87cdc8c1fd5e0e4ce1a0897cbd47aca1", "sequence": 4, "recent_sequences": [ 4 ], "history": { "revs": [ "1-87cdc8c1fd5e0e4ce1a0897cbd47aca1" ], "parents": [ -1 ], "channels": [ [ "config1" ] ] }, "channels": { "config1": null }, "time_saved": "2017-09-22T13:20:43.6061974-05:00" } I am not sure what I am doing wrong here. Pushing to the Couchbase server works fine, but my pulling does not.
Thanks.