You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: sections/terrors.md
+120Lines changed: 120 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,3 +33,123 @@ the client connection —without any notification to the client. Rather than a n
33
33
When a Kerberos keytab is created, the entries in it have a lifespan. The default value is one
34
34
year. This was its first birthday, hence ZK wouldn't trust the client.
35
35
36
+
**Fix: create new keytabs, valid for another year, and distribute them.**
37
+
38
+
## The Principal With No Realm
39
+
40
+
This one showed up during release testing —credit to Andras Bokor for tracking it all down.
41
+
42
+
A stack trace
43
+
44
+
```
45
+
16/01/16 01:42:39 WARN ipc.Client: Exception encountered while connecting to the server : javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]
46
+
java.io.IOException: Failed on local exception: java.io.IOException: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]; Host Details : local host is: "os-u14-2-2.novalocal/172.22.73.243"; destination host is: "os-u14-2-3.novalocal":8020;
47
+
at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:773)
48
+
at org.apache.hadoop.ipc.Client.call(Client.java:1431)
49
+
at org.apache.hadoop.ipc.Client.call(Client.java:1358)
50
+
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229)
51
+
at com.sun.proxy.$Proxy11.getFileInfo(Unknown Source)
52
+
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getFileInfo(ClientNamenodeProtocolTranslatorPB.java:771)
53
+
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
54
+
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
55
+
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
56
+
at java.lang.reflect.Method.invoke(Method.java:606)
57
+
at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:252)
58
+
at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:104)
59
+
at com.sun.proxy.$Proxy12.getFileInfo(Unknown Source)
60
+
at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:2116)
61
+
at org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1315)
62
+
at org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1311)
63
+
at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
64
+
at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1311)
65
+
at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:1424)
66
+
```
67
+
68
+
This looks like a normal "not logged in" problem, except for some little facts:
69
+
70
+
1. The user was logged in.
71
+
1. The failure was replicable.
72
+
1. It only surfaced on OpenJDK, not oracle JDK.
73
+
1. Everything worked on OpenJDK 7u51, but not on OpenJDK 7u91.
74
+
75
+
Something had changed in the JDK to reject the login on this system (ubuntu, virtual test cluster).
76
+
77
+
`Kdiag` didn't throw up anything obvious. What did show some warning was `klist`:
0 commit comments