You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Amazon Neptune OpenCypher中MERGE后SET报内部错误的原因

问题描述

通过Amazon Neptune API执行以下OpenCypher查询时,触发InternalFailureException内部错误:

POST {{host}}/openCypher
Content-Type: application/json

{
    "query":"MERGE (t:Test {reference: $reference}) SET t.test=$test RETURN t",
    "parameters": {
        "reference": "test",
        "test": "100"
    }
}

对应的错误响应:

{
  "detailedMessage": "Operation terminated (internal error)",
  "code": "InternalFailureException",
  "message": "Operation terminated (internal error)"
}

奇怪的是,当test参数改为其他值(如"1"、true、false、1、100、"test")时,查询均可正常执行。

原因分析

这是Neptune处理特定字符串数值的内部bug导致:

  • 当参数为字符串类型的"100"时,Neptune在类型转换或属性存储的内部逻辑中出现未捕获的异常,而其他字符串(如"1"、"test")或非字符串类型的数值100不会触发该问题。
  • 这类错误属于Neptune OpenCypher引擎的隐性边界逻辑bug,并非查询语法或参数格式不符合要求。
临时解决方案
  • 类型转换:将字符串类型的"100"改为数值类型100后传入参数。
  • 字符串替换:如果必须使用字符串类型,可修改参数值为"100_"这类等效标识规避问题。
  • 官方反馈:若该场景为业务必需,可通过AWS官方支持渠道提交错误报告,推动官方修复该内部bug。

内容的提问来源于stack exchange,提问作者Joats

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 02:25:00