{"action":"created","issue":{"url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/issues/1412","repository_url":"https://api.github.com/repos/couchbase/couchbase-lite-ios","labels_url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/issues/1412/labels{/name}","comments_url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/issues/1412/comments","events_url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/issues/1412/events","html_url":"https://github.com/couchbase/couchbase-lite-ios/issues/1412","id":172242125,"number":1412,"title":"Enhancement: Warn or Error for continuous replication with doc_id filter","user":{"login":"sethrosetter","id":1365736,"avatar_url":"https://avatars.githubusercontent.com/u/1365736?v=3","gravatar_id":"","url":"https://api.github.com/users/sethrosetter","html_url":"https://github.com/sethrosetter","followers_url":"https://api.github.com/users/sethrosetter/followers","following_url":"https://api.github.com/users/sethrosetter/following{/other_user}","gists_url":"https://api.github.com/users/sethrosetter/gists{/gist_id}","starred_url":"https://api.github.com/users/sethrosetter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sethrosetter/subscriptions","organizations_url":"https://api.github.com/users/sethrosetter/orgs","repos_url":"https://api.github.com/users/sethrosetter/repos","events_url":"https://api.github.com/users/sethrosetter/events{/privacy}","received_events_url":"https://api.github.com/users/sethrosetter/received_events","type":"User","site_admin":false},"labels":[{"id":26895348,"url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/labels/enhancement","name":"enhancement","color":"c2e0c6","default":true},{"id":108424355,"url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/labels/icebox","name":"icebox","color":"ededed","default":false},{"id":47111939,"url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/labels/P3:%20low","name":"P3: low","color":"c7def8","default":false}],"state":"open","locked":false,"assignee":{"login":"pasin","id":801454,"avatar_url":"https://avatars.githubusercontent.com/u/801454?v=3","gravatar_id":"","url":"https://api.github.com/users/pasin","html_url":"https://github.com/pasin","followers_url":"https://api.github.com/users/pasin/followers","following_url":"https://api.github.com/users/pasin/following{/other_user}","gists_url":"https://api.github.com/users/pasin/gists{/gist_id}","starred_url":"https://api.github.com/users/pasin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pasin/subscriptions","organizations_url":"https://api.github.com/users/pasin/orgs","repos_url":"https://api.github.com/users/pasin/repos","events_url":"https://api.github.com/users/pasin/events{/privacy}","received_events_url":"https://api.github.com/users/pasin/received_events","type":"User","site_admin":false},"assignees":[{"login":"pasin","id":801454,"avatar_url":"https://avatars.githubusercontent.com/u/801454?v=3","gravatar_id":"","url":"https://api.github.com/users/pasin","html_url":"https://github.com/pasin","followers_url":"https://api.github.com/users/pasin/followers","following_url":"https://api.github.com/users/pasin/following{/other_user}","gists_url":"https://api.github.com/users/pasin/gists{/gist_id}","starred_url":"https://api.github.com/users/pasin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pasin/subscriptions","organizations_url":"https://api.github.com/users/pasin/orgs","repos_url":"https://api.github.com/users/pasin/repos","events_url":"https://api.github.com/users/pasin/events{/privacy}","received_events_url":"https://api.github.com/users/pasin/received_events","type":"User","site_admin":false}],"milestone":null,"comments":5,"created_at":"2016-08-20T00:12:34Z","updated_at":"2016-11-29T17:33:09Z","closed_at":null,"body":"---\n- Version:   1.3.0-61\n- Client OS: Mac OSX\n- Server:    Sync Gateway 1.3.0-274\n\nThe following scenario caused some confusion to me. Perhaps there is a way to better handle on the client side.\n1. POST _replicate a continuous pull replication with a doc id filter enabled (LiteServ <- Sync Gateway)\n2. The client attempted a one shot replication\n3. When doc ids were not found, the client attempted a longpoll with doc ids filter. This is unsupported by sync_gateway and caused the replication to stop. \n\n```\n2016-08-18T11:14:24.567-04:00 HTTP:  #008: POST /db/_changes?feed=normal&heartbeat=300000&style=all_docs&filter=_doc_ids  (ADMIN)\n2016-08-18T11:14:24.572-04:00 Changes: Unable to get changes for docID doc_1, caused by key \"doc_1\" missing\n2016-08-18T11:14:24.572-04:00 Changes: Unable to get changes for docID doc_2, caused by key \"doc_2\" missing\n2016-08-18T11:14:24.572-04:00 HTTP+: #008:     --> 200 OK  (0.0 ms)\n2016-08-18T11:14:24.590-04:00 HTTP:  #010: POST /db/_changes?feed=longpoll&heartbeat=300000&style=all_docs&filter=_doc_ids  (ADMIN)\n2016-08-18T11:14:24.590-04:00 HTTP: #010:     --> 400 Filter '_doc_ids' is only valid for feed=normal replications  (0.3 ms)\n2016-08-18T11:19:24.569-04:00 Heartbeat: heartbeat written to _changes feed for request received  (as ADMIN)\n2016-08-18T11:24:24.569-04:00 Heartbeat: heartbeat written to _changes feed for request received  (as ADMIN)\n2016-08-18T11:29:24.569-04:00 Heartbeat: heartbeat written to _changes feed for request received  (as ADMIN)\n2016-08-18T11:34:24.569-04:00 Heartbeat: heartbeat written to _changes feed for request received  (as ADMIN)\n2016-08-18T11:39:24.570-04:00 Heartbeat: heartbeat written to _changes feed for request received  (as ADMIN)\n2016-08-18T11:44:24.570-04:00 Heartbeat: heartbeat written to _changes feed for request received  (as ADMIN)\n2016-08-18T11:44:45.598-04:00 HTTP:  #011: GET /db/_changes?feed=longpoll&heartbeat=300000&style=all_docs&filter=doc_ids  (ADMIN)\n2016-08-18T11:44:45.598-04:00 HTTP: #011:     --> 400 Unknown filter; try sync_gateway/bychannel or _doc_ids  (0.2 ms)\n```\n\nI think this could be confusing to a user who attempts to do the same. It may even return some results on the initial one show but fail to continuously pull based on that filter."},"comment":{"url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/issues/comments/263639860","html_url":"https://github.com/couchbase/couchbase-lite-ios/issues/1412#issuecomment-263639860","issue_url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/issues/1412","id":263639860,"user":{"login":"adamcfraser","id":8866453,"avatar_url":"https://avatars.githubusercontent.com/u/8866453?v=3","gravatar_id":"","url":"https://api.github.com/users/adamcfraser","html_url":"https://github.com/adamcfraser","followers_url":"https://api.github.com/users/adamcfraser/followers","following_url":"https://api.github.com/users/adamcfraser/following{/other_user}","gists_url":"https://api.github.com/users/adamcfraser/gists{/gist_id}","starred_url":"https://api.github.com/users/adamcfraser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamcfraser/subscriptions","organizations_url":"https://api.github.com/users/adamcfraser/orgs","repos_url":"https://api.github.com/users/adamcfraser/repos","events_url":"https://api.github.com/users/adamcfraser/events{/privacy}","received_events_url":"https://api.github.com/users/adamcfraser/received_events","type":"User","site_admin":false},"created_at":"2016-11-29T17:33:09Z","updated_at":"2016-11-29T17:33:09Z","body":"@basememara It is in fact a Sync Gateway limitation - the _doc_ids filter is only supported for one-shot replications, not continuous.  If it's working for you on Android, it's because Android is doing a non-continuous replication."}}
{"actor":{"display_login":"adamcfraser"}}