Datahub启动失败,因为池大小超过了最大限制

2020-09-23 12:08发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好,最近我们遇到了以下问题-...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,最近我们遇到了以下问题-

2018-03-02 23:58:34,607 [错误] [chdaePoolEventHandler]无法启动数据中心java.lang.RuntimeException:要在池此处的池名中发布的项目数超过了限制 由datahub.init.publishable.items.query.limit属性提供的100000。 请以创建-拖放模式重新启动Data Hub并重新发送或以标准模式重新启动Data Hub并在此处池名触发池的发布。 在com.hybris.datahub.lifecycle.ReinitializeCanonicalCacheHandler.initializePool(ReinitializeCanonicalCacheHandler.java:60)〜[datahub-in-memory-6.6.0.0-RC4.jar:6.6.0.0-RC4]

当我们将datahub.init.publishable.items.query.limit的值修改为更大的值时,此问题得到解决。 先前它使用默认值'10000',但是在尝试分析根本原因时,注意到以下内容

  1. 大多数状态为"成功"的规范项都在CanonicalItem表中。 尽管启用了以下属性,但没有被删除。 datahub.cleanup.publisheditems.enabled = true

  2. 池中的项目数由多少组成? 它是该池中原始和规范项的总数吗? 因为我们使用IN_MEMORY配置模式,所以不会保留目标项目。

  3. 是否可以通过API检查池大小以进行监视? 一旦接近阈值,我们就可以手动删除已处理的原始和规范项目。 还有其他更好的解决方案来避免此问题吗? 请提出建议。

11条回答
三十六小时_GS
2020-09-23 12:40

由于这是生产中的问题,我们无法获取所有原始数据,因此我们增加了属性'datahub.init.publishable.items.query.limit'的值,并 Datahub服务器启动正常。 关于属性" target.system.publication.configuration",已正确配置。 它已经投入生产了一年多,并且运行良好。 以下是发布和排版延迟设置

  • sapcoreconfiguration.autocompose.sleeptime = 3000 sapcoreconfiguration.autopublish.sleeptime = 30000 sapcoreconfiguration.autopublish.initialsleeptime = 1500

但是,这是我们看到的规范项堆积的唯一池。 即使到了今天,成功状态下的规范项目数量仍在增加。 无论如何,是否需要从日志中进行验证? 作为替代方案,如果我们必须在监视时手动删除规范对象,可以避免删除以下内容,以免超出池大小,这是安全的:-

  1. 所有已归档的规范项目

  2. 具有在CanonicalItemPubStatus中具有相应记录且状态为"成功"的所有成功状态的所有规范项(因为CanonicalItemPubStatus中的" success"状态表示此发布已成功)?

一周热门 更多>