Since I updated to the last version of Phonegap, the replication between devices with the Sync Gateway is not working as well as before. I'm using Phonegap 1.0.0 and Sync Gateway 1.0.0-23
I couldn't success to reproduce the error i have got every times but it happens to me really often. Most of the times, I can't replicate from the device to the SG after a problem of changeTracker. You can see below the error I got in logcat :
06-02 11:44:03.599: E/ChangeTracker(9440): com.couchbase.lite.replicator.ChangeTracker@42267f40: Exception in change tracker
06-02 11:44:03.599: E/ChangeTracker(9440): java.net.SocketTimeoutException
06-02 11:44:03.599: E/ChangeTracker(9440): at java.net.PlainSocketImpl.read(PlainSocketImpl.java:491)
06-02 11:44:03.599: E/ChangeTracker(9440): at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:46)
06-02 11:44:03.599: E/ChangeTracker(9440): at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:240)
06-02 11:44:03.599: E/ChangeTracker(9440): at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)
06-02 11:44:03.599: E/ChangeTracker(9440): at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:191)
06-02 11:44:03.599: E/ChangeTracker(9440): at org.apache.http.impl.io.ChunkedInputStream.getChunkSize(ChunkedInputStream.java:220)
06-02 11:44:03.599: E/ChangeTracker(9440): at org.apache.http.impl.io.ChunkedInputStream.nextChunk(ChunkedInputStream.java:183)
06-02 11:44:03.599: E/ChangeTracker(9440): at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:155)
06-02 11:44:03.599: E/ChangeTracker(9440): at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:159)
06-02 11:44:03.599: E/ChangeTracker(9440): at org.codehaus.jackson.impl.Utf8StreamParser.loadMore(Utf8StreamParser.java:172)
06-02 11:44:03.599: E/ChangeTracker(9440): at org.codehaus.jackson.impl.Utf8StreamParser._skipWSOrEnd(Utf8StreamParser.java:2304)
06-02 11:44:03.599: E/ChangeTracker(9440): at org.codehaus.jackson.impl.Utf8StreamParser.nextToken(Utf8StreamParser.java:438)
06-02 11:44:03.599: E/ChangeTracker(9440): at org.codehaus.jackson.map.deser.std.UntypedObjectDeserializer.mapArray(UntypedObjectDeserializer.java:157)
06-02 11:44:03.599: E/ChangeTracker(9440): at org.codehaus.jackson.map.deser.std.UntypedObjectDeserializer.deserialize(UntypedObjectDeserializer.java:51)
06-02 11:44:03.599: E/ChangeTracker(9440): at org.codehaus.jackson.map.deser.std.MapDeserializer._readAndBind(MapDeserializer.java:319)
06-02 11:44:03.599: E/ChangeTracker(9440): at org.codehaus.jackson.map.deser.std.MapDeserializer.deserialize(MapDeserializer.java:249)
06-02 11:44:03.599: E/ChangeTracker(9440): at org.codehaus.jackson.map.deser.std.MapDeserializer.deserialize(MapDeserializer.java:33)
06-02 11:44:03.599: E/ChangeTracker(9440): at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2723)
06-02 11:44:03.599: E/ChangeTracker(9440): at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1900)
06-02 11:44:03.599: E/ChangeTracker(9440): at com.couchbase.lite.replicator.ChangeTracker.run(ChangeTracker.java:319)
06-02 11:44:03.599: E/ChangeTracker(9440): at java.lang.Thread.run(Thread.java:841)
I said most of the times because after this error, it works sometimes ...
Also, when the replication seems to work fine and I try to delete a document by putting the "_deleted=true", it replicates to the SG but not to the other device...
I don't know if it's related or not to my problem but when I, at first, connect the device to the Sync Gateway by a HTTP basic authentication (login:password@SG-IPaddress:Port/SG-dbName), CBL is making a request to the SG to get a document in local storage to SG ("_local/idDoc), which is always missing.