概要描述
执行 holodesk 的查询或者写入时,报错 rowset number over limit, max:5000, current:5000 的解决方案。
还有一种报错,类似 delta number in rowset over limit。
这两种报错的解决方案是类似的,都是触发一下手动合并即可。
但是具体的问题原因是不同的。
SECTION_MAX_ROWSET_NUM:rowset number over limit
ROWSET_MAX_DELTA_NUM:delta number in rowset over limit
详细说明
一般是出现在 holodesk 分区表。详细报错一般是 rowset number over limit, max:5000, current:5000, section over limitation, partition_id:9。
是因为holodesk 表单次操作的 数据集文件块数量超过了限制。
SECTION_MAX_ROWSET_NUM:rowset number over limit
ROWSET_MAX_DELTA_NUM:delta number in rowset over limit
解决方案
只需要触发一下小文件的合并即可解决。
alter table stock_data_monthly_partition_holo_rowkey compact 'full';
检查小文件数量
可以在 DBAService 页面,存储–数据库–搜索表名

然后点击表名,可以看到 block 块数量,如果这里的数量超过了 5000 ,就会有这个报错,需要手动触发一下合并。


附录:
后续版本(argodb 6.2)会增加新的功能,动态调整个别表的 SECTION_MAX_ROWSET_NUM / ROWSET_MAX_DELTA_NUM ,e.g. :
修改命令:
curl -u shiva:shiva -XPUT 'kv1:4567/table_settings?pretty&database=default&table_name=default.emp_holo_3ef1030e-47d9-4546-9d8b-ca6974dd4163&engine_type=kHolo&setting_pattern=SECTION_MAX_ROWSET_NUM,50000&setting_pattern=ROWSET_MAX_DELTA_NUM,500&setting_pattern=FILE_NUMBER_WATERMARK,5000'
查看更改结果:
curl -u shiva:shiva -X GET "172.18.131.171:4567/table/description?database=default&table_name=default.emp_holo_3ef1030e-47d9-4546-9d8b-ca6974dd4163&pretty" | jq '.table_attributes'
