Scenario:
iPad running Couchbase Lite 1.3.1
Java running Couchbase Lite 1.3.1
The Java has a listener setup.
The iPad has both a push and pull set to the Java’s listener.
Issue:
Data pushes from the iPad to the Java correctly, but changes from the Java are not being pulled to the iPad.
Findings:
Here are some logs from the iPad:
2016-10-07 12:10:01.046 REDACTED[2159:4312951] ChangeTracker: CBLSocketChangeTracker[0x158242f70 bucket1_thewurst2743_thewurst2743]: Starting...
2016-10-07 12:10:01.046 REDACTED[2159:4312951] Sync: CBLSocketChangeTracker[0x158242f70 bucket1_thewurst2743_thewurst2743]: POST //192.168.0.18:10000/bucket1_thewurst2743_thewurst2743/_changes?feed=normal&heartbeat=300000&style=all_docs
2016-10-07 12:10:01.047 REDACTED[2159:4312951] ChangeTracker: Changes feed using proxy settings {
ExceptionsList = (
"*.local",
"169.254/16"
);
FTPPassive = 1;
"__SCOPED__" = {
en0 = {
ExceptionsList = (
"*.local",
"169.254/16"
);
FTPPassive = 1;
};
};
}
2016-10-07 12:10:01.047 REDACTED[2159:4312951] ChangeTracker: CBLSocketChangeTracker[0x158242f70 bucket1_thewurst2743_thewurst2743]: Started... <http://192.168.0.18:10000/bucket1_thewurst2743_thewurst2743/_changes?feed=normal&heartbeat=300000&style=all_docs>
2016-10-07 12:10:01.052 REDACTED[2159:4312951] ChangeTracker: CBLSocketChangeTracker[0x158242f70 bucket1_thewurst2743_thewurst2743]: Event 1 on <__NSCFInputStream: 0x156dbc7a0>
2016-10-07 12:10:01.075 REDACTED[2159:4312951] CBLSocketChangeTracker[0x158242f70 bucket1_thewurst2743_thewurst2743]: Connection error #7, retrying in 128.0 sec: CFCFNetworkError[-1005]
Thoughts:
Could the issue be as simple as Couchbase Lite performing POST
requests while the listener only accepts GET
requests for _changes
as per the API?
I see that the gateway has a POST
version for _changes
, but its parameters are in the request’s JSON body rather than the URL. I’m not sure if that is what is intended here, though, because Couchbase Lite is performing a POST
with its parameters in the URL.
EDIT
After further testing, the issue does not seem to be using a POST
request rather that a GET
as I initially thought. The listener also accepts POST
requests for the changes
feed, it is just not listed in its API.
I am still having the issue, however.