{"record":{"id":"b9f8158ad08c6db1","repo":"apache/seatunnel","slug":"close-doris-catalog-failed","errorCode":null,"errorMessage":"close doris catalog failed","messagePattern":"close doris catalog failed","errorType":"exception","errorClass":"CatalogException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/catalog/DorisCatalog.java","lineNumber":165,"sourceCode":"    private String getDorisVersion() throws SQLException {\n        String dorisVersion = null;\n        try (PreparedStatement preparedStatement =\n                        conn.prepareStatement(DorisCatalogUtil.QUERY_DORIS_VERSION_QUERY);\n                ResultSet resultSet = preparedStatement.executeQuery()) {\n\n            while (resultSet.next()) {\n                dorisVersion = resultSet.getString(2);\n            }\n        }\n        return dorisVersion;\n    }\n\n    @Override\n    public void close() throws CatalogException {\n        try {\n            conn.close();\n        } catch (SQLException e) {\n            throw new CatalogException(\"close doris catalog failed\", e);\n        }\n    }\n\n    @Override\n    public String name() {\n        return catalogName;\n    }\n\n    @Override\n    public String getDefaultDatabase() throws CatalogException {\n        return defaultDatabase;\n    }\n\n    @Override\n    public boolean databaseExists(String databaseName) throws CatalogException {\n        try (PreparedStatement ps = conn.prepareStatement(DorisCatalogUtil.DATABASE_QUERY)) {\n            ps.setString(1, databaseName);\n            try (ResultSet rs = ps.executeQuery()) {","sourceCodeStart":147,"sourceCodeEnd":183,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/catalog/DorisCatalog.java#L147-L183","documentation":"DorisCatalog.close wraps SQLException from closing the underlying JDBC connection into CatalogException('close doris catalog failed'); the catalog is shutting down but the connection could not be released cleanly, usually indicating a broken socket.","triggerScenarios":"Thrown at seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/catalog/DorisCatalog.java:165 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Log and continue if it occurs during shutdown — the socket will be reaped anyway","Check for network drops between the client and FE at close time","Ensure close() is not invoked twice on the same catalog instance"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}