// allocateStoreIDs increments the store id generator key for the // specified node to allocate "inc" new, unique store ids. The // first ID in a contiguous range is returned on success. func allocateStoreIDs(nodeID roachpb.NodeID, inc int64, db *client.DB) (roachpb.StoreID, error) { r, err := db.Inc(keys.StoreIDGenerator, inc) if err != nil { return 0, util.Errorf("unable to allocate %d store IDs for node %d: %s", inc, nodeID, err) } return roachpb.StoreID(r.ValueInt() - inc + 1), nil }
// allocateNodeID increments the node id generator key to allocate // a new, unique node id. func allocateNodeID(db *client.DB) (roachpb.NodeID, error) { r, err := db.Inc(keys.NodeIDGenerator, 1) if err != nil { return 0, util.Errorf("unable to allocate node ID: %s", err) } return roachpb.NodeID(r.ValueInt()), nil }
// allocateNodeID increments the node id generator key to allocate // a new, unique node id. It will retry indefinitely on retryable // errors. func allocateNodeID(db *client.DB) (proto.NodeID, error) { var id proto.NodeID err := retry.WithBackoff(allocRetryOptions, func() (retry.Status, error) { r, err := db.Inc(keys.NodeIDGenerator, 1) if err != nil { status := retry.Break if _, ok := err.(util.Retryable); ok { status = retry.Continue } return status, util.Errorf("unable to allocate node ID: %s", err) } id = proto.NodeID(r.ValueInt()) return retry.Break, nil }) return id, err }
// allocateStoreIDs increments the store id generator key for the // specified node to allocate "inc" new, unique store ids. The // first ID in a contiguous range is returned on success. The call // will retry indefinitely on retryable errors. func allocateStoreIDs(nodeID proto.NodeID, inc int64, db *client.DB) (proto.StoreID, error) { var id proto.StoreID err := retry.WithBackoff(allocRetryOptions, func() (retry.Status, error) { r, err := db.Inc(keys.StoreIDGenerator, inc) if err != nil { status := retry.Break if _, ok := err.(util.Retryable); ok { status = retry.Continue } return status, util.Errorf("unable to allocate %d store IDs for node %d: %s", inc, nodeID, err) } id = proto.StoreID(r.ValueInt() - inc + 1) return retry.Break, nil }) return id, err }