func insert(r *rand.Rand, db *client.DB, wg *sync.WaitGroup) { wg.Add(1) for i := 0; i < 1000; i++ { key := getKey(r) value := getValue(1024 * 10) err := db.Put(key, value) if err != nil { fmt.Printf("put fail. err: %v, key: %v\n", err, key) } } wg.Done() }
// setDefaultRangeMaxBytes sets the range-max-bytes value for the default zone. func setDefaultRangeMaxBytes(t *testing.T, db *client.DB, maxBytes int64) { zone := &proto.ZoneConfig{} if err := db.GetProto(keys.ConfigZonePrefix, zone); err != nil { t.Fatal(err) } if zone.RangeMaxBytes == maxBytes { return } zone.RangeMaxBytes = maxBytes if err := db.Put(keys.ConfigZonePrefix, zone); err != nil { t.Fatal(err) } }
// putConfig writes a config for the specified key prefix (which is // treated as a key). The config is parsed from the input "body". The // config is stored proto-encoded. The specified body must validly // parse into a config struct and must pass a given validation check (if // validate is not nil). func putConfig(db *client.DB, configPrefix proto.Key, config gogoproto.Message, path string, body []byte, r *http.Request, validate func(gogoproto.Message) error) error { if len(path) == 0 { return util.Errorf("no path specified for Put") } if err := util.UnmarshalRequest(r, body, config, util.AllEncodings); err != nil { return util.Errorf("config has invalid format: %+v: %s", config, err) } if validate != nil { if err := validate(config); err != nil { return err } } key := keys.MakeKey(configPrefix, proto.Key(path[1:])) return db.Put(key, config) }
// putPermConfig writes the permissions config for 'prefix'. func putPermConfig(db *client.DB, prefix string, config *config.PermConfig) error { return db.Put(keys.MakeKey(keys.ConfigPermissionPrefix, proto.Key(prefix)), config) }