{"record":{"id":"838624eb91df8498","repo":"prestodb/presto","slug":"learn-must-run-on-a-single-machine-838624","errorCode":null,"errorMessage":"LEARN must run on a single machine","messagePattern":"LEARN must run on a single machine","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"presto-ml/src/main/java/com/facebook/presto/ml/LearnRegressorAggregation.java","lineNumber":56,"sourceCode":"            @SqlType(BIGINT) long label,\n            @SqlType(\"map(bigint,double)\") Block features)\n    {\n        input(state, (double) label, features);\n    }\n\n    @InputFunction\n    public static void input(\n            @AggregationState LearnState state,\n            @SqlType(DOUBLE) double label,\n            @SqlType(\"map(bigint,double)\") Block features)\n    {\n        LearnLibSvmRegressorAggregation.input(state, label, features, Slices.utf8Slice(\"\"));\n    }\n\n    @CombineFunction\n    public static void combine(@AggregationState LearnState state, @AggregationState LearnState otherState)\n    {\n        throw new UnsupportedOperationException(\"LEARN must run on a single machine\");\n    }\n\n    @OutputFunction(RegressorType.NAME)\n    public static void output(@AggregationState LearnState state, BlockBuilder out)\n    {\n        LearnLibSvmRegressorAggregation.output(state, out);\n    }\n}\n","sourceCodeStart":38,"sourceCodeEnd":65,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-ml/src/main/java/com/facebook/presto/ml/LearnRegressorAggregation.java#L38-L65","documentation":"Unsupported-operation guard in LearnRegressorAggregation.combine: the base learn_regressor aggregation delegates to the LibSVM variant but still must not merge partial states — the aggregation is declared decomposable=false, and combine is only a placeholder that rejects distributed execution of the training.","triggerScenarios":"Thrown at presto-ml/src/main/java/com/facebook/presto/ml/LearnRegressorAggregation.java:56 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Run learn_regressor on a single node / single split","Ensure no partial-aggregation plan is generated for this function","Reduce input to one worker before training"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"55bb57d202de3b926896fa966c2c4a44c779634e","analyzedAt":"2026-09-04T12:50:26.162Z","contentChangedAt":"2026-09-04T12:50:26.162Z","schemaVersion":2},"datasetVersion":"2026-09-11T21:17:09.523Z"}