2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
18 package org
.apache
.hadoop
.hbase
.client
;
20 import org
.apache
.yetus
.audience
.InterfaceAudience
;
23 * For creating {@link Table} instance.
25 * The implementation should have default configurations set before returning the builder to user.
26 * So users are free to only set the configurations they care about to create a new
29 @InterfaceAudience.Public
30 public interface TableBuilder
{
33 * Set timeout for a whole operation such as get, put or delete. Notice that scan will not be
34 * effected by this value, see scanTimeoutNs.
36 * Operation timeout and max attempt times(or max retry times) are both limitations for retrying,
37 * we will stop retrying when we reach any of the limitations.
39 TableBuilder
setOperationTimeout(int timeout
);
42 * Set timeout for each rpc request.
44 * Notice that this will <strong>NOT</strong> change the rpc timeout for read(get, scan) request
45 * and write request(put, delete).
47 TableBuilder
setRpcTimeout(int timeout
);
50 * Set timeout for each read(get, scan) rpc request.
52 TableBuilder
setReadRpcTimeout(int timeout
);
55 * Set timeout for each write(put, delete) rpc request.
57 TableBuilder
setWriteRpcTimeout(int timeout
);
60 * Create the {@link Table} instance.