Search in sources :

Example 1 with UserAuthorizations

use of org.apache.hadoop.hbase.shaded.protobuf.generated.VisibilityLabelsProtos.UserAuthorizations in project hbase by apache.

the class VisibilityLabelsCache method refreshUserAuthsCache.

public void refreshUserAuthsCache(byte[] data) throws IOException {
    MultiUserAuthorizations multiUserAuths = null;
    try {
        multiUserAuths = VisibilityUtils.readUserAuthsFromZKData(data);
    } catch (DeserializationException dse) {
        throw new IOException(dse);
    }
    this.lock.writeLock().lock();
    try {
        this.userAuths.clear();
        this.groupAuths.clear();
        for (UserAuthorizations userAuths : multiUserAuths.getUserAuthsList()) {
            String user = Bytes.toString(userAuths.getUser().toByteArray());
            if (AuthUtil.isGroupPrincipal(user)) {
                this.groupAuths.put(AuthUtil.getGroupName(user), new HashSet<>(userAuths.getAuthList()));
            } else {
                this.userAuths.put(user, new HashSet<>(userAuths.getAuthList()));
            }
        }
    } finally {
        this.lock.writeLock().unlock();
    }
}
Also used : IOException(java.io.IOException) UserAuthorizations(org.apache.hadoop.hbase.shaded.protobuf.generated.VisibilityLabelsProtos.UserAuthorizations) MultiUserAuthorizations(org.apache.hadoop.hbase.shaded.protobuf.generated.VisibilityLabelsProtos.MultiUserAuthorizations) DeserializationException(org.apache.hadoop.hbase.exceptions.DeserializationException) MultiUserAuthorizations(org.apache.hadoop.hbase.shaded.protobuf.generated.VisibilityLabelsProtos.MultiUserAuthorizations)

Aggregations

IOException (java.io.IOException)1 DeserializationException (org.apache.hadoop.hbase.exceptions.DeserializationException)1 MultiUserAuthorizations (org.apache.hadoop.hbase.shaded.protobuf.generated.VisibilityLabelsProtos.MultiUserAuthorizations)1 UserAuthorizations (org.apache.hadoop.hbase.shaded.protobuf.generated.VisibilityLabelsProtos.UserAuthorizations)1