Details
-
Bug
-
Resolution: Fixed
-
Critical
-
2.3.3
-
None
-
None
-
0
Description
Right now the behavior of calling OpenStream that it will return:
type OpenStreamCallback func([]FailoverEntry, error)
|
The failover entries are always nil if err is populated. This matches the specification of https://github.com/couchbase/kv_engine/blob/master/docs/dcp/documentation/commands/stream-request.md
However, the in case of a server failover, this will return ErrMemdRollback. What we don't know, however, is how to rollback from this. As per docs, this information is rollback fields of:
rollback # (24-31)
|
The go-couchbase code https://github.com/couchbase/go-couchbase/blob/master/cbdatasource/cbdatasource.go#L1550
Without this implementation, we can not determine what the correct rollback sequence number to resend in the DCP stream request.
This presents us without the ability to know precisely where to rollback to.
Attachments
Issue Links
- is duplicated by
-
GOCBC-1399 Expose rollback seqNo in key value error when open stream got rollback error
- Closed
For Gerrit Dashboard: GOCBC-1401 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
189169,2 | GOCBC-1401: Expose SeqNo on DCP rollback error | master | gocbcore | Status: MERGED | +2 | +1 |
189192,2 | GOCBC-1401: Expose SeqNo on DCP rollback error | v10.1 | gocbcore | Status: MERGED | +2 | +1 |
189193,2 | GOCBC-1401: Expose SeqNo on DCP rollback error | v10 | gocbcore | Status: MERGED | +2 | +1 |
189194,2 | GOCBC-1401: Expose SeqNo on DCP rollback error | v9.1 | gocbcore | Status: MERGED | +2 | +1 |
189286,5 | MB-56285: Obtaining rollback seqno on OpenStream rollback response | master | cbgt | Status: MERGED | +2 | +1 |
191052,1 | MB-56285: [BP] Obtaining rollback seqno on OpenStream rollback response | neo | cbgt | Status: ABANDONED | 0 | 0 |
191054,2 | MB-56285: [BP] Obtaining rollback seqno on OpenStream rollback response | neo | cbgt | Status: MERGED | +2 | +1 |