报错信息:
LambdaMapStep(lambda)]|errorCode:GRAPHSTORE_ADD_VERTEX_PROPERTY_ERROR|errorMsg:<position - com.alibaba.graphdb.property.GraphStoreTxn.addVertexProperties(Native Method) reason - com.alibaba.graphdb.property.GraphStoreException: Operation timed out: Timeout waiting to lock key 环境:spring-data-neo4j,版本5.2.1 GDB是阿里云的,16G内存的
异步多线程插入关系,关系包含A节点和B节点,可能其他关系插入的时候也用了B节点,那是不是因为GDB在插入关系的时候给节点上锁了呢?那这种异步多线程怎么解决这个锁的问题呢?
根本原因是因为spring-data的saveAll方法会在插入边的时候更新点,因为neo4j-spring是基于vertex和edge的entity面向对象编程的,但是saveAll时候,框架区分不了哪些本次save变动过,所以一股脑全丢给server了,所以调用saveAll的时候点在更新就触发了锁超时
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云NoSQL数据库提供了一种灵活的数据存储方式,可以支持各种数据模型,包括文档型、图型、列型和键值型。此外,它还提供了一种分布式的数据处理方式,可以支持高可用性和容灾备份。包含Redis社区版和Tair、多模数据库 Lindorm、MongoDB 版。