{"record":{"id":"c32ccc779e641a47","repo":"apache/hadoop","slug":"eacces","errorCode":"EACCES","errorMessage":"fuseNewConnect: failed to find Kerberos ticket cache file '%s'.  Did you remember to kinit for UID %d?\n","messagePattern":"fuseNewConnect: failed to find Kerberos ticket cache file '(.+?)'\\.  Did you remember to kinit for UID (.+?)\\?\n","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/fuse-dfs/fuse_connect.c","lineNumber":482,"sourceCode":"  if (!bld) {\n    fprintf(stderr, \"Unable to create hdfs builder\\n\");\n    ret = -ENOMEM;\n    goto error;\n  }\n  /* We always want to get a new FileSystem instance here-- that's why we call\n   * hdfsBuilderSetForceNewInstance.  Otherwise the 'cache condemnation' logic\n   * in hdfsConnExpiry will not work correctly, since FileSystem might re-use the\n   * existing cached connection which we wanted to get rid of.\n   */\n  hdfsBuilderSetForceNewInstance(bld);\n  hdfsBuilderSetNameNode(bld, gUri);\n  if (gPort) {\n    hdfsBuilderSetNameNodePort(bld, gPort);\n  }\n  if (gHdfsAuthConf == AUTH_CONF_KERBEROS) {\n    findKerbTicketCachePath(ctx, kpath, sizeof(kpath));\n    if (stat(kpath, &st) < 0) {\n      fprintf(stderr, \"fuseNewConnect: failed to find Kerberos ticket cache \"\n        \"file '%s'.  Did you remember to kinit for UID %d?\\n\",\n        kpath, ctx->uid);\n      ret = -EACCES;\n      goto error;\n    }\n    conn->kPathMtime = st.st_mtim.tv_sec;\n    conn->kPathMtimeNs = st.st_mtim.tv_nsec;\n    hdfsBuilderSetKerbTicketCachePath(bld, kpath);\n    conn->kpath = strdup(kpath);\n    if (!conn->kpath) {\n      fprintf(stderr, \"fuseNewConnect: OOM allocating kpath\\n\");\n      ret = -ENOMEM;\n      goto error;\n    }\n  } else {\n    // earlier the username was set to the builder always, but due to\n    // HADOOP-9747 if we specify the username in case of kerberos authentication\n    // the username will be used as the principal name, and that will conflict","sourceCodeStart":464,"sourceCodeEnd":500,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/fuse-dfs/fuse_connect.c#L464-L500","documentation":"Error \"fuseNewConnect: failed to find Kerberos ticket cache file '%s'.  Did you remember to kinit for UID %d?\n\" thrown in apache/hadoop.","triggerScenarios":"Thrown at hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/fuse-dfs/fuse_connect.c:482 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Run kinit for the specified UID to create the Kerberos ticket cache file before accessing the fuse-dfs mount.","Verify KRB5CCNAME points to the correct ticket cache file for the user."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2add9630210752f88ceb1bb74eb65e37bf41da8e","analyzedAt":"2026-08-22T19:55:07.957Z","schemaVersion":2},"datasetVersion":"2026-08-22T20:17:22.307Z"}