Example usage for org.apache.hadoop.hdfs.protocol HdfsConstants QUOTA_DONT_SET

List of usage examples for org.apache.hadoop.hdfs.protocol HdfsConstants QUOTA_DONT_SET

Introduction

In this page you can find the example usage for org.apache.hadoop.hdfs.protocol HdfsConstants QUOTA_DONT_SET.

Prototype

long QUOTA_DONT_SET

To view the source code for org.apache.hadoop.hdfs.protocol HdfsConstants QUOTA_DONT_SET.

Click Source Link

Usage

From source file:com.mellanox.r4h.DFSClient.java

License:Apache License

/**
 * Sets or resets quotas for a directory.
 * //from  w  w  w. ja  v a2s.  c  o m
 * @see ClientProtocol#setQuota(String, long, long, StorageType)
 */
void setQuota(String src, long namespaceQuota, long storagespaceQuota) throws IOException {
    // sanity check
    if ((namespaceQuota <= 0 && namespaceQuota != HdfsConstants.QUOTA_DONT_SET
            && namespaceQuota != HdfsConstants.QUOTA_RESET)
            || (storagespaceQuota <= 0 && storagespaceQuota != HdfsConstants.QUOTA_DONT_SET
                    && storagespaceQuota != HdfsConstants.QUOTA_RESET)) {
        throw new IllegalArgumentException(
                "Invalid values for quota : " + namespaceQuota + " and " + storagespaceQuota);

    }
    TraceScope scope = getPathTraceScope("setQuota", src);
    try {
        // Pass null as storage type for traditional namespace/storagespace quota.
        namenode.setQuota(src, namespaceQuota, storagespaceQuota, null);
    } catch (RemoteException re) {
        throw re.unwrapRemoteException(AccessControlException.class, FileNotFoundException.class,
                NSQuotaExceededException.class, DSQuotaExceededException.class, UnresolvedPathException.class,
                SnapshotAccessControlException.class);
    } finally {
        scope.close();
    }
}

From source file:com.mellanox.r4h.DFSClient.java

License:Apache License

/**
 * Sets or resets quotas by storage type for a directory.
 * //from   ww w  .  ja v  a  2s.  c o m
 * @see ClientProtocol#setQuota(String, long, long, StorageType)
 */
void setQuotaByStorageType(String src, StorageType type, long quota) throws IOException {
    if (quota <= 0 && quota != HdfsConstants.QUOTA_DONT_SET && quota != HdfsConstants.QUOTA_RESET) {
        throw new IllegalArgumentException("Invalid values for quota :" + quota);
    }
    if (type == null) {
        throw new IllegalArgumentException("Invalid storage type(null)");
    }
    if (!type.supportTypeQuota()) {
        throw new IllegalArgumentException("Don't support Quota for storage type : " + type.toString());
    }
    TraceScope scope = getPathTraceScope("setQuotaByStorageType", src);
    try {
        namenode.setQuota(src, HdfsConstants.QUOTA_DONT_SET, quota, type);
    } catch (RemoteException re) {
        throw re.unwrapRemoteException(AccessControlException.class, FileNotFoundException.class,
                QuotaByStorageTypeExceededException.class, UnresolvedPathException.class,
                SnapshotAccessControlException.class);
    } finally {
        scope.close();
    }
}