{"record":{"id":"d67ac64d74390420","repo":"eclipse-vertx/vert.x","slug":"dns-record-decoding-error-occurred-unsupported-re","errorCode":null,"errorMessage":"DNS record decoding error occurred: Unsupported resource record type [id: ${type}].","messagePattern":"DNS record decoding error occurred: Unsupported resource record type \\[id: (.+?)\\]\\.","errorType":"exception","errorClass":"io.netty.handler.codec.DecoderException","httpStatus":null,"severity":"error","filePath":"vertx-core/src/main/java/io/vertx/core/dns/impl/RecordDecoder.java","lineNumber":245,"sourceCode":"        decoders.put(DnsRecordType.SRV, RecordDecoder.SRV);\n        decoders.put(DnsRecordType.NS, RecordDecoder.DOMAIN);\n        decoders.put(DnsRecordType.CNAME, RecordDecoder.DOMAIN);\n        decoders.put(DnsRecordType.PTR, RecordDecoder.DOMAIN);\n        decoders.put(DnsRecordType.SOA, RecordDecoder.SOA);\n    }\n\n    /**\n     * Decodes a resource record and returns the result.\n     *\n     * @param record\n     * @return the decoded resource record\n     */\n    @SuppressWarnings(\"unchecked\")\n    static <T> T decode(DnsRecord record) {\n        DnsRecordType type = record.type();\n        Function<DnsRecord, ?> decoder = decoders.get(type);\n        if (decoder == null) {\n            throw new DecoderException(\"DNS record decoding error occurred: Unsupported resource record type [id: \" + type + \"].\");\n        }\n        T result = null;\n        try {\n            result = (T) decoder.apply(record);\n        } catch (Exception e) {\n          log.error(e.getMessage(), e.getCause());\n        }\n        return result;\n    }\n}\n","sourceCodeStart":227,"sourceCodeEnd":256,"githubUrl":"https://github.com/eclipse-vertx/vert.x/blob/fb308bd8c3f12c79f4ae89bef67fadf6c80d036e/vertx-core/src/main/java/io/vertx/core/dns/impl/RecordDecoder.java#L227-L256","documentation":"RecordDecoder.decode dispatch failure: the DNS resource record's type has no registered decoder function in the decoders map. The message is a generic sentinel naming the unsupported DnsRecordType id; only types with registered decoders (A, AAAA, MX, TXT, SRV, NS, CNAME, PTR, SOA, ...) can be decoded.","triggerScenarios":"Thrown at vertx-core/src/main/java/io/vertx/core/dns/impl/RecordDecoder.java:245 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Handle the raw record (DnsRawRecord) directly instead of requesting a decoded type","Filter responses to record types Vert.x knows how to decode"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fb308bd8c3f12c79f4ae89bef67fadf6c80d036e","analyzedAt":"2026-09-06T11:37:12.241Z","contentChangedAt":"2026-09-06T11:37:12.241Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}