Details
-
Bug
-
Resolution: Fixed
-
Test Blocker
-
Cheshire-Cat
-
Untriaged
-
Unknown
Description
DCP performance tests failed because more arguments are needed in call to dcpFeed.DcpRequestStream.
Build: 7.0.0-1375
Job: http://perf.jenkins.couchbase.com/job/triton/30537/
Error Message:
go/dcptest/main.go:183: not enough arguments in call to dcpFeed.DcpRequestStream
have (uint16, uint16, uint32, uint64, uint64, uint64, uint64, uint64)
want (uint16, uint16, uint32, uint64, uint64, uint64, uint64, uint64, string, string, []string)
Makefile:48: recipe for target 'dcptest' failed
Currently, perfrunner is passing these arguments to DcpRequestStream.
https://github.com/couchbase/perfrunner/blob/master/go/dcptest/main.go#L176
func startDcp(dcpFeed *couchbase.DcpFeed, flogs couchbase.FailoverLog, wg *sync.WaitGroup) {
|
start, end := uint64(0), uint64(0xFFFFFFFFFFFFFFFF) |
snapStart, snapEnd := uint64(0), uint64(0) |
manifest, scope, collection := "", "", []string{} |
for vbno, flog := range flogs { |
x := flog[len(flog)-1] // map[uint16][][2]uint64 |
opaque, flags, vbuuid := uint16(vbno), uint32(0), x[0] |
err := dcpFeed.DcpRequestStream(
|
vbno, opaque, flags, vbuuid, start, end, snapStart, snapEnd, manifest, scope, collection)
|
mf(err, fmt.Sprintf("stream-req for %v failed", vbno)) |
}
|
logging.Infof("Done startDCP\n") |
defer wg.Done()
|
}
|
What values should we pass to these new arguments in DcpRequestStream? Are there any default values? Will these values be different after collections are enabled?
https://github.com/couchbase/indexing/blob/master/secondary/dcp/transport/client/dcp_feed.go#L161
// DcpRequestStream for a single vbucket.
|
func (feed *DcpFeed) DcpRequestStream(vbno, opaqueMSB uint16, flags uint32,
|
vuuid, startSequence, endSequence, snapStart, snapEnd uint64,
|
manifestUID, scopeId string, collectionIds []string) error {
|
|
respch := make(chan []interface{}, 1) |
cmd := []interface{}{ |
dfCmdRequestStream, vbno, opaqueMSB, flags, vuuid,
|
startSequence, endSequence, snapStart, snapEnd,
|
manifestUID, scopeId, collectionIds,
|
respch}
|
resp, err := failsafeOp(feed.reqch, respch, cmd, feed.finch)
|
return opError(err, resp, 0) |
}
|