001    /**
002     * Licensed to the Apache Software Foundation (ASF) under one
003     * or more contributor license agreements.  See the NOTICE file
004     * distributed with this work for additional information
005     * regarding copyright ownership.  The ASF licenses this file
006     * to you under the Apache License, Version 2.0 (the
007     * "License"); you may not use this file except in compliance
008     * with the License.  You may obtain a copy of the License at
009     *
010     *     http://www.apache.org/licenses/LICENSE-2.0
011     *
012     * Unless required by applicable law or agreed to in writing, software
013     * distributed under the License is distributed on an "AS IS" BASIS,
014     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015     * See the License for the specific language governing permissions and
016     * limitations under the License.
017     */
018    
019    package org.apache.hadoop.fs;
020    
021    import org.apache.hadoop.classification.InterfaceAudience;
022    
023    /** 
024     * This class contains constants for configuration keys used
025     * in the common code.
026     *
027     * It includes all publicly documented configuration keys. In general
028     * this class should not be used directly (use CommonConfigurationKeys
029     * instead)
030     *
031     */
032    
033    @InterfaceAudience.Public
034    public class CommonConfigurationKeysPublic {
035      
036      // The Keys
037      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
038      public static final String  IO_NATIVE_LIB_AVAILABLE_KEY =
039        "io.native.lib.available";
040      /** Default value for IO_NATIVE_LIB_AVAILABLE_KEY */
041      public static final boolean IO_NATIVE_LIB_AVAILABLE_DEFAULT = true;
042      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
043      public static final String  NET_TOPOLOGY_SCRIPT_NUMBER_ARGS_KEY =
044        "net.topology.script.number.args";
045      /** Default value for NET_TOPOLOGY_SCRIPT_NUMBER_ARGS_KEY */
046      public static final int     NET_TOPOLOGY_SCRIPT_NUMBER_ARGS_DEFAULT = 100;
047    
048      //FS keys
049      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
050      public static final String  FS_DEFAULT_NAME_KEY = "fs.defaultFS";
051      /** Default value for FS_DEFAULT_NAME_KEY */
052      public static final String  FS_DEFAULT_NAME_DEFAULT = "file:///";
053      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
054      public static final String  FS_DF_INTERVAL_KEY = "fs.df.interval"; 
055      /** Default value for FS_DF_INTERVAL_KEY */
056      public static final long    FS_DF_INTERVAL_DEFAULT = 60000;
057      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
058      public static final String  FS_DU_INTERVAL_KEY = "fs.du.interval";
059      /** Default value for FS_DU_INTERVAL_KEY */
060      public static final long    FS_DU_INTERVAL_DEFAULT = 600000;
061      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
062      public static final String  FS_CLIENT_RESOLVE_REMOTE_SYMLINKS_KEY =
063        "fs.client.resolve.remote.symlinks";
064      /** Default value for FS_CLIENT_RESOLVE_REMOTE_SYMLINKS_KEY */
065      public static final boolean FS_CLIENT_RESOLVE_REMOTE_SYMLINKS_DEFAULT = true;
066    
067    
068      //Defaults are not specified for following keys
069      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
070      public static final String  NET_TOPOLOGY_SCRIPT_FILE_NAME_KEY =
071        "net.topology.script.file.name";
072      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
073      public static final String  NET_TOPOLOGY_NODE_SWITCH_MAPPING_IMPL_KEY =
074        "net.topology.node.switch.mapping.impl";
075      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
076      public static final String  NET_TOPOLOGY_IMPL_KEY =
077        "net.topology.impl";
078      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
079      public static final String  NET_TOPOLOGY_TABLE_MAPPING_FILE_KEY =
080        "net.topology.table.file.name";
081      public static final String NET_DEPENDENCY_SCRIPT_FILE_NAME_KEY = 
082        "net.topology.dependency.script.file.name";
083    
084      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
085      public static final String  FS_TRASH_CHECKPOINT_INTERVAL_KEY =
086        "fs.trash.checkpoint.interval";
087      /** Default value for FS_TRASH_CHECKPOINT_INTERVAL_KEY */
088      public static final long    FS_TRASH_CHECKPOINT_INTERVAL_DEFAULT = 0;
089    
090      // TBD: Code is still using hardcoded values (e.g. "fs.automatic.close")
091      // instead of constant (e.g. FS_AUTOMATIC_CLOSE_KEY)
092      //
093      /** Not used anywhere, looks like default value for FS_LOCAL_BLOCK_SIZE */
094      public static final long    FS_LOCAL_BLOCK_SIZE_DEFAULT = 32*1024*1024;
095      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
096      public static final String  FS_AUTOMATIC_CLOSE_KEY = "fs.automatic.close";
097      /** Default value for FS_AUTOMATIC_CLOSE_KEY */
098      public static final boolean FS_AUTOMATIC_CLOSE_DEFAULT = true;
099      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
100      public static final String  FS_FILE_IMPL_KEY = "fs.file.impl";
101      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
102      public static final String  FS_FTP_HOST_KEY = "fs.ftp.host";
103      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
104      public static final String  FS_FTP_HOST_PORT_KEY = "fs.ftp.host.port";
105      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
106      public static final String  FS_TRASH_INTERVAL_KEY = "fs.trash.interval";
107      /** Default value for FS_TRASH_INTERVAL_KEY */
108      public static final long    FS_TRASH_INTERVAL_DEFAULT = 0;
109    
110      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
111      public static final String  IO_MAPFILE_BLOOM_SIZE_KEY =
112        "io.mapfile.bloom.size";
113      /** Default value for IO_MAPFILE_BLOOM_SIZE_KEY */
114      public static final int     IO_MAPFILE_BLOOM_SIZE_DEFAULT = 1024*1024;
115      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
116      public static final String  IO_MAPFILE_BLOOM_ERROR_RATE_KEY =
117        "io.mapfile.bloom.error.rate" ;
118      /** Default value for IO_MAPFILE_BLOOM_ERROR_RATE_KEY */
119      public static final float   IO_MAPFILE_BLOOM_ERROR_RATE_DEFAULT = 0.005f;
120      /** Codec class that implements Lzo compression algorithm */
121      public static final String  IO_COMPRESSION_CODEC_LZO_CLASS_KEY =
122        "io.compression.codec.lzo.class";
123      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
124      public static final String  IO_MAP_INDEX_INTERVAL_KEY =
125        "io.map.index.interval";
126      /** Default value for IO_MAP_INDEX_INTERVAL_DEFAULT */
127      public static final int     IO_MAP_INDEX_INTERVAL_DEFAULT = 128;
128      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
129      public static final String  IO_MAP_INDEX_SKIP_KEY = "io.map.index.skip";
130      /** Default value for IO_MAP_INDEX_SKIP_KEY */
131      public static final int     IO_MAP_INDEX_SKIP_DEFAULT = 0;
132      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
133      public static final String  IO_SEQFILE_COMPRESS_BLOCKSIZE_KEY =
134        "io.seqfile.compress.blocksize";
135      /** Default value for IO_SEQFILE_COMPRESS_BLOCKSIZE_KEY */
136      public static final int     IO_SEQFILE_COMPRESS_BLOCKSIZE_DEFAULT = 1000000;
137      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
138      public static final String  IO_FILE_BUFFER_SIZE_KEY =
139        "io.file.buffer.size";
140      /** Default value for IO_FILE_BUFFER_SIZE_KEY */
141      public static final int     IO_FILE_BUFFER_SIZE_DEFAULT = 4096;
142      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
143      public static final String  IO_SKIP_CHECKSUM_ERRORS_KEY =
144        "io.skip.checksum.errors";
145      /** Default value for IO_SKIP_CHECKSUM_ERRORS_KEY */
146      public static final boolean IO_SKIP_CHECKSUM_ERRORS_DEFAULT = false;
147      /**
148       * @deprecated Moved to mapreduce, see mapreduce.task.io.sort.mb
149       * in mapred-default.xml
150       * See https://issues.apache.org/jira/browse/HADOOP-6801
151       */
152      public static final String  IO_SORT_MB_KEY = "io.sort.mb";
153      /** Default value for IO_SORT_MB_DEFAULT */
154      public static final int     IO_SORT_MB_DEFAULT = 100;
155      /**
156       * @deprecated Moved to mapreduce, see mapreduce.task.io.sort.factor
157       * in mapred-default.xml
158       * See https://issues.apache.org/jira/browse/HADOOP-6801
159       */
160      public static final String  IO_SORT_FACTOR_KEY = "io.sort.factor";
161      /** Default value for IO_SORT_FACTOR_DEFAULT */
162      public static final int     IO_SORT_FACTOR_DEFAULT = 100;
163      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
164      public static final String  IO_SERIALIZATIONS_KEY = "io.serializations";
165    
166      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
167      public static final String  TFILE_IO_CHUNK_SIZE_KEY = "tfile.io.chunk.size";
168      /** Default value for TFILE_IO_CHUNK_SIZE_DEFAULT */
169      public static final int     TFILE_IO_CHUNK_SIZE_DEFAULT = 1024*1024;
170      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
171      public static final String  TFILE_FS_INPUT_BUFFER_SIZE_KEY =
172        "tfile.fs.input.buffer.size";
173      /** Default value for TFILE_FS_INPUT_BUFFER_SIZE_KEY */
174      public static final int     TFILE_FS_INPUT_BUFFER_SIZE_DEFAULT = 256*1024;
175      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
176      public static final String  TFILE_FS_OUTPUT_BUFFER_SIZE_KEY =
177        "tfile.fs.output.buffer.size";
178      /** Default value for TFILE_FS_OUTPUT_BUFFER_SIZE_KEY */
179      public static final int     TFILE_FS_OUTPUT_BUFFER_SIZE_DEFAULT = 256*1024;
180    
181      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
182      public static final String  IPC_CLIENT_CONNECTION_MAXIDLETIME_KEY =
183        "ipc.client.connection.maxidletime";
184      /** Default value for IPC_CLIENT_CONNECTION_MAXIDLETIME_KEY */
185      public static final int     IPC_CLIENT_CONNECTION_MAXIDLETIME_DEFAULT = 10000; // 10s
186      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
187      public static final String  IPC_CLIENT_CONNECT_TIMEOUT_KEY =
188        "ipc.client.connect.timeout";
189      /** Default value for IPC_CLIENT_CONNECT_TIMEOUT_KEY */
190      public static final int     IPC_CLIENT_CONNECT_TIMEOUT_DEFAULT = 20000; // 20s
191      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
192      public static final String  IPC_CLIENT_CONNECT_MAX_RETRIES_KEY =
193        "ipc.client.connect.max.retries";
194      /** Default value for IPC_CLIENT_CONNECT_MAX_RETRIES_KEY */
195      public static final int     IPC_CLIENT_CONNECT_MAX_RETRIES_DEFAULT = 10;
196      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
197      public static final String  IPC_CLIENT_CONNECT_RETRY_INTERVAL_KEY =
198          "ipc.client.connect.retry.interval";
199      /** Default value for IPC_CLIENT_CONNECT_RETRY_INTERVAL_KEY */
200      public static final int     IPC_CLIENT_CONNECT_RETRY_INTERVAL_DEFAULT = 1000;
201      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
202      public static final String  IPC_CLIENT_CONNECT_MAX_RETRIES_ON_SOCKET_TIMEOUTS_KEY =
203        "ipc.client.connect.max.retries.on.timeouts";
204      /** Default value for IPC_CLIENT_CONNECT_MAX_RETRIES_ON_SOCKET_TIMEOUTS_KEY */
205      public static final int  IPC_CLIENT_CONNECT_MAX_RETRIES_ON_SOCKET_TIMEOUTS_DEFAULT = 45;
206      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
207      public static final String  IPC_CLIENT_TCPNODELAY_KEY =
208        "ipc.client.tcpnodelay";
209      /** Defalt value for IPC_CLIENT_TCPNODELAY_KEY */
210      public static final boolean IPC_CLIENT_TCPNODELAY_DEFAULT = false;
211      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
212      public static final String  IPC_SERVER_LISTEN_QUEUE_SIZE_KEY =
213        "ipc.server.listen.queue.size";
214      /** Default value for IPC_SERVER_LISTEN_QUEUE_SIZE_KEY */
215      public static final int     IPC_SERVER_LISTEN_QUEUE_SIZE_DEFAULT = 128;
216      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
217      public static final String  IPC_CLIENT_KILL_MAX_KEY = "ipc.client.kill.max";
218      /** Default value for IPC_CLIENT_KILL_MAX_KEY */
219      public static final int     IPC_CLIENT_KILL_MAX_DEFAULT = 10;
220      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
221      public static final String  IPC_CLIENT_IDLETHRESHOLD_KEY =
222        "ipc.client.idlethreshold";
223      /** Default value for IPC_CLIENT_IDLETHRESHOLD_DEFAULT */
224      public static final int     IPC_CLIENT_IDLETHRESHOLD_DEFAULT = 4000;
225      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
226      public static final String  IPC_SERVER_TCPNODELAY_KEY =
227        "ipc.server.tcpnodelay";
228      /** Default value for IPC_SERVER_TCPNODELAY_KEY */
229      public static final boolean IPC_SERVER_TCPNODELAY_DEFAULT = false;
230    
231      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
232      public static final String  HADOOP_RPC_SOCKET_FACTORY_CLASS_DEFAULT_KEY =
233        "hadoop.rpc.socket.factory.class.default";
234      public static final String  HADOOP_RPC_SOCKET_FACTORY_CLASS_DEFAULT_DEFAULT =
235        "org.apache.hadoop.net.StandardSocketFactory";
236      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
237      public static final String  HADOOP_SOCKS_SERVER_KEY = "hadoop.socks.server";
238      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
239      public static final String  HADOOP_UTIL_HASH_TYPE_KEY =
240        "hadoop.util.hash.type";
241      /** Default value for HADOOP_UTIL_HASH_TYPE_KEY */
242      public static final String  HADOOP_UTIL_HASH_TYPE_DEFAULT = "murmur";
243      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
244      public static final String  HADOOP_SECURITY_GROUP_MAPPING =
245        "hadoop.security.group.mapping";
246      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
247      public static final String  HADOOP_SECURITY_GROUPS_CACHE_SECS =
248        "hadoop.security.groups.cache.secs";
249      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
250      public static final long HADOOP_SECURITY_GROUPS_CACHE_SECS_DEFAULT =
251        300;
252      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
253      public static final String HADOOP_SECURITY_GROUPS_CACHE_WARN_AFTER_MS =
254        "hadoop.security.groups.cache.warn.after.ms";
255      public static final long HADOOP_SECURITY_GROUPS_CACHE_WARN_AFTER_MS_DEFAULT =
256        5000;
257      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
258      public static final String  HADOOP_SECURITY_AUTHENTICATION =
259        "hadoop.security.authentication";
260      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
261      public static final String HADOOP_SECURITY_AUTHORIZATION =
262        "hadoop.security.authorization";
263      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
264      public static final String HADOOP_SECURITY_INSTRUMENTATION_REQUIRES_ADMIN =
265        "hadoop.security.instrumentation.requires.admin";
266      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
267      public static final String  HADOOP_SECURITY_SERVICE_USER_NAME_KEY =
268        "hadoop.security.service.user.name.key";
269      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
270      public static final String  HADOOP_SECURITY_AUTH_TO_LOCAL =
271        "hadoop.security.auth_to_local";
272    
273      @Deprecated
274      /** Only used by HttpServer. */
275      public static final String HADOOP_SSL_ENABLED_KEY = "hadoop.ssl.enabled";
276      @Deprecated
277      /** Only used by HttpServer. */
278      public static final boolean HADOOP_SSL_ENABLED_DEFAULT = false;
279    
280    
281      // HTTP policies to be used in configuration
282      // Use HttpPolicy.name() instead
283      @Deprecated
284      public static final String HTTP_POLICY_HTTP_ONLY = "HTTP_ONLY";
285      @Deprecated
286      public static final String HTTP_POLICY_HTTPS_ONLY = "HTTPS_ONLY";
287      /** See <a href="{@docRoot}/../core-default.html">core-default.xml</a> */
288      public static final String  HADOOP_RPC_PROTECTION =
289        "hadoop.rpc.protection";
290      /** Class to override Sasl Properties for a connection */
291      public static final String  HADOOP_SECURITY_SASL_PROPS_RESOLVER_CLASS =
292        "hadoop.security.saslproperties.resolver.class";
293      /** Class to override Impersonation provider */
294      public static final String  HADOOP_SECURITY_IMPERSONATION_PROVIDER_CLASS =
295        "hadoop.security.impersonation.provider.class";
296    }
297