org.apache.hadoop.registry.client.api
Interface RegistryOperations

All Superinterfaces:
Closeable, Service
All Known Implementing Classes:
RegistryOperationsClient, RegistryOperationsService

@InterfaceAudience.Public
@InterfaceStability.Evolving
public interface RegistryOperations
extends Service

Registry Operations


Method Summary
 boolean addWriteAccessor(String id, String pass)
          Add a new write access entry to be added to node permissions in all future write operations of a session connected to a secure registry.
 void bind(String path, ServiceRecord record, int flags)
          Bind a path in the registry to a service record
 void clearWriteAccessors()
          Clear all write accessors.
 void delete(String path, boolean recursive)
          Delete a path.
 boolean exists(String path)
          Probe for a path existing.
 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
 
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
 

Method Detail

mknode

boolean mknode(String path,
               boolean createParents)
               throws org.apache.hadoop.fs.PathNotFoundException,
                      InvalidPathnameException,
                      IOException
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.

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

void bind(String path,
          ServiceRecord record,
          int flags)
          throws org.apache.hadoop.fs.PathNotFoundException,
                 FileAlreadyExistsException,
                 InvalidPathnameException,
                 IOException
Bind a path in the registry to a service record

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

ServiceRecord resolve(String path)
                      throws org.apache.hadoop.fs.PathNotFoundException,
                             NoRecordException,
                             InvalidRecordException,
                             IOException
Resolve the record at a path

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

stat

RegistryPathStatus stat(String path)
                        throws org.apache.hadoop.fs.PathNotFoundException,
                               InvalidPathnameException,
                               IOException
Get the status of a path

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

exists

boolean exists(String path)
               throws IOException
Probe for a path existing. This is equivalent to stat(String) with any failure downgraded to a

Parameters:
path - path to query
Returns:
true if the path was found
Throws:
IOException

list

List<String> list(String path)
                  throws org.apache.hadoop.fs.PathNotFoundException,
                         InvalidPathnameException,
                         IOException
List all entries under a registry path, returning the relative names of the entries.

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

void delete(String path,
            boolean recursive)
            throws org.apache.hadoop.fs.PathNotFoundException,
                   org.apache.hadoop.fs.PathIsNotEmptyDirectoryException,
                   InvalidPathnameException,
                   IOException
Delete a path. If the operation returns without an error then the entry has been deleted.

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

addWriteAccessor

boolean addWriteAccessor(String id,
                         String pass)
                         throws IOException
Add a new write access entry to be added to node permissions in all future write operations of a session connected to a secure registry. This does not grant the session any more rights: if it lacked any write access, it will still be unable to manipulate the registry. In an insecure cluster, this operation has no effect.

Parameters:
id - ID to use
pass - password
Returns:
true if the accessor was added: that is, the registry connection uses permissions to manage access
Throws:
IOException - on any failure to build the digest

clearWriteAccessors

void clearWriteAccessors()
Clear all write accessors. At this point all standard permissions/ACLs are retained, including any set on behalf of the user Only accessors added via addWriteAccessor(String, String) are removed.



Copyright © 2014 Apache Software Foundation. All Rights Reserved.