{"record":{"id":"43d0b128b92311bd","repo":"elastic/elasticsearch","slug":"coefficient-not-computed-between-fields-fieldx","errorCode":null,"errorMessage":"Coefficient not computed between fields: {fieldX} and {fieldY}","messagePattern":"Coefficient not computed between fields: (.+?) and (.+?)","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"modules/aggregations/src/main/java/org/elasticsearch/aggregations/metric/MatrixStatsResults.java","lineNumber":185,"sourceCode":"    /** return the value for two fields in an upper triangular matrix, regardless of row col location. */\n    static <M extends Map<String, Double>> double getValFromUpperTriangularMatrix(Map<String, M> map, String fieldX, String fieldY) {\n        // for the co-value to exist, one of the two (or both) fields has to be a row key\n        if (map.containsKey(fieldX) == false && map.containsKey(fieldY) == false) {\n            throw new IllegalArgumentException(\"neither field \" + fieldX + \" nor \" + fieldY + \" exist\");\n        } else if (map.containsKey(fieldX)) {\n            // fieldX exists as a row key\n            if (map.get(fieldX).containsKey(fieldY)) {\n                // fieldY exists as a col key to fieldX\n                return map.get(fieldX).get(fieldY);\n            } else {\n                // otherwise fieldX is the col key to fieldY\n                return map.get(fieldY).get(fieldX);\n            }\n        } else if (map.containsKey(fieldY)) {\n            // fieldX did not exist as a row key, it must be a col key\n            return map.get(fieldY).get(fieldX);\n        }\n        throw new IllegalArgumentException(\"Coefficient not computed between fields: \" + fieldX + \" and \" + fieldY);\n    }\n\n    private static void checkField(String field, Map<String, ?> map) {\n        if (field == null) {\n            throw new IllegalArgumentException(\"field name cannot be null\");\n        }\n        if (map.containsKey(field) == false) {\n            throw new IllegalArgumentException(\"field \" + field + \" does not exist\");\n        }\n    }\n\n    /** Computes final covariance, variance, and correlation */\n    private void compute() {\n        final double nM1 = results.docCount - 1D;\n        // compute final skewness and kurtosis\n        for (String fieldName : results.means.keySet()) {\n            final double var = results.variances.get(fieldName);\n            // update skewness","sourceCodeStart":167,"sourceCodeEnd":203,"githubUrl":"https://github.com/elastic/elasticsearch/blob/db6a809a667c081ca1dc7500389d26975573215f/modules/aggregations/src/main/java/org/elasticsearch/aggregations/metric/MatrixStatsResults.java#L167-L203","documentation":"Error \"Coefficient not computed between fields: {fieldX} and {fieldY}\" thrown in elastic/elasticsearch.","triggerScenarios":"Thrown at modules/aggregations/src/main/java/org/elasticsearch/aggregations/metric/MatrixStatsResults.java:185 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"db6a809a667c081ca1dc7500389d26975573215f","analyzedAt":"2026-08-12T01:39:14.192Z","schemaVersion":2},"datasetVersion":"2026-08-12T08:17:17.861Z"}