Details
-
Bug
-
Resolution: Fixed
-
Critical
-
None
-
None
-
1
Description
As discussed in MB-25562 and seen in MB-29360, when Sync Gateway is deployed against a bucket, a single document update can be seen over DCP as multiple mutations, some modifying body and others modifying XATTRs. Eventing will invoke OnUpdate for each such mutation as it is not possible to distinguish at DCP level if a update modified body of the document, XATTRs or both. So when both Eventing and Sync Gateway are deployed agains the same bucket, Eventing code written must be idempotent (i.e., behave correctly when same mutation is seen more than once). We should document this prominently as it is not an uncommon situation. We will use MB-29360 to track an eventual resolution to the issue which may require changes to both SG and Eventing, and possibly SDKs.