CouchDB
  1. CouchDB
  2. COUCHDB-857

no continuous replication with doc_ids param

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.11.1, 0.11.2, 1.0, 1.0.1, 1.0.2, 1.0.3
    • Fix Version/s: 1.1, 1.2
    • Component/s: None
    • Labels:
      None
    • Skill Level:
      Regular Contributors Level (Easy to Medium)

      Description

      I investigated more on this problem :
      http://markmail.org/message/bazjkhmwcrdp3kcf

      I've found that that continuous replication isn't possible with "doc_ids" parameter. I confirmed this reading the code :

      DocIds = couch_util:get_value(<<"doc_ids">>, PostProps, nil),

      ... snip ...

      case DocIds of
      List when is_list(List) ->
      % Fast replication using only a list of doc IDs to replicate.
      % Replication sessions, checkpoints and logs are not created
      % since the update sequence number of the source DB is not used
      % for determining which documents are copied into the target DB.

      ..... snip
      _ ->
      % Replication using the _changes API (DB sequence update numbers).

      Why can't we have continuous replication with "doc_ids" ?

        Activity

        Hide
        Filipe Manana added a comment -

        Yep, this was added in 1.1.0 in fact.

        Show
        Filipe Manana added a comment - Yep, this was added in 1.1.0 in fact.
        Hide
        Benoit Chesneau added a comment -

        mmm I think it was done right after I added the doc_ids filter. At least when I read the code of the new replicator I've found:

        https://github.com/benoitc/couchdb/blob/master/src/couchdb/couch_api_wrap.erl#L334

        Filipe?

        Show
        Benoit Chesneau added a comment - mmm I think it was done right after I added the doc_ids filter. At least when I read the code of the new replicator I've found: https://github.com/benoitc/couchdb/blob/master/src/couchdb/couch_api_wrap.erl#L334 Filipe?
        Hide
        Randall Leeds added a comment -

        Since the built in doc ids filter has been added it should be easy to do this automatically from the request body of an unfiltered replication.
        Benoit: do you want to implement this? Otherwise close as "Won't Fix" in favor of the filter.

        Show
        Randall Leeds added a comment - Since the built in doc ids filter has been added it should be easy to do this automatically from the request body of an unfiltered replication. Benoit: do you want to implement this? Otherwise close as "Won't Fix" in favor of the filter.
        Hide
        Benoit Chesneau added a comment -

        This filter should be created on the fly imo if so set continuous=true . Or we should send an error on creation of the replication. It's a little disturbing

        Show
        Benoit Chesneau added a comment - This filter should be created on the fly imo if so set continuous=true . Or we should send an error on creation of the replication. It's a little disturbing
        Hide
        Filipe Manana added a comment -

        Hi, replication by doc IDs was designed to not use the _changes API, therefore no support for continuous replication.

        If you want such kind of replication, use a filtered replication.

        Show
        Filipe Manana added a comment - Hi, replication by doc IDs was designed to not use the _changes API, therefore no support for continuous replication. If you want such kind of replication, use a filtered replication.
        Hide
        Benoit Chesneau added a comment -

        behaviour confirmed. I think we should be smarter on this and create a specific filter on the fly. I'm letting this ticket open.

        Show
        Benoit Chesneau added a comment - behaviour confirmed. I think we should be smarter on this and create a specific filter on the fly. I'm letting this ticket open.

          People

          • Assignee:
            Unassigned
            Reporter:
            Benoit Chesneau
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development