Github
来源:HugeGraph
浏览 264
扫码
分享
2022-04-17 21:18:16
HugeGraph 0.2.4 Release Notes
元数据(Schema)相关
BUG修复
- Vertex Label为非primary-key id策略应该允许属性为空(HugeGraph-651)
- Gremlin-Server 序列化的 EdgeLabel 仅有一个directed 属性,应该打印完整的schema描述(HugeGraph-680)
- 创建IndexLabel时使用不存在的属性抛出空指针异常,应该抛非法参数异常(HugeGraph-682)
- 创建schema如果已经存在并指定了ifNotExist时,结果应该返回原来的对象(HugeGraph-694)
- 由于EdgeLabel的Frequency默认为null以及不允许修改特性,导致Append操作传递null值在API层反序列化失败(HugeGraph-729)
- 增加对schema名称的正则检查配置项,默认不允许为全空白字符(HugeGraph-727)
- 中文名的schema在前端显示为乱码(HugeGraph-711)
图数据(Vertex、Edge)相关
功能更新
- DataType支持Array,并且List类型除了一个一个添加object,也需要支持直接赋值List对象(HugeGraph-719)
- 自动生成的顶点id由十进制改为十六进制(字符串存储时)(HugeGraph-785)
BUG修复
- HugeGraph-API的VertexLabel/EdgeLabel API未提供eliminate接口(HugeGraph-614)
- 增加非primary-key id策略的顶点时,如果属性为空无法插入到数据库中(HugeGraph-652)
- 使用HugeGraph-Client的gremlin发送无返回值groovy请求时,由于gremlin-server将无返回值序列化为null,导致前端迭代结果集时出现空指针异常(HugeGraph-664)
- RESTful API在没有找到对应id的vertex/edge时返回500(HugeGraph-734)
- HugeElement/HugeProperty的equals()与tinkerpop不兼容(HugeGraph-653)
- HugeEdgeProperty的property的equals函数与tinkerpop兼容 (HugeGraph-740)
- HugeElement/HugeVertexProperty的hashcode函数与tinkerpop不兼容(HugeGraph-728)
- HugeVertex/HugeEdge的toString函数与tinkerpop不兼容(HugeGraph-665)
- 与tinkerpop的异常不兼容,包括IllegalArgumentsException和UnsupportedOperationException(HugeGraph-667)
- 通过id无法找到element时,抛出的异常类型与tinkerpop不兼容(HugeGraph-689)
- vertex.addEdge没有检查properties的数目是否为2的倍数(HugeGraph-716)
- vertex.addEdge()时,assignId调用时机太晚,导致vertex的Set中有重复的edge(HugeGraph-666)
- 查询时包含大于等于三层逻辑嵌套时,会抛出ClassCastException,现改成抛出非法参数异常(HugeGraph-481)
- 边查询如果同时包含source-vertex/direction和property作为条件,查询结果错误(HugeGraph-749)
- HugeGraph-Server 在运行时如果 cassandra 宕掉,插入或查询操作时会抛出DataStax的异常以及详细的调用栈(HugeGraph-771)
- 删除不存在的 indexLabel 时会抛出异常,而删除其他三种元数据(不存在的)则不会(HugeGraph-782)
- 当传给EdgeApi的源顶点或目标顶点的id非法时,会因为查询不到该顶点向客户端返回404状态码(HugeGraph-784)
- 提供内部使用获取元数据的接口,使SchemaManager仅为外部使用,当获取不存在的schema时抛出NotFoundException异常(HugeGraph-743)
- HugeGraph-Client 创建/添加/移除 元数据都应该返回来自服务端的结果(HugeGraph-760)
- 创建HugeGraph-Client时如果输入了错误的主机会导致进程阻塞,无法响应(HugeGraph-718)
查询、索引、缓存相关
功能更新
- 缓存更新更加高效的锁方案(HugeGraph-555)
- 索引查询增加支持只有一个元素的IN语句(原来仅支持EQ)(HugeGraph-739)
BUG修复
- 防止请求数据量过大时服务本身hang住(HugeGraph-777)
其它
功能更新
- 使Init-Store仅用于初始化数据库,清空后端由独立脚本实现(HugeGraph-650)
BUG修复
- 单元测试跑完后在测试机上遗留了临时的keyspace(HugeGraph-611)
- Cassandra的info日志信息过多,将大部分修改为debug级别(HugeGraph-722)
- EventHub.containsListener(String event)判断逻辑有遗漏(HugeGraph-732)
- EventHub.listeners/unlisten(String event)当没有对应event的listener时会抛空指针异常(HugeGraph-733)
测试
Tinkerpop合规测试
- 增加自定义ignore机制,规避掉暂时不需要加入持续集成的测试用例(HugeGraph-647)
- 为TestGraph注册GraphSon和Kryo序列化器,实现 IdGenerator$StringId 的 graphson-v1、graphson-v2 和 Kryo的序列化与反序列化(HugeGraph-660)
- 增加了可配置的测试用例过滤器,使得tinkerpop测试可以用在开发分支和发布分支的回归测试中
- 将tinkerpop测试通过配置文件,加入到回归测试中
单元测试
- 增加Cache及Event的单元测试(HugeGraph-659)
- HugeGraph-Client 增加API的测试(99个)
- HugeGraph-Client 增加单元测试,包括RestResult反序列化的单测(12个)
内部修改
- 改进LOG变量方面代码(HugeGraph-623/HugeGraph-631)
- License格式调整(HugeGraph-625)
- 将序列化器中持有的graph抽离,要用到graph的函数通过传参数实现 (HugeGraph-750)