Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
6.5.0, 6.0.3, 6.0.4, 6.5.1, 6.6.0
-
Triaged
-
1
-
Yes
Description
Problem
As described in CBSE-8828, for a replica DCP stream. If a previous item that uses XATTRs is to be deleted, however it is not resident - then we must perform a bgfetch - see MB-36087. When the bgfetch is complete we replay PassiveStream::messageReceived. However this time it fails because the last seqno now equals the sequence number of the deletion and so it is discarded.
Suggested Possible Solution
- only set the last seqno to the seqno of the message just received, once the message has been completed or
- If an EWOULD_BLOCK occurs reserve the setting of the last seqno so the message can be received again.
Attachments
Issue Links
1.
|
[BP] MB-41255 to 6.0.4 - MP2 |
![]() |
Resolved | Daniel Owen |
Gerrit Reviews
Activity
Field | Original Value | New Value |
---|---|---|
Link | This issue relates to CBSE-8828 [ CBSE-8828 ] |
Fix Version/s | 6.6.1 [ 17002 ] |
Is this a Regression? | Unknown [ 10452 ] | Yes [ 10450 ] |
Triage | Untriaged [ 10351 ] | Triaged [ 10350 ] |
Summary | Replication of deletes with XATTRS can fail due to EWOULD_BLOCK | Replication of deletes with XATTRS will fail if return EWOULD_BLOCK |
Description |
+Problem+
As described in CBSE-8828, for a replica DCP stream. If a previous item that uses XATTRs is to be deleted, however it is not resident - then we must perform a bgfetch - see +Suggested Possible Solution+ - only set the last seqno to the seqno of the message just received, one the message has been completed or - If an EWOULD_BLOCK occurs reserve the setting of the last seqno so the message can be received again. |
+Problem+
As described in CBSE-8828, for a replica DCP stream. If a previous item that uses XATTRs is to be deleted, however it is not resident - then we must perform a bgfetch - see +Suggested Possible Solution+ - only set the last seqno to the seqno of the message just received, once the message has been completed or - If an EWOULD_BLOCK occurs reserve the setting of the last seqno so the message can be received again. |
Priority | Major [ 3 ] | Critical [ 2 ] |
Rank | Ranked higher |
Assignee | Daniel Owen [ owend ] | Jim Walker [ jwalker ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Attachment | image001.png [ 106493 ] |
Attachment | image001.png [ 106524 ] |
Attachment | image001.png [ 106531 ] |
Comment | [ A comment with security level 'Membase Inc' was removed. ] |
Comment | [ A comment with security level 'Membase Inc' was removed. ] |
Comment | [ A comment with security level 'Membase Inc' was removed. ] |
Security | Private [ 10010 ] |
Link | This issue blocks MB-40528 [ MB-40528 ] |
Labels | approved-for-6.0.5 approved-for-6.6.1 |
Link | This issue blocks MB-40511 [ MB-40511 ] |
Link | This issue relates to CBSP-3173 [ CBSP-3173 ] |
Security | Private [ 10010 ] |
Assignee | Jim Walker [ jwalker ] | Daniel Owen [ owend ] |
Resolution | Fixed [ 1 ] | |
Status | In Progress [ 3 ] | Resolved [ 5 ] |
Status | Resolved [ 5 ] | Closed [ 6 ] |
Resolution | Fixed [ 1 ] | |
Status | Closed [ 6 ] | Reopened [ 4 ] |
Fix Version/s | 6.0.5 [ 16729 ] |
Remote Link | This issue links to "Page (Couchbase, Inc. Wiki)" [ 20577 ] |
Link | This issue blocks MB-41489 [ MB-41489 ] |
Assignee | Daniel Owen [ owend ] | Jim Walker [ jwalker ] |
Summary | Replication of deletes with XATTRS will fail if return EWOULD_BLOCK | Value eviction bucket - Replication of deletes with XATTRS will fail if return EWOULD_BLOCK |
Assignee | Jim Walker [ jwalker ] | Daniel Owen [ owend ] |
Resolution | Fixed [ 1 ] | |
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Link | This issue relates to CBSE-9100 [ CBSE-9100 ] |
Link | This issue blocks MB-42583 [ MB-42583 ] |
Assignee | Daniel Owen [ owend ] | Ashwin Govindarajulu [ ashwin.govindarajulu ] |
Status | Resolved [ 5 ] | Closed [ 6 ] |
Fix Version/s | 6.5.2 [ 17223 ] |
Link | This issue relates to CBSE-9361 [ CBSE-9361 ] |
Labels | approved-for-6.0.5 approved-for-6.6.1 | approved-for-6.0.5 approved-for-6.6.1 releasenote |
The former makes most sense to me - note that EWOULDBLOCK can in theory happen mutliple times (say we are unlucky and it gets evicted before the request is scheduled again.