package hbase import ( "bytes" "time" "github.com/juju/errors" "github.com/pingcap/go-hbase/proto" ) func retrySleep(retries int) { time.Sleep(time.Duration(retries*500) * time.Millisecond) } func findKey(region *RegionInfo, key []byte) bool { if region == nil { return false } // StartKey <= key < EndKey return (len(region.StartKey) == 0 || bytes.Compare(region.StartKey, key) <= 0) && (len(region.EndKey) == 0 || bytes.Compare(key, region.EndKey) < 0) } func NewRegionSpecifier(regionName string) *proto.RegionSpecifier { return &proto.RegionSpecifier{ Type: proto.RegionSpecifier_REGION_NAME.Enum(), Value: []byte(regionName), } } // TODO: The following functions can be moved later. // ErrorEqual returns a boolean indicating whether err1 is equal to err2. func ErrorEqual(err1, err2 error) bool { e1 := errors.Cause(err1) e2 := errors.Cause(err2) if e1 == e2 { return true } if e1 == nil || e2 == nil { return e1 == e2 } return e1.Error() == e2.Error() } // ErrorNotEqual returns a boolean indicating whether err1 isn't equal to err2. func ErrorNotEqual(err1, err2 error) bool { return !ErrorEqual(err1, err2) }