cdh5.14.4安装完atlas1.2后执行create table xx as select xx 语句测试创建血缘关系图,语句中使用的表都是刚创建的血缘关系会创建出来,过几分钟再用同样的语句创建另一张表,查看atlas发现没有血缘关系,使用其它已存在的表同样出现这个问题。查看atlas日志发现后台报唯一约束异常,查看代码发现atlas 会缓存刚创建的表,超时就清掉缓存,缓存没有的表就认为是新表唯一的,构造关系数据写入janusgraph,就触发了janusgraph唯一性约束检查,写入失败。觉得这种程序应该有配置控制存在就更新或不更新,不存在写入,在官方文档中没找到配置但在源码中找到了两个配置默认为false:
atlas.use.index.query.to.find.entity.by.unique.attributes=true
atlas.unique.index.property.to.find.entity=true
修改为true后重启atlas,问题解决。