当保管库中的行数超过200时,缓冲区溢出问题 [英] Buffer overflow issue when rows in vault is more than 200

查看:158
本文介绍了当保管库中的行数超过200时,缓冲区溢出问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

We have developed an app, which creates obligations in vault in a table. If the row size of the table is less than 200, the application works fine. However, if the rows are more than 200 then during the execution it gives the following error -

请指定一个PageSpecification,因为结果[201]比默认页面大小[200]还要多

Please specify a PageSpecification as there are more results [201] than the default page size [200]

在将分页从默认值200增加到400后,我遇到了Java堆内存不足错误. 我厌倦了将节点的堆大小从512m(默认值)增加到1024m.但是,这个问题仍然没有解决,而且我在H2 DB-中遇到了错误 异常:UncaughtExceptionHandler从线程"MVStore背景编写器nio:C:/Users/Administrator/Desktop/Settlemen中抛出java.lang.OutOfMemoryError t/corda-settlement/build/nodes/Bob/persistence.mv​​.db"

After increasing the pagination to 400 from the default 200, I am getting java heap out of memory error. I tired to increase the heap size of node from 512m (default) to 1024m. But, still this issue is not resolved and I am getting the error in H2 DB- Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "MVStore background writer nio:C:/Users/Administrator/Desktop/Settlemen t/corda-settlement/build/nodes/Bob/persistence.mv.db"

我也很想在H2 DB文档中寻找解决方案.但是,找不到任何解决方案.

I tired to look for the solution in H2 DB documentation as well. But, could not find any solution.

推荐答案

在未指定Pagination大小的情况下,默认情况下,保管库查询将快速失败.参见 https://docs .corda.net/releases/release-V2.0/api-vault-query.html?highlight = pagination#pagination

Vault queries fail-fast by default when no Pagination size has been specified. See https://docs.corda.net/releases/release-V2.0/api-vault-query.html?highlight=pagination#pagination

与查询大小成比例地增加堆大小应可适当扩展(即,您不应看到任何内存不足"错误).知道您的交易规模(例如,包含B2存储在H2数据库的交易表中的合同状态的交易规模)对我们很有用,这样我们就可以执行一些内部基准测试来查看是否可以重现相同的情况.

Increasing the heap size in proportion to the query size should scale adequately (ie. you should not see any Out of Memory errors). It would be useful for us to know what size your transactions are (eg. size of the Transaction including contract state which is stored as a blob in the transactions table of your H2 database) so that we can perform some internal benchmarks to see if we can reproduce the same situation.

这篇关于当保管库中的行数超过200时,缓冲区溢出问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆