org.apache.hadoop.hdfs.server.federation.router (Apache Hadoop HDFS-RBF 3.5.0 API)
Description: declaration: package: org.apache.hadoop.hdfs.server.federation.router

# Package org.apache.hadoop.hdfs.server.federation.router

@Private @Evolving package org.apache.hadoop.hdfs.server.federation.router
The router package includes the core services for a HDFS federation router. The `Router` acts as a transparent proxy in front of a cluster of multiple NameNodes and nameservices. The `RouterRpcServer` exposes the NameNode clientProtocol and is the primary contact point for DFS clients in a federated cluster.

- Related Packages
  Package
  Description
  org.apache.hadoop.hdfs.server.federation.router.async
  This package contains classes that facilitate asynchronous operations within the Hadoop Distributed File System (HDFS) Federation router.
  org.apache.hadoop.hdfs.server.federation.router.security
  Includes router security manager and token store implementations.
- Class
  Description
  ConnectionContext
  Context to track a connection in a `ConnectionPool`.
  ConnectionManager
  Implements a pool of connections for the `Router` to be able to open many connections to many Namenodes.
  ConnectionNullException
  Exception when can not get a non-null connection.
  ConnectionPool
  Maintains a pool of connections for each User (including tokens) + NN.
  ConnectionPoolId
  Identifier for a connection for a user to a namenode.
  DFSRouter
  Tool to start the `Router` for Router-based federation.
  ErasureCoding
  Module that implements all the RPC calls in `ClientProtocol` related to Erasure Coding in the `RouterRpcServer`.
  FederationConnectionId
  FederationUtil
  Utilities for managing HDFS federation.
  IsRouterActiveServlet
  Detect if the Router is active and ready to serve requests.
  MountTableRefresherService
  This service is invoked from `MountTableStore` when there is change in mount table entries and it updates mount table entry cache on local router as well as on all remote routers.
  MountTableRefresherThread
  Base class for updating mount table cache on all the router.
  NamenodeHeartbeatService
  The `Router` periodically checks the state of a Namenode (usually on the same server) and reports their high availability (HA) state and load/space status to the `StateStoreService` .
  NameserviceManager
  Interface for enable/disable name service.
  NoLocationException
  This exception is thrown when can not get any mount point for the input path.
  NoNamenodesAvailableException
  Exception when no namenodes are available.
  PeriodicService
  Service to periodically execute a runnable.
  PoolAlignmentContext
  An alignment context shared by all connections in a `ConnectionPool`.
  Quota
  Module that implements the quota relevant RPC calls `ClientProtocol.setQuota(String, long, long, StorageType)` and `ClientProtocol.getQuotaUsage(String)` in the `RouterRpcServer`.
  RBFConfigKeys
  Config fields for router-based hdfs federation.
  RemoteLocationContext
  Base class for objects that are unique to a namespace.
  RemoteMethod
  Determines the remote client protocol method and the parameter list for a specific location.
  RemoteParam
  A dynamically assignable parameter that is location-specific.
  RemoteResult<T extends RemoteLocationContext,R>
  Result from a remote location.
  Router
  Router that provides a unified view of multiple federated HDFS clusters.
  RouterAdminServer
  This class is responsible for handling all the Admin calls to the HDFS router.
  RouterCacheAdmin
  Module that implements all the RPC calls in `ClientProtocol` related to Cache Admin in the `RouterRpcServer`.
  RouterClient
  Client to connect to the `Router` via the admin protocol.
  RouterClientMetrics
  This class is for maintaining the various Router Client activity statistics and publishing them through the metrics interfaces.
  RouterClientProtocol
  Module that implements all the RPC calls in `ClientProtocol` in the `RouterRpcServer`.
  RouterClientProtocol.GetListingComparator
  For `GetLisiting` to sort results.
  RouterFederationRename
  Rename across router federation namespaces based on federation balance.
  RouterFederationRename.RouterRenameOption
  RouterFsck
  Wrapper for the Router to offer the Namenode FSCK.
  RouterFsckServlet
  This class is used in Namesystem's web server to do fsck on namenode.
  RouterHeartbeatService
  Service to periodically update the Router current state in the State Store.
  RouterHttpServer
  Web interface for the `Router`.
  RouterMetrics
  This class is for maintaining the various Router activity statistics and publishing them through the metrics interfaces.
  RouterMetricsService
  Service to manage the metrics of the Router.
  RouterNamenodeProtocol
  Module that implements all the RPC calls in `NamenodeProtocol` in the `RouterRpcServer`.
  RouterNetworkTopologyServlet
  A servlet to print out the network topology from router.
  RouterPermissionChecker
  Class that helps in checking permissions in Router-based federation.
  RouterQuotaManager
  Router quota manager in Router.
  RouterQuotaUpdateService
  Service to periodically update the `RouterQuotaUsage` cached information in the `Router`.
  RouterQuotaUsage
  The subclass of `QuotaUsage` used in Router-based federation.
  RouterQuotaUsage.Builder
  Build the instance based on the builder.
  RouterRpcClient
  A client proxy for Router to NN communication using the NN ClientProtocol.
  RouterRpcClient.ExecutionStatus
  The `RouterRpcClient.ExecutionStatus` class is a utility class used to track the status of execution operations performed by the `RouterRpcClient`.
  RouterRpcMonitor
  Metrics and monitoring interface for the router RPC server.
  RouterRpcServer
  This class is responsible for handling all of the RPC calls to the It is created, started, and stopped by `Router`.
  RouterSafemodeService
  Service to periodically check if the `StateStoreService` cached information in the `Router` is up to date.
  RouterServiceState
  States of the Router.
  RouterSnapshot
  Module that implements all the RPC calls related to snapshots in `ClientProtocol` in the `RouterRpcServer`.
  RouterStateIdContext
  This is the router implementation to hold the state Ids for all namespaces.
  RouterStateManager
  Interface of managing the Router state.
  RouterStoragePolicy
  Module that implements all the RPC calls in `ClientProtocol` related to Storage Policy in the `RouterRpcServer`.
  RouterUserProtocol
  Module that implements all the RPC calls in `RefreshUserMappingsProtocol` `GetUserMappingsProtocol` in the `RouterRpcServer`.
  RouterWebHdfsMethods
  WebHDFS Router implementation.
  SubClusterTimeoutException
  Exception when timing out waiting for the reply of a subcluster.
  ThreadLocalContext
  The ThreadLocalContext class is designed to capture and transfer the context of a thread-local environment within the Hadoop Distributed File System (HDFS) federation router operations.