summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul J. Davis <paul.joseph.davis@gmail.com>2020-03-11 16:43:22 -0500
committerPaul J. Davis <paul.joseph.davis@gmail.com>2020-03-11 16:43:22 -0500
commit27abf0e67c082518e41c264f01cc6540ef7204a6 (patch)
tree08eecbf3278060390c35e063ecd42b54e7cafe29
parent8c7e82574159536540b81aa5eef312c633966e53 (diff)
downloadcouchdb-27abf0e67c082518e41c264f01cc6540ef7204a6.tar.gz
Send correct seq values for filtered changes
If a filtered changes feed hit a rewind we would send a bare `integer()` value for the Seq. If this was used again during a rewind it causes a competely rewind to zero due to not having the `node()` and UUID `binary()` values to calculate a new start seq.
-rw-r--r--src/fabric/src/fabric_rpc.erl3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/fabric/src/fabric_rpc.erl b/src/fabric/src/fabric_rpc.erl
index 7b688b2b9..a67dcd148 100644
--- a/src/fabric/src/fabric_rpc.erl
+++ b/src/fabric/src/fabric_rpc.erl
@@ -515,7 +515,8 @@ changes_enumerator(DocInfo, Acc) ->
[] ->
ChangesRow = {no_pass, [
{pending, Pending-1},
- {seq, Seq}]};
+ {seq, {Seq, uuid(Db), couch_db:owner_of(Epochs, Seq)}}
+ ]};
Results ->
Opts = if Conflicts -> [conflicts | DocOptions]; true -> DocOptions end,
ChangesRow = {change, [