H2 vault中的行数超过200时出现缓冲区溢出问题

H2 vault中的行数超过200时出现缓冲区溢出问题,h2,corda,h2db,H2,Corda,H2db,我们开发了一个应用程序,可以在表中的vault中创建义务。如果表的行大小小于200,则应用程序工作正常。但是,如果行数超过200,则在执行过程中会出现以下错误- 请指定页面规格,因为结果[201]多于默认页面大小[200] 在将分页从默认的200增加到400之后,我发现java堆内存不足错误。 我尝试将节点的堆大小从512m(默认值)增加到1024m。但是,这个问题仍然没有解决,我得到了H2 DB中的错误- 异常:java.lang.OutOfMemoryError从线程“MVStore后台编写

我们开发了一个应用程序,可以在表中的vault中创建义务。如果表的行大小小于200,则应用程序工作正常。但是,如果行数超过200,则在执行过程中会出现以下错误-

请指定页面规格,因为结果[201]多于默认页面大小[200]

在将分页从默认的200增加到400之后,我发现java堆内存不足错误。 我尝试将节点的堆大小从512m(默认值)增加到1024m。但是,这个问题仍然没有解决,我得到了H2 DB中的错误- 异常:java.lang.OutOfMemoryError从线程“MVStore后台编写器nio:C:/Users/Administrator/Desktop/Settlemen”中的UncaughtExceptionHandler引发 t/corda结算/build/nodes/Bob/persistence.mv.db“


我也厌倦了在H2DB文档中寻找解决方案。但是,找不到任何解决方案。

默认情况下,如果未指定
分页
大小,Vault查询会快速失败。看


根据查询大小按比例增加堆大小应该可以充分扩展(即,您不应该看到任何内存不足错误)。了解您的事务的大小对我们很有用(例如,事务的大小,包括作为blob存储在H2数据库的事务表中的合同状态)因此,我们可以执行一些内部基准测试,看看是否可以重现相同的情况。

您能否检查节点H2数据库中的事务对象,并在问题中报告它们的大小?