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-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)
    • 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)