{"record":{"id":"689e9412cdeaaba0","repo":"apache/hadoop","slug":"hdfsconnexpiry-logic-error-condemned-connection","errorCode":null,"errorMessage":"hdfsConnExpiry: LOGIC ERROR: condemned connection as %s is still in the tree!\n","messagePattern":"hdfsConnExpiry: LOGIC ERROR: condemned connection as (.+?) is still in the tree!\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":353,"sourceCode":"      if (hdfsConnCheckKpath(conn)) {\n        conn->condemned = 1;\n        RB_REMOVE(hdfsConnTree, &gConnTree, conn);\n        if (conn->refcnt == 0) {\n          /* If the connection is not in use by any threads, delete it\n           * immediately.  If it is still in use by some threads, the last\n           * thread using it will clean it up later inside hdfsConnRelease. */\n          hdfsConnFree(conn);\n          continue;\n        }\n      }\n    }\n    if (conn->refcnt == 0) {\n      /* If the connection is not currently in use by a thread, check to see if\n       * it ought to be removed because it's too old. */\n      conn->expirationCount--;\n      if (conn->expirationCount <= 0) {\n        if (conn->condemned) {\n          fprintf(stderr, \"hdfsConnExpiry: LOGIC ERROR: condemned connection \"\n                  \"as %s is still in the tree!\\n\", conn->usrname);\n        }\n        fprintf(stderr, \"hdfsConnExpiry: freeing and removing connection as \"\n                \"%s because it's now too old.\\n\", conn->usrname);\n        RB_REMOVE(hdfsConnTree, &gConnTree, conn);\n        hdfsConnFree(conn);\n      }\n    }\n  }\n  pthread_mutex_unlock(&gConnMutex);\n}\n\n// The Kerberos FILE: prefix.  This indicates that the kerberos ticket cache\n// specifier is a file.  (Note that we also assume that the specifier is a file\n// if no prefix is present.)\n#define KRB_FILE_PREFIX \"FILE:\"\n\n// Length of the Kerberos file prefix, which is equal to the string size in","sourceCodeStart":335,"sourceCodeEnd":371,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/fuse-dfs/fuse_connect.c#L335-L371","documentation":"Error \"hdfsConnExpiry: LOGIC ERROR: condemned connection as %s is still in the tree!\n\" thrown in apache/hadoop.","triggerScenarios":"Thrown at hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/fuse-dfs/fuse_connect.c:353 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["This indicates an internal fuse-dfs connection-table bug; restart the fuse-dfs mount to clear the corrupted connection state."],"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-23T01:17:44.959Z"}