RegistryOperationsService (Apache Hadoop Main 3.5.0 API)
Description: declaration: package: org.apache.hadoop.registry.client.impl.zk, class: RegistryOperationsService

Package org.apache.hadoop.registry.client.impl.zk

# Class RegistryOperationsService

java.lang.Object
org.apache.hadoop.service.AbstractService
org.apache.hadoop.service.CompositeService
org.apache.hadoop.registry.client.impl.zk.CuratorService
org.apache.hadoop.registry.client.impl.zk.RegistryOperationsService

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`, `RegistryConstants`, `RegistryOperations`, `RegistryBindingSource`, `Service`

Direct Known Subclasses:
  `RegistryOperationsClient`

@Public @Evolving public class RegistryOperationsService extends org.apache.hadoop.registry.client.impl.zk.CuratorService implements RegistryOperations
The Registry operations service.

This service implements the `RegistryOperations` API by mapping the commands to zookeeper operations, and translating results and exceptions back into those specified by the API.

Factory methods should hide the detail that this has been implemented via the `CuratorService` by returning it cast to that `RegistryOperations` interface, rather than this implementation class.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.apache.hadoop.service.CompositeService

  `org.apache.hadoop.service.CompositeService.CompositeServiceShutdownHook`

  ## Nested classes/interfaces inherited from interface org.apache.hadoop.service.Service

  `Service.STATE`

- ## Field Summary

  ### Fields inherited from class org.apache.hadoop.service.CompositeService

  `STOP_ONLY_STARTED_SERVICES`

  ### Fields inherited from interface org.apache.hadoop.registry.client.api.RegistryConstants

  `DEFAULT_DNS_ENABLED, DEFAULT_DNS_PORT, DEFAULT_DNS_SPLIT_REVERSE_ZONE, DEFAULT_DNSSEC_PRIVATE_KEY_FILE, DEFAULT_REGISTRY_CLIENT_JAAS_CONTEXT, DEFAULT_REGISTRY_SECURE, DEFAULT_REGISTRY_SYSTEM_ACCOUNTS, DEFAULT_REGISTRY_USER_ACCOUNTS, DEFAULT_REGISTRY_ZK_QUORUM, DEFAULT_ZK_CONNECTION_TIMEOUT, DEFAULT_ZK_REGISTRY_ROOT, DEFAULT_ZK_RETRY_CEILING, DEFAULT_ZK_RETRY_INTERVAL, DEFAULT_ZK_RETRY_TIMES, DEFAULT_ZK_SESSION_TIMEOUT, DNS_PREFIX, KEY_DNS_BIND_ADDRESS, KEY_DNS_DOMAIN, KEY_DNS_ENABLED, KEY_DNS_PORT, KEY_DNS_SPLIT_REVERSE_ZONE, KEY_DNS_SPLIT_REVERSE_ZONE_RANGE, KEY_DNS_TTL, KEY_DNS_ZONE_IP_MAX, KEY_DNS_ZONE_IP_MIN, KEY_DNS_ZONE_MASK, KEY_DNS_ZONE_SUBNET, KEY_DNS_ZONES_DIR, KEY_DNSSEC_ENABLED, KEY_DNSSEC_PRIVATE_KEY_FILE, KEY_DNSSEC_PUBLIC_KEY, KEY_REGISTRY_CLIENT_AUTH, KEY_REGISTRY_CLIENT_AUTHENTICATION_ID, KEY_REGISTRY_CLIENT_AUTHENTICATION_PASSWORD, KEY_REGISTRY_CLIENT_JAAS_CONTEXT, KEY_REGISTRY_KERBEROS_REALM, KEY_REGISTRY_SECURE, KEY_REGISTRY_SYSTEM_ACCOUNTS, KEY_REGISTRY_USER_ACCOUNTS, KEY_REGISTRY_ZK_CONNECTION_TIMEOUT, KEY_REGISTRY_ZK_QUORUM, KEY_REGISTRY_ZK_RETRY_CEILING, KEY_REGISTRY_ZK_RETRY_INTERVAL, KEY_REGISTRY_ZK_RETRY_TIMES, KEY_REGISTRY_ZK_ROOT, KEY_REGISTRY_ZK_SESSION_TIMEOUT, MAX_FQDN_LABEL_LENGTH, PATH_SYSTEM_SERVICES, PATH_USER_SERVICES, PATH_USERS, REGISTRY_CLIENT_AUTH_ANONYMOUS, REGISTRY_CLIENT_AUTH_DIGEST, REGISTRY_CLIENT_AUTH_KERBEROS, REGISTRY_CLIENT_AUTH_SIMPLE, REGISTRY_PREFIX, SUBPATH_COMPONENTS, ZK_PREFIX`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RegistryOperationsService()`
  `RegistryOperationsService(String name)`
  `RegistryOperationsService(String name, RegistryBindingSource bindingSource)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `bind(String path, ServiceRecord record, int flags)`
  Bind a path in the registry to a service record
  `void`
  `delete(String path, boolean recursive)`
  Delete a path.
  `boolean`
  `exists(String path)`
  Probe for a path existing.
  `List<org.apache.zookeeper.data.ACL>`
  `getClientAcls()`
  Get the aggregate set of ACLs the client should use to create directories
  `List<String>`
  `list(String path)`
  List all entries under a registry path, returning the relative names of the entries.
  `boolean`
  `mknode(String path, boolean createParents)`
  Create a path.
  `ServiceRecord`
  `resolve(String path)`
  Resolve the record at a path
  `RegistryPathStatus`
  `stat(String path)`
  Get the status of a path
  `protected void`
  `validatePath(String path)`
  Validate a path

  ### Methods inherited from class org.apache.hadoop.registry.client.impl.zk.CuratorService

  `addWriteAccessor, bindingDiagnosticDetails, buildConnectionString, buildSecurityDiagnostics, clearWriteAccessors, createEnsembleProvider, createFullPath, dumpPath, dumpRegistryRobustly, getBindingSource, getRegistrySecurity, instantiateCacheForRegistry, isSecure, maybeCreate, operationFailure, operationFailure, registerPathListener, serviceInit, serviceStart, serviceStop, setKerberosPrincipalAndKeytab, startCache, supplyBindingInformation, toString, zkCreate, zkDelete, zkGetACLS, zkList, zkMkParentPath, zkMkPath, zkPathExists, zkPathMustExist, zkRead, zkSet, zkStat, zkUpdate`

  ### Methods inherited from class org.apache.hadoop.service.CompositeService

  `addIfService, addService, getServices, removeService`

  ### Methods inherited from class org.apache.hadoop.service.AbstractService

  `close, getBlockers, getConfig, getFailureCause, getFailureState, getLifecycleHistory, getName, getServiceState, getStartTime, init, isInState, noteFailure, putBlocker, registerGlobalListener, registerServiceListener, removeBlocker, setConfig, start, stop, unregisterGlobalListener, unregisterServiceListener, waitForServiceToStop`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface org.apache.hadoop.registry.client.api.RegistryOperations

  `addWriteAccessor, clearWriteAccessors`

  ### Methods inherited from interface org.apache.hadoop.service.Service

  `close, getBlockers, getConfig, getFailureCause, getFailureState, getLifecycleHistory, getName, getServiceState, getStartTime, init, isInState, registerServiceListener, start, stop, unregisterServiceListener, waitForServiceToStop`

- ## Constructor Details

  - ### RegistryOperationsService

    public RegistryOperationsService(String name)

  - ### RegistryOperationsService

    public RegistryOperationsService()

  - ### RegistryOperationsService

    public RegistryOperationsService(String name, RegistryBindingSource bindingSource)

- ## Method Details

  - ### getClientAcls

    public List<org.apache.zookeeper.data.ACL> getClientAcls()
    Get the aggregate set of ACLs the client should use to create directories
    Returns:
      the ACL list

  - ### validatePath

    protected void validatePath(String path) throws InvalidPathnameException
    Validate a path
    Parameters:
      `path` - path to validate
    Throws:
      `InvalidPathnameException` - if a path is considered invalid

  - ### mknode

    public boolean mknode(String path, boolean createParents) throws IOException
    Description copied from interface: `RegistryOperations`
    Create a path. It is not an error if the path exists already, be it empty or not. The createParents flag also requests creating the parents. As entries in the registry can hold data while still having child entries, it is not an error if any of the parent path elements have service records.
    Specified by:
      `mknode` in interface `RegistryOperations`
    Parameters:
      `path` - path to create
      `createParents` - also create the parents.
    Returns:
      true if the path was created, false if it existed.
    Throws:
      `org.apache.hadoop.fs.PathNotFoundException` - parent path is not in the registry.
      `InvalidPathnameException` - path name is invalid.
      `IOException` - Any other IO Exception.

  - ### bind

    public void bind(String path, ServiceRecord record, int flags) throws IOException
    Description copied from interface: `RegistryOperations`
    Bind a path in the registry to a service record
    Specified by:
      `bind` in interface `RegistryOperations`
    Parameters:
      `path` - path to service record
      `record` - service record service record to create/update
      `flags` - bind flags
    Throws:
      `org.apache.hadoop.fs.PathNotFoundException` - the parent path does not exist
      `FileAlreadyExistsException` - path exists but create flags do not include "overwrite"
      `InvalidPathnameException` - path name is invalid.
      `IOException` - Any other IO Exception.

  - ### resolve

    public ServiceRecord resolve(String path) throws IOException
    Description copied from interface: `RegistryOperations`
    Resolve the record at a path
    Specified by:
      `resolve` in interface `RegistryOperations`
    Parameters:
      `path` - path to an entry containing a `ServiceRecord`
    Returns:
      the record
    Throws:
      `org.apache.hadoop.fs.PathNotFoundException` - path is not in the registry.
      `NoRecordException` - if there is not a service record
      `InvalidRecordException` - if there was a service record but it could not be parsed.
      `IOException` - Any other IO Exception

  - ### exists

    public boolean exists(String path) throws IOException
    Description copied from interface: `RegistryOperations`
    Probe for a path existing. This is equivalent to `RegistryOperations.stat(String)` with any failure downgraded to a
    Specified by:
      `exists` in interface `RegistryOperations`
    Parameters:
      `path` - path to query
    Returns:
      true if the path was found
    Throws:
      `IOException`

  - ### stat

    public RegistryPathStatus stat(String path) throws IOException
    Description copied from interface: `RegistryOperations`
    Get the status of a path
    Specified by:
      `stat` in interface `RegistryOperations`
    Parameters:
      `path` - path to query
    Returns:
      the status of the path
    Throws:
      `org.apache.hadoop.fs.PathNotFoundException` - path is not in the registry.
      `InvalidPathnameException` - the path is invalid.
      `IOException` - Any other IO Exception

  - ### list

    public List<String> list(String path) throws IOException
    Description copied from interface: `RegistryOperations`
    List all entries under a registry path, returning the relative names of the entries.
    Specified by:
      `list` in interface `RegistryOperations`
    Parameters:
      `path` - path to query
    Returns:
      a possibly empty list of the short path names of child entries.
    Throws:
      `org.apache.hadoop.fs.PathNotFoundException`
      `InvalidPathnameException`
      `IOException`

  - ### delete

    public void delete(String path, boolean recursive) throws IOException
    Description copied from interface: `RegistryOperations`
    Delete a path. If the operation returns without an error then the entry has been deleted.
    Specified by:
      `delete` in interface `RegistryOperations`
    Parameters:
      `path` - path delete recursively
      `recursive` - recursive flag
    Throws:
      `org.apache.hadoop.fs.PathNotFoundException` - path is not in the registry.
      `InvalidPathnameException` - the path is invalid.
      `org.apache.hadoop.fs.PathIsNotEmptyDirectoryException` - path has child entries, but recursive is false.
      `IOException` - Any other IO Exception