{"record":{"id":"f6eb2d728902fdf5","repo":"prestodb/presto","slug":"parse-error-valueset-valueset","errorCode":null,"errorMessage":"{parse_error} ValueSet  ValueSet","messagePattern":"(.+?) ValueSet  ValueSet","errorType":"validation","errorClass":"ParseError","httpStatus":null,"severity":"error","filePath":"presto-native-execution/presto_cpp/presto_protocol/core/presto_protocol_core.cpp","lineNumber":4183,"sourceCode":"  }\n  if (type == \"sortable\") {\n    j = *std::static_pointer_cast<SortedRangeSet>(p);\n    return;\n  }\n  if (type == \"allOrNone\") {\n    j = *std::static_pointer_cast<AllOrNoneValueSet>(p);\n    return;\n  }\n\n  throw TypeError(type + \" no abstract type ValueSet \");\n}\n\nvoid from_json(const json& j, std::shared_ptr<ValueSet>& p) {\n  String type;\n  try {\n    type = p->getSubclassKey(j);\n  } catch (json::parse_error& e) {\n    throw ParseError(std::string(e.what()) + \" ValueSet  ValueSet\");\n  }\n\n  if (type == \"equatable\") {\n    std::shared_ptr<EquatableValueSet> k =\n        std::make_shared<EquatableValueSet>();\n    j.get_to(*k);\n    p = std::static_pointer_cast<ValueSet>(k);\n    return;\n  }\n  if (type == \"sortable\") {\n    std::shared_ptr<SortedRangeSet> k = std::make_shared<SortedRangeSet>();\n    j.get_to(*k);\n    p = std::static_pointer_cast<ValueSet>(k);\n    return;\n  }\n  if (type == \"allOrNone\") {\n    std::shared_ptr<AllOrNoneValueSet> k =\n        std::make_shared<AllOrNoneValueSet>();","sourceCodeStart":4165,"sourceCodeEnd":4201,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-native-execution/presto_cpp/presto_protocol/core/presto_protocol_core.cpp#L4165-L4201","documentation":"Velox protocol deserialization error: reading the ValueSet subclass key from JSON threw a parse error (missing/malformed type discriminator). from_json prefixes the jjson error with the ValueSet tag; indicates a corrupt or version-mismatched serialized constraint crossing into native execution.","triggerScenarios":"Thrown at presto-native-execution/presto_cpp/presto_protocol/core/presto_protocol_core.cpp:4183 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Align protocol versions between Java and presto_cpp","Verify serialized TupleDomain/ValueSet JSON includes the type key","Capture and validate the plan JSON payload for the failing query"],"exampleFix":null,"handlingStrategy":"try-catch","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"}