Github
来源:HugeGraph
浏览 240
扫码
分享
2022-04-17 21:21:05
HugeGraph 0.4.4 Release Notes
API & Java Client
功能更新
- HugeGraph-Server支持WebSocket,能用Gremlin-Console连接使用;并支持直接编写groovy脚本调用Core的代码(HugeGraph-977)
- 适配Schema-id(HugeGraph-1038)
BUG修复
- hugegraph-0.3.3:删除vertex的属性,body中properties=null,返回500,空指针(HugeGraph-950)
- hugegraph-0.3.3: graph.schema().getVertexLabel() 空指针(HugeGraph-955)
- HugeGraph-Client 中顶点和边的属性集合不是线程安全的(HugeGraph-1013)
- 批量操作的异常信息无法打印(HugeGraph-1013)
- 异常message提示可读性太差,都是用propertyKey的id显示,对于用户来说无法立即识别(HugeGraph-1055)
- 批量新增vertex实体,有一个body体为null,返回500,空指针(HugeGraph-1056)
- 追加属性body体中只包含properties,功能出现回退,抛出异常The label of vertex can’t be null(HugeGraph-1057)
- HugeGraph-Client适配:PropertyKey的DateType中Timestamp替换成Date(HugeGraph-1059)
- 创建IndexLabel时baseValue为空会报出500错误(HugeGraph-1061)
Core
功能更新
- 实现上层独立事务管理,并兼容tinkerpop事务规范(HugeGraph-918、HugeGraph-941)
- 完善memory backend,可以通过API正确访问,且适配了tinkerpop事务(HugeGraph-41)
- 增加RocksDB后端存储驱动框架(HugeGraph-929)
- RocksDB数字索引range-query实现(HugeGraph-963)
- 为所有的schema增加了id,并将各表原依赖name的列也换成id(HugeGraph-589)
- 填充query key-value条件时,value的类型如果不匹配key定义的类型时需要转换为该类型(HugeGraph-964)
- 统一各后端的offset、limit实现(HugeGraph-995)
- 查询顶点、边时,Core支持迭代方式返回结果,而非一次性载入内存(HugeGraph-203)
- memory backend支持range query(HugeGraph-967)
- memory backend的secondary的支持方式从遍历改为IdQuery(HugeGraph-996)
- 联合索引支持复杂的(只要逻辑上可以查都支持)多种索引组合查询(HugeGraph-903)
- Schema中增加存储用户数据的域(map)(HugeGraph-902)
- 统一ID的解析及系列化(包括API及Backend)(HugeGraph-965)
- RocksDB没有keyspace概念,需要完善对多图实例的支持(HugeGraph-973)
- 支持Cassandra设置连接用户名密码(HugeGraph-999)
- Schema缓存支持缓存所有元数据(get-all-schema)(HugeGraph-1037)
- 目前依然保持schema对外暴露name,暂不直接使用schema id(HugeGraph-1032)
- 用户传入ID的策略的修改为支持String和Number(HugeGraph-956)
BUG修复
- 删除旧的前缀indexLabel时数据库中的schemaLabel对象还有残留(HugeGraph-969)
- HugeConfig解析时共用了公共的Option,导致不同graph的配置项有覆盖(HugeGraph-984)
- 数据库数据不兼容时,提示更加友好的异常信息(HugeGraph-998)
- 支持Cassandra设置连接用户名密码(HugeGraph-999)
- RocksDB deleteRange end溢出后触发RocksDB assert错误(HugeGraph-971)
- 允许根据null值id进行查询顶点/边,返回结果为空集合(HugeGraph-1045)
- 内存中存在部分更新数据未提交时,搜索结果不对(HugeGraph-1046)
- g.V().hasLabel(XX)传入不存在的label时报错: Internal Server Error and Undefined property key: ‘~label’(HugeGraph-1048)
- gremlin获取的的schema只剩下名称字符串(HugeGraph-1049)
- 大量数据情况下无法进行count操作(HugeGraph-1051)
- RocksDB持续插入6~8千万条边时卡住(HugeGraph-1053)
- 整理属性类型的支持,并在BinarySerializer中使用二进制格式系列化属性值(HugeGraph-1062)
测试
- 增加tinkerpop的performance测试(HugeGraph-987)
内部修改
- HugeFactory打开同一个图(name相同者)时,共用HugeGraph对象即可(HugeGraph-983)
- 规范索引类型命名secondary、range、search(HugeGraph-991)
- 数据库数据不兼容时,提示更加友好的异常信息(HugeGraph-998)
- IO部分的 gryo 和 graphson 的module分开(HugeGraph-1041)
- 增加query性能测试到PerfExample中(HugeGraph-1044)
- 关闭gremlin-server的metric日志(HugeGraph-1050)