So the ToDoLite PhoneGap 
<https://github.com/couchbaselabs/todolite-phonegap> app isn't pulling 
attachments (photos in this case) correctly?

James

On Tuesday, 7 July 2015 18:00:11 UTC+2, atom992 wrote:
>
>
>
> On Tuesday, July 7, 2015 at 10:44:42 PM UTC+8, James Nocentini wrote:
>>
>> Ok thanks, can you post a sample project on github with the issue you are 
>>> seeing?
>>
>>
>>
> It is base on ToDoLite demo with sync gateway 1.1 on my local env.
>  
>
>> James
>>
>> On Tuesday, 7 July 2015 16:39:44 UTC+2, atom992 wrote:
>>>
>>> I am using REST API to query data. and when I query the doc which should 
>>> be include  attachment, I found the rev of the doc in CBL is different than 
>>> SyncGateway without conflict.
>>>
>>> On Tuesday, July 7, 2015 at 8:59:37 PM UTC+8, PRASANNA KUMAR wrote:
>>>>
>>>> Can you post your code for getting the attachment from the CBL database?
>>>>
>>>>
>>>> Attachment attachmentFirstImage = 
>>>> document.getCurrentRevision().getAttachment("abc.png");
>>>>
>>>>
>>>> If you want to show in imageview than convert the attachment to bitmap
>>>>
>>>>
>>>> On Monday, July 6, 2015 at 8:00:24 PM UTC+5:30, James Nocentini wrote:
>>>>>
>>>>> From the logs, I'm not sure what might be causing the issue.
>>>>>
>>>>> What version of CBL Android are you using?
>>>>> Can you post your code for getting the attachment from the CBL 
>>>>> database?
>>>>>
>>>>> Saving an attachment on a document creates a new revision. So CBL 
>>>>> Android would be pulling the new revision and attachment. It's probably 
>>>>> worth checking with a breakpoint that you're getting the latest revision 
>>>>> from CBL as well.
>>>>>
>>>>> James
>>>>>
>>>>> On Monday, 6 July 2015 13:54:35 UTC+2, atom992 wrote:
>>>>>>
>>>>>>     I am testing attachment sync between SyncGateway(1.1) and 
>>>>>> CBL(1.1) on Android(5.0.1) emulator using REST API, I can sync 
>>>>>> attachment 
>>>>>> from CBL to SG, but when I try to sync attachment  from SyncGateway  to 
>>>>>> CBL, I found the completed_change_count of ActiveTasks really  add 1,but 
>>>>>> I 
>>>>>> can not find the attachment that should be sync to CBL.
>>>>>>     I found the following logs:
>>>>>>
>>>>>> V/ChangeTracker(20024): 
>>>>>> com.couchbase.lite.replicator.ChangeTracker@19153841: /readValue. 
>>>>>>  fullBody: {results=[{seq=80, 
>>>>>> id=MSG:64598a8e-b613-4026-8b68-4471d65d0bcd, 
>>>>>> changes=[{rev=4-d1da30c8ac590e7875df9823475e3074}]}], last_seq=80}
>>>>>> D/ChangeTracker(20024): 
>>>>>> com.couchbase.lite.replicator.ChangeTracker@19153841: 
>>>>>> changeTrackerReceivedChange: {seq=80, 
>>>>>> id=MSG:64598a8e-b613-4026-8b68-4471d65d0bcd, 
>>>>>> changes=[{rev=4-d1da30c8ac590e7875df9823475e3074}]}
>>>>>> D/Sync    (20024): changeTrackerReceivedChange: {seq=80, 
>>>>>> id=MSG:64598a8e-b613-4026-8b68-4471d65d0bcd, 
>>>>>> changes=[{rev=4-d1da30c8ac590e7875df9823475e3074}]}
>>>>>> D/Sync    (20024): 
>>>>>> com.couchbase.lite.replicator.PullerInternal@39200f0e: adding rev to 
>>>>>> inbox 
>>>>>> {MSG:64598a8e-b613-4026-8b68-4471d65d0bcd 
>>>>>> #4-d1da30c8ac590e7875df9823475e3074}
>>>>>> V/Sync    (20024): 
>>>>>> com.couchbase.lite.replicator.PullerInternal@39200f0e: 
>>>>>> changeTrackerReceivedChange() incrementing changesCount by 1
>>>>>> V/Sync    (20024): 
>>>>>> com.couchbase.lite.replicator.PullerInternal@39200f0e: Incrementing 
>>>>>> changesCount count from 37 by adding 1 -> 38
>>>>>> V/Sync    (20024): 
>>>>>> com.couchbase.lite.replicator.PullerInternal@39200f0e: addToInbox() 
>>>>>> called, 
>>>>>> rev: {MSG:64598a8e-b613-4026-8b68-4471d65d0bcd 
>>>>>> #4-d1da30c8ac590e7875df9823475e3074}.  Thread: Thread[ChangeTracker-
>>>>>> http://X.X.X.X/sgdb/,5,TJWS threads]
>>>>>> V/CBLite  (20024): setPaused: false
>>>>>> D/ChangeTracker(20024): 
>>>>>> com.couchbase.lite.replicator.ChangeTracker@19153841: 
>>>>>> /changeTrackerReceivedChange: {seq=80, 
>>>>>> id=MSG:64598a8e-b613-4026-8b68-4471d65d0bcd, 
>>>>>> changes=[{rev=4-d1da30c8ac590e7875df9823475e3074}]}
>>>>>> V/ChangeTracker(20024): 
>>>>>> com.couchbase.lite.replicator.ChangeTracker@19153841: responseOK: true
>>>>>> D/Sync    (20024): changeTrackerCaughtUp
>>>>>> V/ChangeTracker(20024): 
>>>>>> com.couchbase.lite.replicator.ChangeTracker@19153841: Starting new 
>>>>>> longpoll
>>>>>> V/ChangeTracker(20024): 
>>>>>> com.couchbase.lite.replicator.ChangeTracker@19153841: Making request to 
>>>>>> http://X.X.X.X/sgdb/_changes
>>>>>> V/Sync    (20024): *** 
>>>>>> com.couchbase.lite.replicator.ReplicationInternal$2@b649f0f: BEGIN 
>>>>>> processInbox (1 sequences)
>>>>>> D/Sync    (20024): processInbox called
>>>>>> V/Sync    (20024): 
>>>>>> com.couchbase.lite.replicator.PullerInternal@39200f0e: fetching 1 remote 
>>>>>> revisions...
>>>>>> D/Sync    (20024): 
>>>>>> com.couchbase.lite.replicator.PullerInternal@39200f0e: 
>>>>>> pullRemoteRevision 
>>>>>> with rev: {MSG:64598a8e-b613-4026-8b68-4471d65d0bcd 
>>>>>> #4-d1da30c8ac590e7875df9823475e3074}
>>>>>> V/Sync    (20024): 
>>>>>> com.couchbase.lite.support.RemoteRequestRetry@5885628: 
>>>>>> RemoteRequestRetry 
>>>>>> created, url: 
>>>>>> http://X.X.X.X/sgdb/MSG%3A64598a8e-b613-4026-8b68-4471d65d0bcd?rev=4-d1da30c8ac590e7875df9823475e3074&revs=true&attachments=true
>>>>>> V/Sync    (20024): 
>>>>>> com.couchbase.lite.support.RemoteMultipartDownloaderRequest@303d0f41: 
>>>>>> RemoteRequest created, url: 
>>>>>> http://X.X.X.X/sgdb/MSG%3A64598a8e-b613-4026-8b68-4471d65d0bcd?rev=4-d1da30c8ac590e7875df9823475e3074&revs=true&attachments=true
>>>>>> D/Sync    (20024): [fireTrigger()] => RESUME
>>>>>> V/CBLite  (20024): setPaused: false
>>>>>> V/Sync    (20024): *** 
>>>>>> com.couchbase.lite.replicator.ReplicationInternal$2@b649f0f: END 
>>>>>> processInbox (lastSequence=77)
>>>>>> D/Sync    (20024): firing trigger: RESUME
>>>>>> V/Sync    (20024): [onExit()] IDLE => RUNNING
>>>>>> D/Sync    (20024): State transition: IDLE -> RUNNING (via RESUME). 
>>>>>>  this: com.couchbase.lite.replicator.PullerInternal@39200f0e
>>>>>> D/Sync    (20024): [PullerInternal.waitForPendingFutures()] STARTED - 
>>>>>> thread id: 383
>>>>>> E/RemoteRequest(20024): 
>>>>>> com.couchbase.lite.support.RemoteMultipartDownloaderRequest@303d0f41: 
>>>>>> executeRequest() Exception:
>>>>>> E/RemoteRequest(20024): java.lang.NullPointerException: Attempt to 
>>>>>> invoke virtual method 'boolean 
>>>>>> java.lang.String.startsWith(java.lang.String)' on a null object reference
>>>>>> E/RemoteRequest(20024): at 
>>>>>> com.couchbase.lite.support.MultipartDocumentReader.setHeaders(MultipartDocumentReader.java:70)
>>>>>> E/RemoteRequest(20024): at 
>>>>>> com.couchbase.lite.support.RemoteMultipartDownloaderRequest.executeRequest(RemoteMultipartDownloaderRequest.java:95)
>>>>>> E/RemoteRequest(20024): at 
>>>>>> com.couchbase.lite.support.RemoteMultipartDownloaderRequest.run(RemoteMultipartDownloaderRequest.java:48)
>>>>>> E/RemoteRequest(20024): at 
>>>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
>>>>>> E/RemoteRequest(20024): at 
>>>>>> java.util.concurrent.FutureTask.run(FutureTask.java:237)
>>>>>> E/RemoteRequest(20024): at 
>>>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
>>>>>> E/RemoteRequest(20024): at 
>>>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
>>>>>> E/RemoteRequest(20024): at 
>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
>>>>>> E/RemoteRequest(20024): at 
>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
>>>>>> E/RemoteRequest(20024): at java.lang.Thread.run(Thread.java:818)
>>>>>> D/Sync    (20024): 
>>>>>> com.couchbase.lite.support.RemoteRequestRetry$1@c20acd4: 
>>>>>> RemoteRequestRetry 
>>>>>> inner request finished, url: 
>>>>>> http://X.X.X.X/sgdb/MSG%3A64598a8e-b613-4026-8b68-4471d65d0bcd?rev=4-d1da30c8ac590e7875df9823475e3074&revs=true&attachments=true
>>>>>> D/Sync    (20024): 
>>>>>> com.couchbase.lite.support.RemoteRequestRetry@5885628: isTransientError 
>>>>>> called, httpResponse: org.apache.http.message.BasicHttpResponse@1e8a5e7d 
>>>>>> e: 
>>>>>> java.lang.NullPointerException: Attempt to invoke virtual method 
>>>>>> 'boolean 
>>>>>> java.lang.String.startsWith(java.lang.String)' on a null object reference
>>>>>> D/Sync    (20024): %s: return false
>>>>>> D/Sync    (20024): 
>>>>>> com.couchbase.lite.support.RemoteRequestRetry$1@c20acd4: 
>>>>>> RemoteRequestRetry 
>>>>>> failed, non-transient error.  NOT retrying. url: 
>>>>>> http://X.X.X.X/sgdb/MSG%3A64598a8e-b613-4026-8b68-4471d65d0bcd?rev=4-d1da30c8ac590e7875df9823475e3074&revs=true&attachments=true
>>>>>> E/Sync    (20024): Error pulling remote revision
>>>>>> E/Sync    (20024): java.lang.NullPointerException: Attempt to invoke 
>>>>>> virtual method 'boolean java.lang.String.startsWith(java.lang.String)' 
>>>>>> on a 
>>>>>> null object reference
>>>>>> E/Sync    (20024): at 
>>>>>> com.couchbase.lite.support.MultipartDocumentReader.setHeaders(MultipartDocumentReader.java:70)
>>>>>> E/Sync    (20024): at 
>>>>>> com.couchbase.lite.support.RemoteMultipartDownloaderRequest.executeRequest(RemoteMultipartDownloaderRequest.java:95)
>>>>>> E/Sync    (20024): at 
>>>>>> com.couchbase.lite.support.RemoteMultipartDownloaderRequest.run(RemoteMultipartDownloaderRequest.java:48)
>>>>>> E/Sync    (20024): at 
>>>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
>>>>>> E/Sync    (20024): at 
>>>>>> java.util.concurrent.FutureTask.run(FutureTask.java:237)
>>>>>> E/Sync    (20024): at 
>>>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
>>>>>> E/Sync    (20024): at 
>>>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
>>>>>> E/Sync    (20024): at 
>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
>>>>>> E/Sync    (20024): at 
>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
>>>>>> E/Sync    (20024): at java.lang.Thread.run(Thread.java:818)
>>>>>> V/Sync    (20024): 
>>>>>> com.couchbase.lite.replicator.PullerInternal@39200f0e: giving up on 
>>>>>> {MSG:64598a8e-b613-4026-8b68-4471d65d0bcd 
>>>>>> #4-d1da30c8ac590e7875df9823475e3074}: java.lang.NullPointerException: 
>>>>>> Attempt to invoke virtual method 'boolean 
>>>>>> java.lang.String.startsWith(java.lang.String)' on a null object reference
>>>>>> V/CBLite  (20024): setPaused: false
>>>>>> D/RemoteRequest(20024): 
>>>>>> com.couchbase.lite.support.RemoteMultipartDownloaderRequest@303d0f41: 
>>>>>> executeRequest() finally
>>>>>> V/ChangeTracker(20024): 
>>>>>> com.couchbase.lite.replicator.ChangeTracker@19153841: got response. 
>>>>>> status: 
>>>>>> HTTP/1.1 200 OK mode: LongPoll
>>>>>> V/ChangeTracker(20024): 
>>>>>> com.couchbase.lite.replicator.ChangeTracker@19153841: 
>>>>>> /entity.getContent(). 
>>>>>>  mode: LongPoll
>>>>>> V/ChangeTracker(20024): 
>>>>>> com.couchbase.lite.replicator.ChangeTracker@19153841: readValue
>>>>>>
>>>>>> Note: I have replace the address and bucket name of sync gateway.
>>>>>> id=MSG:64598a8e-b613-4026-8b68-4471d65d0bcd, 
>>>>>> changes=[{rev=4-d1da30c8ac590e7875df9823475e3074 this doc and rev is 
>>>>>> the attachment doc added from SG.
>>>>>>
>>>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"Couchbase Mobile" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/mobile-couchbase/7500d6ad-6ded-4fe2-b519-fdd5bc8d1c11%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to