diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift/HttpDoAsClient.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift/HttpDoAsClient.java index df18fed..446a527 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift/HttpDoAsClient.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift/HttpDoAsClient.java @@ -24,11 +24,13 @@ import java.nio.ByteBuffer; import java.nio.charset.CharacterCodingException; import java.nio.charset.Charset; import java.nio.charset.CharsetDecoder; +import java.security.Principal; import java.security.PrivilegedExceptionAction; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.SortedMap; import java.util.TreeMap; @@ -81,7 +83,13 @@ public class HttpDoAsClient { doAsUser = args[2]; if (args.length > 3) { secure = Boolean.parseBoolean(args[3]); - principal = getSubject().getPrincipals().iterator().next().getName(); + Set principals = getSubject().getPrincipals(); + if (principals.isEmpty()) { + System.err.println("No Principal retrieved"); + return; + } else { + principal = principals.iterator().next().getName(); + } } final HttpDoAsClient client = new HttpDoAsClient();