HBASE-26688 Threads shared EMPTY_RESULT may lead to unexpected client job down. ...
[hbase.git] / hbase-client / src / main / java / org / apache / hadoop / hbase / client / TableBuilderBase.java
blobfa543c0624454f9988a4978f5ba8fa8983cf3162
1 /**
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.hadoop.hbase.TableName;
21 import org.apache.yetus.audience.InterfaceAudience;
23 /**
24 * Base class for all table builders.
26 @InterfaceAudience.Private
27 abstract class TableBuilderBase implements TableBuilder {
29 protected TableName tableName;
31 protected int operationTimeout;
33 protected int rpcTimeout;
35 protected int readRpcTimeout;
37 protected int writeRpcTimeout;
39 TableBuilderBase(TableName tableName, ConnectionConfiguration connConf) {
40 if (tableName == null) {
41 throw new IllegalArgumentException("Given table name is null");
43 this.tableName = tableName;
44 this.operationTimeout = tableName.isSystemTable() ? connConf.getMetaOperationTimeout()
45 : connConf.getOperationTimeout();
46 this.rpcTimeout = connConf.getRpcTimeout();
47 this.readRpcTimeout = connConf.getReadRpcTimeout();
48 this.writeRpcTimeout = connConf.getWriteRpcTimeout();
51 @Override
52 public TableBuilderBase setOperationTimeout(int timeout) {
53 this.operationTimeout = timeout;
54 return this;
57 @Override
58 public TableBuilderBase setRpcTimeout(int timeout) {
59 this.rpcTimeout = timeout;
60 return this;
63 @Override
64 public TableBuilderBase setReadRpcTimeout(int timeout) {
65 this.readRpcTimeout = timeout;
66 return this;
69 @Override
70 public TableBuilderBase setWriteRpcTimeout(int timeout) {
71 this.writeRpcTimeout = timeout;
72 return this;