You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2018/03/16 14:54:02 UTC
[22/51] [partial] hbase-site git commit: Published site at
22f4def942f8a3367d0ca6598317e9b9a7d0cfcd.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8b1eaec1/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html
index 26b9cc0..6fa64ff 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html
@@ -949,394 +949,411 @@
<span class="sourceLineNo">941</span> */<a name="line.941"></a>
<span class="sourceLineNo">942</span> public static final float HBASE_CLUSTER_MINIMUM_MEMORY_THRESHOLD = 0.2f;<a name="line.942"></a>
<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span> public static final Pattern CP_HTD_ATTR_KEY_PATTERN =<a name="line.944"></a>
-<span class="sourceLineNo">945</span> Pattern.compile("^coprocessor\\$([0-9]+)$", Pattern.CASE_INSENSITIVE);<a name="line.945"></a>
-<span class="sourceLineNo">946</span><a name="line.946"></a>
-<span class="sourceLineNo">947</span> /**<a name="line.947"></a>
-<span class="sourceLineNo">948</span> * <pre><a name="line.948"></a>
-<span class="sourceLineNo">949</span> * Pattern that matches a coprocessor specification. Form is:<a name="line.949"></a>
-<span class="sourceLineNo">950</span> * {@code <coprocessor jar file location> '|' <class name> ['|' <priority> ['|' <arguments>]]}<a name="line.950"></a>
-<span class="sourceLineNo">951</span> * where arguments are {@code <KEY> '=' <VALUE> [,...]}<a name="line.951"></a>
-<span class="sourceLineNo">952</span> * For example: {@code hdfs:///foo.jar|com.foo.FooRegionObserver|1001|arg1=1,arg2=2}<a name="line.952"></a>
-<span class="sourceLineNo">953</span> * </pre><a name="line.953"></a>
-<span class="sourceLineNo">954</span> */<a name="line.954"></a>
-<span class="sourceLineNo">955</span> public static final Pattern CP_HTD_ATTR_VALUE_PATTERN =<a name="line.955"></a>
-<span class="sourceLineNo">956</span> Pattern.compile("(^[^\\|]*)\\|([^\\|]+)\\|[\\s]*([\\d]*)[\\s]*(\\|.*)?$");<a name="line.956"></a>
-<span class="sourceLineNo">957</span><a name="line.957"></a>
-<span class="sourceLineNo">958</span> public static final String CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN = "[^=,]+";<a name="line.958"></a>
-<span class="sourceLineNo">959</span> public static final String CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN = "[^,]+";<a name="line.959"></a>
-<span class="sourceLineNo">960</span> public static final Pattern CP_HTD_ATTR_VALUE_PARAM_PATTERN = Pattern.compile(<a name="line.960"></a>
-<span class="sourceLineNo">961</span> "(" + CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN + ")=(" +<a name="line.961"></a>
-<span class="sourceLineNo">962</span> CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN + "),?");<a name="line.962"></a>
-<span class="sourceLineNo">963</span> public static final String CP_HTD_ATTR_INCLUSION_KEY =<a name="line.963"></a>
-<span class="sourceLineNo">964</span> "hbase.coprocessor.classloader.included.classes";<a name="line.964"></a>
-<span class="sourceLineNo">965</span><a name="line.965"></a>
-<span class="sourceLineNo">966</span> /** The delay when re-trying a socket operation in a loop (HBASE-4712) */<a name="line.966"></a>
-<span class="sourceLineNo">967</span> public static final int SOCKET_RETRY_WAIT_MS = 200;<a name="line.967"></a>
-<span class="sourceLineNo">968</span><a name="line.968"></a>
-<span class="sourceLineNo">969</span> /** Host name of the local machine */<a name="line.969"></a>
-<span class="sourceLineNo">970</span> public static final String LOCALHOST = "localhost";<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span> /**<a name="line.972"></a>
-<span class="sourceLineNo">973</span> * If this parameter is set to true, then hbase will read<a name="line.973"></a>
-<span class="sourceLineNo">974</span> * data and then verify checksums. Checksum verification<a name="line.974"></a>
-<span class="sourceLineNo">975</span> * inside hdfs will be switched off. However, if the hbase-checksum<a name="line.975"></a>
-<span class="sourceLineNo">976</span> * verification fails, then it will switch back to using<a name="line.976"></a>
-<span class="sourceLineNo">977</span> * hdfs checksums for verifiying data that is being read from storage.<a name="line.977"></a>
-<span class="sourceLineNo">978</span> *<a name="line.978"></a>
-<span class="sourceLineNo">979</span> * If this parameter is set to false, then hbase will not<a name="line.979"></a>
-<span class="sourceLineNo">980</span> * verify any checksums, instead it will depend on checksum verification<a name="line.980"></a>
-<span class="sourceLineNo">981</span> * being done in the hdfs client.<a name="line.981"></a>
-<span class="sourceLineNo">982</span> */<a name="line.982"></a>
-<span class="sourceLineNo">983</span> public static final String HBASE_CHECKSUM_VERIFICATION =<a name="line.983"></a>
-<span class="sourceLineNo">984</span> "hbase.regionserver.checksum.verify";<a name="line.984"></a>
+<span class="sourceLineNo">944</span> /**<a name="line.944"></a>
+<span class="sourceLineNo">945</span> * @deprecated It is used internally. As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.945"></a>
+<span class="sourceLineNo">946</span> */<a name="line.946"></a>
+<span class="sourceLineNo">947</span> @Deprecated<a name="line.947"></a>
+<span class="sourceLineNo">948</span> public static final Pattern CP_HTD_ATTR_KEY_PATTERN =<a name="line.948"></a>
+<span class="sourceLineNo">949</span> Pattern.compile("^coprocessor\\$([0-9]+)$", Pattern.CASE_INSENSITIVE);<a name="line.949"></a>
+<span class="sourceLineNo">950</span><a name="line.950"></a>
+<span class="sourceLineNo">951</span> /**<a name="line.951"></a>
+<span class="sourceLineNo">952</span> * <pre><a name="line.952"></a>
+<span class="sourceLineNo">953</span> * Pattern that matches a coprocessor specification. Form is:<a name="line.953"></a>
+<span class="sourceLineNo">954</span> * {@code <coprocessor jar file location> '|' <class name> ['|' <priority> ['|' <arguments>]]}<a name="line.954"></a>
+<span class="sourceLineNo">955</span> * where arguments are {@code <KEY> '=' <VALUE> [,...]}<a name="line.955"></a>
+<span class="sourceLineNo">956</span> * For example: {@code hdfs:///foo.jar|com.foo.FooRegionObserver|1001|arg1=1,arg2=2}<a name="line.956"></a>
+<span class="sourceLineNo">957</span> * </pre><a name="line.957"></a>
+<span class="sourceLineNo">958</span> * @deprecated It is used internally. As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.958"></a>
+<span class="sourceLineNo">959</span> */<a name="line.959"></a>
+<span class="sourceLineNo">960</span> @Deprecated<a name="line.960"></a>
+<span class="sourceLineNo">961</span> public static final Pattern CP_HTD_ATTR_VALUE_PATTERN =<a name="line.961"></a>
+<span class="sourceLineNo">962</span> Pattern.compile("(^[^\\|]*)\\|([^\\|]+)\\|[\\s]*([\\d]*)[\\s]*(\\|.*)?$");<a name="line.962"></a>
+<span class="sourceLineNo">963</span> /**<a name="line.963"></a>
+<span class="sourceLineNo">964</span> * @deprecated It is used internally. As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.964"></a>
+<span class="sourceLineNo">965</span> */<a name="line.965"></a>
+<span class="sourceLineNo">966</span> @Deprecated<a name="line.966"></a>
+<span class="sourceLineNo">967</span> public static final String CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN = "[^=,]+";<a name="line.967"></a>
+<span class="sourceLineNo">968</span> /**<a name="line.968"></a>
+<span class="sourceLineNo">969</span> * @deprecated It is used internally. As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.969"></a>
+<span class="sourceLineNo">970</span> */<a name="line.970"></a>
+<span class="sourceLineNo">971</span> @Deprecated<a name="line.971"></a>
+<span class="sourceLineNo">972</span> public static final String CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN = "[^,]+";<a name="line.972"></a>
+<span class="sourceLineNo">973</span> /**<a name="line.973"></a>
+<span class="sourceLineNo">974</span> * @deprecated It is used internally. As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.974"></a>
+<span class="sourceLineNo">975</span> */<a name="line.975"></a>
+<span class="sourceLineNo">976</span> @Deprecated<a name="line.976"></a>
+<span class="sourceLineNo">977</span> public static final Pattern CP_HTD_ATTR_VALUE_PARAM_PATTERN = Pattern.compile(<a name="line.977"></a>
+<span class="sourceLineNo">978</span> "(" + CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN + ")=(" +<a name="line.978"></a>
+<span class="sourceLineNo">979</span> CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN + "),?");<a name="line.979"></a>
+<span class="sourceLineNo">980</span> public static final String CP_HTD_ATTR_INCLUSION_KEY =<a name="line.980"></a>
+<span class="sourceLineNo">981</span> "hbase.coprocessor.classloader.included.classes";<a name="line.981"></a>
+<span class="sourceLineNo">982</span><a name="line.982"></a>
+<span class="sourceLineNo">983</span> /** The delay when re-trying a socket operation in a loop (HBASE-4712) */<a name="line.983"></a>
+<span class="sourceLineNo">984</span> public static final int SOCKET_RETRY_WAIT_MS = 200;<a name="line.984"></a>
<span class="sourceLineNo">985</span><a name="line.985"></a>
-<span class="sourceLineNo">986</span> public static final String LOCALHOST_IP = "127.0.0.1";<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span> public static final String REGION_SERVER_HANDLER_COUNT = "hbase.regionserver.handler.count";<a name="line.988"></a>
-<span class="sourceLineNo">989</span> public static final int DEFAULT_REGION_SERVER_HANDLER_COUNT = 30;<a name="line.989"></a>
-<span class="sourceLineNo">990</span><a name="line.990"></a>
-<span class="sourceLineNo">991</span> /*<a name="line.991"></a>
-<span class="sourceLineNo">992</span> * REGION_SERVER_HANDLER_ABORT_ON_ERROR_PERCENT:<a name="line.992"></a>
-<span class="sourceLineNo">993</span> * -1 => Disable aborting<a name="line.993"></a>
-<span class="sourceLineNo">994</span> * 0 => Abort if even a single handler has died<a name="line.994"></a>
-<span class="sourceLineNo">995</span> * 0.x => Abort only when this percent of handlers have died<a name="line.995"></a>
-<span class="sourceLineNo">996</span> * 1 => Abort only all of the handers have died<a name="line.996"></a>
-<span class="sourceLineNo">997</span> */<a name="line.997"></a>
-<span class="sourceLineNo">998</span> public static final String REGION_SERVER_HANDLER_ABORT_ON_ERROR_PERCENT =<a name="line.998"></a>
-<span class="sourceLineNo">999</span> "hbase.regionserver.handler.abort.on.error.percent";<a name="line.999"></a>
-<span class="sourceLineNo">1000</span> public static final double DEFAULT_REGION_SERVER_HANDLER_ABORT_ON_ERROR_PERCENT = 0.5;<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span><a name="line.1001"></a>
-<span class="sourceLineNo">1002</span> //High priority handlers to deal with admin requests and system table operation requests<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span> public static final String REGION_SERVER_HIGH_PRIORITY_HANDLER_COUNT =<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span> "hbase.regionserver.metahandler.count";<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span> public static final int DEFAULT_REGION_SERVER_HIGH_PRIORITY_HANDLER_COUNT = 20;<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span><a name="line.1006"></a>
-<span class="sourceLineNo">1007</span> public static final String REGION_SERVER_REPLICATION_HANDLER_COUNT =<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span> "hbase.regionserver.replication.handler.count";<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span> public static final int DEFAULT_REGION_SERVER_REPLICATION_HANDLER_COUNT = 3;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span><a name="line.1010"></a>
-<span class="sourceLineNo">1011</span> /** Conf key for enabling meta replication */<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span> public static final String USE_META_REPLICAS = "hbase.meta.replicas.use";<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span> public static final boolean DEFAULT_USE_META_REPLICAS = false;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span> public static final String META_REPLICAS_NUM = "hbase.meta.replica.count";<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span> public static final int DEFAULT_META_REPLICA_NUM = 1;<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span><a name="line.1016"></a>
-<span class="sourceLineNo">1017</span> /**<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span> * The name of the configuration parameter that specifies<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span> * the number of bytes in a newly created checksum chunk.<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span> */<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span> public static final String BYTES_PER_CHECKSUM =<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span> "hbase.hstore.bytes.per.checksum";<a name="line.1022"></a>
+<span class="sourceLineNo">986</span> /** Host name of the local machine */<a name="line.986"></a>
+<span class="sourceLineNo">987</span> public static final String LOCALHOST = "localhost";<a name="line.987"></a>
+<span class="sourceLineNo">988</span><a name="line.988"></a>
+<span class="sourceLineNo">989</span> /**<a name="line.989"></a>
+<span class="sourceLineNo">990</span> * If this parameter is set to true, then hbase will read<a name="line.990"></a>
+<span class="sourceLineNo">991</span> * data and then verify checksums. Checksum verification<a name="line.991"></a>
+<span class="sourceLineNo">992</span> * inside hdfs will be switched off. However, if the hbase-checksum<a name="line.992"></a>
+<span class="sourceLineNo">993</span> * verification fails, then it will switch back to using<a name="line.993"></a>
+<span class="sourceLineNo">994</span> * hdfs checksums for verifiying data that is being read from storage.<a name="line.994"></a>
+<span class="sourceLineNo">995</span> *<a name="line.995"></a>
+<span class="sourceLineNo">996</span> * If this parameter is set to false, then hbase will not<a name="line.996"></a>
+<span class="sourceLineNo">997</span> * verify any checksums, instead it will depend on checksum verification<a name="line.997"></a>
+<span class="sourceLineNo">998</span> * being done in the hdfs client.<a name="line.998"></a>
+<span class="sourceLineNo">999</span> */<a name="line.999"></a>
+<span class="sourceLineNo">1000</span> public static final String HBASE_CHECKSUM_VERIFICATION =<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span> "hbase.regionserver.checksum.verify";<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span><a name="line.1002"></a>
+<span class="sourceLineNo">1003</span> public static final String LOCALHOST_IP = "127.0.0.1";<a name="line.1003"></a>
+<span class="sourceLineNo">1004</span><a name="line.1004"></a>
+<span class="sourceLineNo">1005</span> public static final String REGION_SERVER_HANDLER_COUNT = "hbase.regionserver.handler.count";<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span> public static final int DEFAULT_REGION_SERVER_HANDLER_COUNT = 30;<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span><a name="line.1007"></a>
+<span class="sourceLineNo">1008</span> /*<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span> * REGION_SERVER_HANDLER_ABORT_ON_ERROR_PERCENT:<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span> * -1 => Disable aborting<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span> * 0 => Abort if even a single handler has died<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span> * 0.x => Abort only when this percent of handlers have died<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span> * 1 => Abort only all of the handers have died<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span> */<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span> public static final String REGION_SERVER_HANDLER_ABORT_ON_ERROR_PERCENT =<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span> "hbase.regionserver.handler.abort.on.error.percent";<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span> public static final double DEFAULT_REGION_SERVER_HANDLER_ABORT_ON_ERROR_PERCENT = 0.5;<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span><a name="line.1018"></a>
+<span class="sourceLineNo">1019</span> //High priority handlers to deal with admin requests and system table operation requests<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span> public static final String REGION_SERVER_HIGH_PRIORITY_HANDLER_COUNT =<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span> "hbase.regionserver.metahandler.count";<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span> public static final int DEFAULT_REGION_SERVER_HIGH_PRIORITY_HANDLER_COUNT = 20;<a name="line.1022"></a>
<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span> /**<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span> * The name of the configuration parameter that specifies<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span> * the name of an algorithm that is used to compute checksums<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span> * for newly created blocks.<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span> */<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span> public static final String CHECKSUM_TYPE_NAME =<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span> "hbase.hstore.checksum.algorithm";<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span> /** Enable file permission modification from standard hbase */<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span> public static final String ENABLE_DATA_FILE_UMASK = "hbase.data.umask.enable";<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span> /** File permission umask to use when creating hbase data files */<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span> public static final String DATA_FILE_UMASK_KEY = "hbase.data.umask";<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span><a name="line.1036"></a>
-<span class="sourceLineNo">1037</span> /** Configuration name of WAL Compression */<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span> public static final String ENABLE_WAL_COMPRESSION =<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span> "hbase.regionserver.wal.enablecompression";<a name="line.1039"></a>
+<span class="sourceLineNo">1024</span> public static final String REGION_SERVER_REPLICATION_HANDLER_COUNT =<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span> "hbase.regionserver.replication.handler.count";<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span> public static final int DEFAULT_REGION_SERVER_REPLICATION_HANDLER_COUNT = 3;<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span><a name="line.1027"></a>
+<span class="sourceLineNo">1028</span> /** Conf key for enabling meta replication */<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span> public static final String USE_META_REPLICAS = "hbase.meta.replicas.use";<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span> public static final boolean DEFAULT_USE_META_REPLICAS = false;<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span> public static final String META_REPLICAS_NUM = "hbase.meta.replica.count";<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span> public static final int DEFAULT_META_REPLICA_NUM = 1;<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span><a name="line.1033"></a>
+<span class="sourceLineNo">1034</span> /**<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span> * The name of the configuration parameter that specifies<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span> * the number of bytes in a newly created checksum chunk.<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span> */<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span> public static final String BYTES_PER_CHECKSUM =<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span> "hbase.hstore.bytes.per.checksum";<a name="line.1039"></a>
<span class="sourceLineNo">1040</span><a name="line.1040"></a>
-<span class="sourceLineNo">1041</span> /** Configuration name of WAL storage policy<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span> * Valid values are: HOT, COLD, WARM, ALL_SSD, ONE_SSD, LAZY_PERSIST<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span> * See http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html*/<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span> public static final String WAL_STORAGE_POLICY = "hbase.wal.storage.policy";<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span> public static final String DEFAULT_WAL_STORAGE_POLICY = "HOT";<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span><a name="line.1046"></a>
-<span class="sourceLineNo">1047</span> /** Region in Transition metrics threshold time */<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span> public static final String METRICS_RIT_STUCK_WARNING_THRESHOLD =<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span> "hbase.metrics.rit.stuck.warning.threshold";<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span><a name="line.1050"></a>
-<span class="sourceLineNo">1051</span> public static final String LOAD_BALANCER_SLOP_KEY = "hbase.regions.slop";<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span><a name="line.1052"></a>
-<span class="sourceLineNo">1053</span> /** delimiter used between portions of a region name */<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span> public static final int DELIMITER = ',';<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span><a name="line.1055"></a>
-<span class="sourceLineNo">1056</span> /**<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span> * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span> * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span> * handled by high priority handlers.<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span> */<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span> // normal_QOS < replication_QOS < replay_QOS < QOS_threshold < admin_QOS < high_QOS<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span> public static final int PRIORITY_UNSET = -1;<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span> public static final int NORMAL_QOS = 0;<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span> public static final int REPLICATION_QOS = 5;<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span> public static final int REPLAY_QOS = 6;<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span> public static final int QOS_THRESHOLD = 10;<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span> public static final int ADMIN_QOS = 100;<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span> public static final int HIGH_QOS = 200;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span> public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span><a name="line.1070"></a>
-<span class="sourceLineNo">1071</span> /** Directory under /hbase where archived hfiles are stored */<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span> public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span><a name="line.1073"></a>
-<span class="sourceLineNo">1074</span> /**<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span> * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span> * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span> * uni-directional.<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span> */<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span> public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span><a name="line.1080"></a>
-<span class="sourceLineNo">1081</span> /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span> public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span><a name="line.1083"></a>
-<span class="sourceLineNo">1084</span> /** Temporary directory used for table creation and deletion */<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span> public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span> /**<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span> * The period (in milliseconds) between computing region server point in time metrics<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span> */<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span> public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span> public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span> /** Directories that are not HBase table directories */<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span> public static final List<String> HBASE_NON_TABLE_DIRS =<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span> Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span> HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span> }));<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span><a name="line.1096"></a>
-<span class="sourceLineNo">1097</span> /** Directories that are not HBase user table directories */<a name="line.1097"></a>
-<span class="sourceLineNo">1098</span> public static final List<String> HBASE_NON_USER_TABLE_DIRS =<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span> Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span> new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span> HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span><a name="line.1102"></a>
-<span class="sourceLineNo">1103</span> /** Health script related settings. */<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span> public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span> public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> "hbase.node.health.script.frequency";<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> /**<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> * The maximum number of health check failures a server can encounter consecutively.<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span> */<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span> public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> "hbase.node.health.failure.threshold";<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span><a name="line.1115"></a>
-<span class="sourceLineNo">1116</span><a name="line.1116"></a>
-<span class="sourceLineNo">1117</span> /**<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span> * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span> * notification is by a multicast message.<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span> */<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span> public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span> public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span><a name="line.1123"></a>
-<span class="sourceLineNo">1124</span> /**<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span> * IP to use for the multicast status messages between the master and the clients.<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span> * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span> * messages.<a name="line.1127"></a>
+<span class="sourceLineNo">1041</span> /**<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span> * The name of the configuration parameter that specifies<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span> * the name of an algorithm that is used to compute checksums<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span> * for newly created blocks.<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span> */<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span> public static final String CHECKSUM_TYPE_NAME =<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span> "hbase.hstore.checksum.algorithm";<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span><a name="line.1048"></a>
+<span class="sourceLineNo">1049</span> /** Enable file permission modification from standard hbase */<a name="line.1049"></a>
+<span class="sourceLineNo">1050</span> public static final String ENABLE_DATA_FILE_UMASK = "hbase.data.umask.enable";<a name="line.1050"></a>
+<span class="sourceLineNo">1051</span> /** File permission umask to use when creating hbase data files */<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span> public static final String DATA_FILE_UMASK_KEY = "hbase.data.umask";<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span><a name="line.1053"></a>
+<span class="sourceLineNo">1054</span> /** Configuration name of WAL Compression */<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span> public static final String ENABLE_WAL_COMPRESSION =<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span> "hbase.regionserver.wal.enablecompression";<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span><a name="line.1057"></a>
+<span class="sourceLineNo">1058</span> /** Configuration name of WAL storage policy<a name="line.1058"></a>
+<span class="sourceLineNo">1059</span> * Valid values are: HOT, COLD, WARM, ALL_SSD, ONE_SSD, LAZY_PERSIST<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span> * See http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html*/<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span> public static final String WAL_STORAGE_POLICY = "hbase.wal.storage.policy";<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span> public static final String DEFAULT_WAL_STORAGE_POLICY = "HOT";<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span><a name="line.1063"></a>
+<span class="sourceLineNo">1064</span> /** Region in Transition metrics threshold time */<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span> public static final String METRICS_RIT_STUCK_WARNING_THRESHOLD =<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span> "hbase.metrics.rit.stuck.warning.threshold";<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span><a name="line.1067"></a>
+<span class="sourceLineNo">1068</span> public static final String LOAD_BALANCER_SLOP_KEY = "hbase.regions.slop";<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span><a name="line.1069"></a>
+<span class="sourceLineNo">1070</span> /** delimiter used between portions of a region name */<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span> public static final int DELIMITER = ',';<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span><a name="line.1072"></a>
+<span class="sourceLineNo">1073</span> /**<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span> * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span> * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span> * handled by high priority handlers.<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span> */<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span> // normal_QOS < replication_QOS < replay_QOS < QOS_threshold < admin_QOS < high_QOS<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span> public static final int PRIORITY_UNSET = -1;<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span> public static final int NORMAL_QOS = 0;<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span> public static final int REPLICATION_QOS = 5;<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span> public static final int REPLAY_QOS = 6;<a name="line.1082"></a>
+<span class="sourceLineNo">1083</span> public static final int QOS_THRESHOLD = 10;<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span> public static final int ADMIN_QOS = 100;<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span> public static final int HIGH_QOS = 200;<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span> public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1086"></a>
+<span class="sourceLineNo">1087</span><a name="line.1087"></a>
+<span class="sourceLineNo">1088</span> /** Directory under /hbase where archived hfiles are stored */<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span> public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span><a name="line.1090"></a>
+<span class="sourceLineNo">1091</span> /**<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span> * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span> * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span> * uni-directional.<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span> */<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span> public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span><a name="line.1097"></a>
+<span class="sourceLineNo">1098</span> /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span> public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span><a name="line.1100"></a>
+<span class="sourceLineNo">1101</span> /** Temporary directory used for table creation and deletion */<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span> public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span> /**<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span> * The period (in milliseconds) between computing region server point in time metrics<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span> */<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span> public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span> public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span> /** Directories that are not HBase table directories */<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span> public static final List<String> HBASE_NON_TABLE_DIRS =<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span> Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span> HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span> }));<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span><a name="line.1113"></a>
+<span class="sourceLineNo">1114</span> /** Directories that are not HBase user table directories */<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span> public static final List<String> HBASE_NON_USER_TABLE_DIRS =<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span> Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span> new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span> HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span><a name="line.1119"></a>
+<span class="sourceLineNo">1120</span> /** Health script related settings. */<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span> public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span> public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span> public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span> "hbase.node.health.script.frequency";<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span> public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span> /**<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span> * The maximum number of health check failures a server can encounter consecutively.<a name="line.1127"></a>
<span class="sourceLineNo">1128</span> */<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span> public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span> public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span><a name="line.1131"></a>
-<span class="sourceLineNo">1132</span> /**<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span> * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span> * 0.0.0.0.<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span> * @see <a href="https://issues.apache.org/jira/browse/HBASE-9961">HBASE-9961</a><a name="line.1135"></a>
-<span class="sourceLineNo">1136</span> */<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span> public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span> "hbase.status.multicast.bind.address.ip";<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span> public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1139"></a>
+<span class="sourceLineNo">1129</span> public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span> "hbase.node.health.failure.threshold";<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span> public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span><a name="line.1132"></a>
+<span class="sourceLineNo">1133</span><a name="line.1133"></a>
+<span class="sourceLineNo">1134</span> /**<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span> * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span> * notification is by a multicast message.<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span> */<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span> public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span> public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1139"></a>
<span class="sourceLineNo">1140</span><a name="line.1140"></a>
<span class="sourceLineNo">1141</span> /**<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span> * The port to use for the multicast messages.<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span> */<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span> public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span> public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span><a name="line.1146"></a>
-<span class="sourceLineNo">1147</span> /**<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span> * The network interface name to use for the multicast messages.<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span> */<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span> public static final String STATUS_MULTICAST_NI_NAME = "hbase.status.multicast.ni.name";<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span><a name="line.1151"></a>
-<span class="sourceLineNo">1152</span> /**<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span> * The address to use for binding the local socket for sending multicast. Defaults to 0.0.0.0.<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span> */<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span> public static final String STATUS_MULTICAST_PUBLISHER_BIND_ADDRESS =<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span> "hbase.status.multicast.publisher.bind.address.ip";<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span> public static final String DEFAULT_STATUS_MULTICAST_PUBLISHER_BIND_ADDRESS = "0.0.0.0";<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span><a name="line.1158"></a>
-<span class="sourceLineNo">1159</span> public static final long NO_NONCE = 0;<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span><a name="line.1160"></a>
-<span class="sourceLineNo">1161</span> /** Default cipher for encryption */<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span> public static final String CIPHER_AES = "AES";<a name="line.1162"></a>
+<span class="sourceLineNo">1142</span> * IP to use for the multicast status messages between the master and the clients.<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span> * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span> * messages.<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span> */<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span> public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span> public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span><a name="line.1148"></a>
+<span class="sourceLineNo">1149</span> /**<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span> * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span> * 0.0.0.0.<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span> * @see <a href="https://issues.apache.org/jira/browse/HBASE-9961">HBASE-9961</a><a name="line.1152"></a>
+<span class="sourceLineNo">1153</span> */<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span> public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span> "hbase.status.multicast.bind.address.ip";<a name="line.1155"></a>
+<span class="sourceLineNo">1156</span> public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span><a name="line.1157"></a>
+<span class="sourceLineNo">1158</span> /**<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span> * The port to use for the multicast messages.<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span> */<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span> public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span> public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1162"></a>
<span class="sourceLineNo">1163</span><a name="line.1163"></a>
-<span class="sourceLineNo">1164</span> /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span> public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span><a name="line.1166"></a>
-<span class="sourceLineNo">1167</span> /** Configuration key for the crypto key provider, a class name */<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span> public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span><a name="line.1169"></a>
-<span class="sourceLineNo">1170</span> /** Configuration key for the crypto key provider parameters */<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span> public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span> "hbase.crypto.keyprovider.parameters";<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span><a name="line.1173"></a>
-<span class="sourceLineNo">1174</span> /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span> public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span><a name="line.1176"></a>
-<span class="sourceLineNo">1177</span> /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span> public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span> "hbase.crypto.master.alternate.key.name";<a name="line.1179"></a>
+<span class="sourceLineNo">1164</span> /**<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span> * The network interface name to use for the multicast messages.<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span> */<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span> public static final String STATUS_MULTICAST_NI_NAME = "hbase.status.multicast.ni.name";<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span><a name="line.1168"></a>
+<span class="sourceLineNo">1169</span> /**<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span> * The address to use for binding the local socket for sending multicast. Defaults to 0.0.0.0.<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span> */<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span> public static final String STATUS_MULTICAST_PUBLISHER_BIND_ADDRESS =<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span> "hbase.status.multicast.publisher.bind.address.ip";<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span> public static final String DEFAULT_STATUS_MULTICAST_PUBLISHER_BIND_ADDRESS = "0.0.0.0";<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span><a name="line.1175"></a>
+<span class="sourceLineNo">1176</span> public static final long NO_NONCE = 0;<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span><a name="line.1177"></a>
+<span class="sourceLineNo">1178</span> /** Default cipher for encryption */<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span> public static final String CIPHER_AES = "AES";<a name="line.1179"></a>
<span class="sourceLineNo">1180</span><a name="line.1180"></a>
-<span class="sourceLineNo">1181</span> /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span> public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1182"></a>
+<span class="sourceLineNo">1181</span> /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span> public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1182"></a>
<span class="sourceLineNo">1183</span><a name="line.1183"></a>
-<span class="sourceLineNo">1184</span> /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span> public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1185"></a>
+<span class="sourceLineNo">1184</span> /** Configuration key for the crypto key provider, a class name */<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span> public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1185"></a>
<span class="sourceLineNo">1186</span><a name="line.1186"></a>
-<span class="sourceLineNo">1187</span> /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span> public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span><a name="line.1189"></a>
-<span class="sourceLineNo">1190</span> /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span> public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span> "hbase.crypto.alternate.key.algorithm";<a name="line.1192"></a>
+<span class="sourceLineNo">1187</span> /** Configuration key for the crypto key provider parameters */<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span> public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span> "hbase.crypto.keyprovider.parameters";<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span><a name="line.1190"></a>
+<span class="sourceLineNo">1191</span> /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span> public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1192"></a>
<span class="sourceLineNo">1193</span><a name="line.1193"></a>
-<span class="sourceLineNo">1194</span> /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span> public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span><a name="line.1196"></a>
-<span class="sourceLineNo">1197</span> /** Configuration key for setting RPC codec class name */<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span> public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span><a name="line.1199"></a>
-<span class="sourceLineNo">1200</span> /** Configuration key for setting replication codec class name */<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span> public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span><a name="line.1202"></a>
-<span class="sourceLineNo">1203</span> /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span> public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span> "hbase.replication.source.maxthreads";<a name="line.1205"></a>
+<span class="sourceLineNo">1194</span> /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span> public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span> "hbase.crypto.master.alternate.key.name";<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span><a name="line.1197"></a>
+<span class="sourceLineNo">1198</span> /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span> public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span><a name="line.1200"></a>
+<span class="sourceLineNo">1201</span> /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1201"></a>
+<span class="sourceLineNo">1202</span> public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span><a name="line.1203"></a>
+<span class="sourceLineNo">1204</span> /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span> public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1205"></a>
<span class="sourceLineNo">1206</span><a name="line.1206"></a>
-<span class="sourceLineNo">1207</span> /** Drop edits for tables that been deleted from the replication source and target */<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span> public static final String REPLICATION_DROP_ON_DELETED_TABLE_KEY =<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span> "hbase.replication.drop.on.deleted.table";<a name="line.1209"></a>
+<span class="sourceLineNo">1207</span> /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span> public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span> "hbase.crypto.alternate.key.algorithm";<a name="line.1209"></a>
<span class="sourceLineNo">1210</span><a name="line.1210"></a>
-<span class="sourceLineNo">1211</span> /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span> public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1212"></a>
+<span class="sourceLineNo">1211</span> /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span> public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1212"></a>
<span class="sourceLineNo">1213</span><a name="line.1213"></a>
-<span class="sourceLineNo">1214</span> /** Configuration key for SplitLog manager timeout */<a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1215"></a>
+<span class="sourceLineNo">1214</span> /** Configuration key for setting RPC codec class name */<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span> public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1215"></a>
<span class="sourceLineNo">1216</span><a name="line.1216"></a>
-<span class="sourceLineNo">1217</span> /**<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span> * Configuration keys for Bucket cache<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span> */<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span> // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span> // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span> // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span> // hbase-common?<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span><a name="line.1224"></a>
-<span class="sourceLineNo">1225</span> /**<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span> * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span> * to the file that will host the file-based cache. See BucketCache#getIOEngineFromName() for<a name="line.1227"></a>
-<span class="sourceLineNo">1228</span> * list of supported ioengine options.<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span> * <p>Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span> */<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span> public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span><a name="line.1232"></a>
-<span class="sourceLineNo">1233</span> /**<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span> * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span> * memory size to give to the cache (if &lt; 1.0) OR, it is the capacity in<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span> * megabytes of the cache.<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span> */<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span> public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span><a name="line.1239"></a>
-<span class="sourceLineNo">1240</span> /**<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span> * HConstants for fast fail on the client side follow<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span> */<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span> /**<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span> * Config for enabling/disabling the fast fail mode.<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span> */<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span> public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span> "hbase.client.fast.fail.mode.enabled";<a name="line.1247"></a>
-<span class="sourceLineNo">1248</span><a name="line.1248"></a>
-<span class="sourceLineNo">1249</span> public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span> false;<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span><a name="line.1251"></a>
-<span class="sourceLineNo">1252</span> public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span> "hbase.client.fastfail.threshold";<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span><a name="line.1254"></a>
-<span class="sourceLineNo">1255</span> public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span> 60000;<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span><a name="line.1257"></a>
-<span class="sourceLineNo">1258</span> public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span> "hbase.client.fast.fail.cleanup.duration";<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span><a name="line.1260"></a>
-<span class="sourceLineNo">1261</span> public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span> 600000;<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span><a name="line.1263"></a>
-<span class="sourceLineNo">1264</span> public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span> "hbase.client.fast.fail.interceptor.impl";<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span><a name="line.1266"></a>
-<span class="sourceLineNo">1267</span> /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span> * that backpressure from the server */<a name="line.1268"></a>
-<span class="sourceLineNo">1269</span> public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span> public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1270"></a>
+<span class="sourceLineNo">1217</span> /** Configuration key for setting replication codec class name */<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span> public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span><a name="line.1219"></a>
+<span class="sourceLineNo">1220</span> /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span> public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span> "hbase.replication.source.maxthreads";<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span><a name="line.1223"></a>
+<span class="sourceLineNo">1224</span> /** Drop edits for tables that been deleted from the replication source and target */<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span> public static final String REPLICATION_DROP_ON_DELETED_TABLE_KEY =<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span> "hbase.replication.drop.on.deleted.table";<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span><a name="line.1227"></a>
+<span class="sourceLineNo">1228</span> /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span> public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span><a name="line.1230"></a>
+<span class="sourceLineNo">1231</span> /** Configuration key for SplitLog manager timeout */<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span> public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span><a name="line.1233"></a>
+<span class="sourceLineNo">1234</span> /**<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span> * Configuration keys for Bucket cache<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span> */<a name="line.1236"></a>
+<span class="sourceLineNo">1237</span> // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1237"></a>
+<span class="sourceLineNo">1238</span> // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span> // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span> // hbase-common?<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span><a name="line.1241"></a>
+<span class="sourceLineNo">1242</span> /**<a name="line.1242"></a>
+<span class="sourceLineNo">1243</span> * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1243"></a>
+<span class="sourceLineNo">1244</span> * to the file that will host the file-based cache. See BucketCache#getIOEngineFromName() for<a name="line.1244"></a>
+<span class="sourceLineNo">1245</span> * list of supported ioengine options.<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span> * <p>Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1246"></a>
+<span class="sourceLineNo">1247</span> */<a name="line.1247"></a>
+<span class="sourceLineNo">1248</span> public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span><a name="line.1249"></a>
+<span class="sourceLineNo">1250</span> /**<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span> * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1251"></a>
+<span class="sourceLineNo">1252</span> * memory size to give to the cache (if &lt; 1.0) OR, it is the capacity in<a name="line.1252"></a>
+<span class="sourceLineNo">1253</span> * megabytes of the cache.<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span> */<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span> public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span><a name="line.1256"></a>
+<span class="sourceLineNo">1257</span> /**<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span> * HConstants for fast fail on the client side follow<a name="line.1258"></a>
+<span class="sourceLineNo">1259</span> */<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span> /**<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span> * Config for enabling/disabling the fast fail mode.<a name="line.1261"></a>
+<span class="sourceLineNo">1262</span> */<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span> public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span> "hbase.client.fast.fail.mode.enabled";<a name="line.1264"></a>
+<span class="sourceLineNo">1265</span><a name="line.1265"></a>
+<span class="sourceLineNo">1266</span> public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span> false;<a name="line.1267"></a>
+<span class="sourceLineNo">1268</span><a name="line.1268"></a>
+<span class="sourceLineNo">1269</span> public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1269"></a>
+<span class="sourceLineNo">1270</span> "hbase.client.fastfail.threshold";<a name="line.1270"></a>
<span class="sourceLineNo">1271</span><a name="line.1271"></a>
-<span class="sourceLineNo">1272</span> public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span> "hbase.heap.occupancy.low_water_mark";<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span> public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span> public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span> "hbase.heap.occupancy.high_water_mark";<a name="line.1276"></a>
-<span class="sourceLineNo">1277</span> public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span><a name="line.1278"></a>
-<span class="sourceLineNo">1279</span> /**<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span> * The max number of threads used for splitting storefiles in parallel during<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span> * the region split process.<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span> */<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span> public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span> "hbase.regionserver.region.split.threads.max";<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span><a name="line.1285"></a>
-<span class="sourceLineNo">1286</span> /** Canary config keys */<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span> public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1287"></a>
+<span class="sourceLineNo">1272</span> public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1272"></a>
+<span class="sourceLineNo">1273</span> 60000;<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span><a name="line.1274"></a>
+<span class="sourceLineNo">1275</span> public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span> "hbase.client.fast.fail.cleanup.duration";<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span><a name="line.1277"></a>
+<span class="sourceLineNo">1278</span> public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1278"></a>
+<span class="sourceLineNo">1279</span> 600000;<a name="line.1279"></a>
+<span class="sourceLineNo">1280</span><a name="line.1280"></a>
+<span class="sourceLineNo">1281</span> public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span> "hbase.client.fast.fail.interceptor.impl";<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span><a name="line.1283"></a>
+<span class="sourceLineNo">1284</span> /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1284"></a>
+<span class="sourceLineNo">1285</span> * that backpressure from the server */<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span> public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span> public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1287"></a>
<span class="sourceLineNo">1288</span><a name="line.1288"></a>
-<span class="sourceLineNo">1289</span> public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span> "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span><a name="line.1291"></a>
-<span class="sourceLineNo">1292</span> public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span> "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span><a name="line.1294"></a>
-<span class="sourceLineNo">1295</span> public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span><a name="line.1296"></a>
-<span class="sourceLineNo">1297</span> public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span> "hbase.canary.write.table.check.period";<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span><a name="line.1299"></a>
-<span class="sourceLineNo">1300</span> public static final String HBASE_CANARY_READ_RAW_SCAN_KEY = "hbase.canary.read.raw.enabled";<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span><a name="line.1301"></a>
-<span class="sourceLineNo">1302</span> /**<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span> * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span> */<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span> public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span> public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span> "hbase.zookeeper.client.kerberos.principal";<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span> public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span> public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span> "hbase.zookeeper.server.kerberos.principal";<a name="line.1310"></a>
+<span class="sourceLineNo">1289</span> public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span> "hbase.heap.occupancy.low_water_mark";<a name="line.1290"></a>
+<span class="sourceLineNo">1291</span> public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1291"></a>
+<span class="sourceLineNo">1292</span> public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span> "hbase.heap.occupancy.high_water_mark";<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span> public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1294"></a>
+<span class="sourceLineNo">1295</span><a name="line.1295"></a>
+<span class="sourceLineNo">1296</span> /**<a name="line.1296"></a>
+<span class="sourceLineNo">1297</span> * The max number of threads used for splitting storefiles in parallel during<a name="line.1297"></a>
+<span class="sourceLineNo">1298</span> * the region split process.<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span> */<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span> public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1300"></a>
+<span class="sourceLineNo">1301</span> "hbase.regionserver.region.split.threads.max";<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span><a name="line.1302"></a>
+<span class="sourceLineNo">1303</span> /** Canary config keys */<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span> public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span><a name="line.1305"></a>
+<span class="sourceLineNo">1306</span> public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span> "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span><a name="line.1308"></a>
+<span class="sourceLineNo">1309</span> public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span> "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1310"></a>
<span class="sourceLineNo">1311</span><a name="line.1311"></a>
-<span class="sourceLineNo">1312</span> /** Config key for hbase temporary directory in hdfs */<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span> public static final String TEMPORARY_FS_DIRECTORY_KEY = "hbase.fs.tmp.dir";<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span> public static final String DEFAULT_TEMPORARY_HDFS_DIRECTORY = "/user/"<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span> + System.getProperty("user.name") + "/hbase-staging";<a name="line.1315"></a>
+<span class="sourceLineNo">1312</span> public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span><a name="line.1313"></a>
+<span class="sourceLineNo">1314</span> public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span> "hbase.canary.write.table.check.period";<a name="line.1315"></a>
<span class="sourceLineNo">1316</span><a name="line.1316"></a>
-<span class="sourceLineNo">1317</span> public static final String SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT =<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span> "hbase.snapshot.restore.take.failsafe.snapshot";<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span> public static final boolean DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT = true;<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span><a name="line.1320"></a>
-<span class="sourceLineNo">1321</span> public static final String SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span> "hbase.snapshot.restore.failsafe.name";<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span> public static final String DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span> "hbase-failsafe-{snapshot.name}-{restore.timestamp}";<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span><a name="line.1325"></a>
-<span class="sourceLineNo">1326</span> public static final String NOT_IMPLEMENTED = "Not implemented";<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span><a name="line.1327"></a>
-<span class="sourceLineNo">1328</span> private HConstants() {<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span> // Can't be instantiated with this ctor.<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span> }<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>}<a name="line.1331"></a>
+<span class="sourceLineNo">1317</span> public static final String HBASE_CANARY_READ_RAW_SCAN_KEY = "hbase.canary.read.raw.enabled";<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span><a name="line.1318"></a>
+<span class="sourceLineNo">1319</span> /**<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span> * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span> */<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span> public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span> public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span> "hbase.zookeeper.client.kerberos.principal";<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span> public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span> public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span> "hbase.zookeeper.server.kerberos.principal";<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span><a name="line.1328"></a>
+<span class="sourceLineNo">1329</span> /** Config key for hbase temporary directory in hdfs */<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span> public static final String TEMPORARY_FS_DIRECTORY_KEY = "hbase.fs.tmp.dir";<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span> public static final String DEFAULT_TEMPORARY_HDFS_DIRECTORY = "/user/"<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span> + System.getProperty("user.name") + "/hbase-staging";<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span><a name="line.1333"></a>
+<span class="sourceLineNo">1334</span> public static final String SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT =<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span> "hbase.snapshot.restore.take.failsafe.snapshot";<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span> public static final boolean DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT = true;<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span><a name="line.1337"></a>
+<span class="sourceLineNo">1338</span> public static final String SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1338"></a>
+<span class="sourceLineNo">1339</span> "hbase.snapshot.restore.failsafe.name";<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span> public static final String DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span> "hbase-failsafe-{snapshot.name}-{restore.timestamp}";<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span><a name="line.1342"></a>
+<span class="sourceLineNo">1343</span> public static final String NOT_IMPLEMENTED = "Not implemented";<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span><a name="line.1344"></a>
+<span class="sourceLineNo">1345</span> private HConstants() {<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span> // Can't be instantiated with this ctor.<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span> }<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>}<a name="line.1348"></a>