// Generate and send a random GetValuesSingle request. func (l *Load) sendGetIterator(client *gen.HFileServiceClient, diff *gen.HFileServiceClient) { includeValues := true k := l.randomKey() lim := int32(10) r := &gen.IteratorRequest{HfileName: &l.collection, IncludeValues: &includeValues, LastKey: k, ResponseLimit: &lim} before := time.Now() resp, err := client.GetIterator(r) if err != nil { log.Println("[GetIterator] Error fetching value:", err, k) } report.TimeSince(l.rtt+".overall", before) report.TimeSince(l.rtt+".GetIterator", before) if diff != nil { beforeDiff := time.Now() diffResp, diffErr := diff.GetIterator(r) if diffErr != nil { log.Println("[GetIterator] Error fetching diff value:", diffErr, k) } report.TimeSince(l.diffRtt+".overall", beforeDiff) report.TimeSince(l.diffRtt+".GetIterator", beforeDiff) if err == nil && diffErr == nil && !reflect.DeepEqual(resp, diffResp) { report.Inc("diffs") report.Inc("diffs.GetIterator") log.Printf("[DIFF-GetIterator] req: %v\n", r) log.Printf("[DIFF-GetIterator] orig (skip %d): %v\n", resp.GetSkipKeys(), resp) log.Printf("[DIFF-GetIterator] diff (skip %d): %v\n", diffResp.GetSkipKeys(), diffResp) } } }