Hbase TitanException:无法从存储中获取新的ID块

Hbase TitanException:无法从存储中获取新的ID块,hbase,titan,Hbase,Titan,我正在使用带有HBase后端的Titan 1.0,每天创建数亿个顶点和边。 我反复收到以下错误: TitanException: Could not acquire new ID from storage 经过一些研究,我能够自己生成顶点ID,但在添加新边和顶点属性时,我仍然看到分配错误 我能做些什么来克服这个问题? 是否可以使用提供的UUID设置边缘和属性ID? 它会以某种方式影响查询性能吗 多亏了我也遇到了类似的错误,我设法解决它的方法是增加每个事务可以使用的id块大小。这对我来说是个好办

我正在使用带有HBase后端的Titan 1.0,每天创建数亿个顶点和边。 我反复收到以下错误:

TitanException: Could not acquire new ID from storage
经过一些研究,我能够自己生成顶点ID,但在添加新边和顶点属性时,我仍然看到分配错误

我能做些什么来克服这个问题? 是否可以使用提供的UUID设置边缘和属性ID? 它会以某种方式影响查询性能吗


多亏了我也遇到了类似的错误,我设法解决它的方法是增加每个事务可以使用的id块大小。这对我来说是个好办法:

TitanGraph titanGraph = TitanFactory.open(config);
graph.configuration().setProperty("ids.block-size", idBlockSize);
参考文档说明了以下关于更改ID.块大小的内容:

全局保留此大小的块中的图形元素ID。将该值设置得太低将使提交频繁阻塞慢速保留请求。如果将其设置得太高,则当图形实例关闭时,保留但大部分未使用的块将导致ID浪费


我也遇到了类似的错误,我设法修复它的方法是增加每个事务可以使用的id块大小。这对我来说是个好办法:

TitanGraph titanGraph = TitanFactory.open(config);
graph.configuration().setProperty("ids.block-size", idBlockSize);
参考文档说明了以下关于更改ID.块大小的内容:

全局保留此大小的块中的图形元素ID。将该值设置得太低将使提交频繁阻塞慢速保留请求。如果将其设置得太高,则当图形实例关闭时,保留但大部分未使用的块将导致ID浪费


经过一些研究,我得出了一些见解

在Titan 1.0上,为每个ID块分配设置超时的配置设置被移动,现在称为
ids.authority.wait time
。 此外,您不能通过本地Titan属性文件设置此选项的值——它必须在您的后端进行全局更新(在我的例子中是HBase)


超时的默认值是
0.3秒
——这解释了我们经常出现的故障。设置值后,错误发生的频率大大降低。

经过一些研究,我得出了一些见解

在Titan 1.0上,为每个ID块分配设置超时的配置设置被移动,现在称为
ids.authority.wait time
。 此外,您不能通过本地Titan属性文件设置此选项的值——它必须在您的后端进行全局更新(在我的例子中是HBase)

超时的默认值是
0.3秒
——这解释了我们经常出现的故障。设置该值后,错误发生的频率大大降低