Corda V3:交易超出了网络的最大交易规模限制:10485760字节

时间:2018-03-22 18:00:20

标签: corda

从V2升级到V3后,我们所有的分类账DSL测试都失败了 " java.lang.IllegalArgumentException:事务超出了网络的最大事务大小限制:10485760字节。"

不确定交易如何如此重要 - 这只是一些简单的交易。他们使用V2。

\肖恩

1 个答案:

答案 0 :(得分:1)

经过一些实验,这是我观察到的,也是一种解决方法 -

对于所有三种测试类型,NetworkParameters中的默认maxTransactionSize为10485760字节:MockServices,MockNetwork和Driver。但即使是最简单的用例,状态和合同jar也很容易超过20 MB。奇怪的是,CordappLoader有时会加载完整的jar,有时会加载一个小得多的临时测试jar,具体取决于测试所在的模块,甚至运行测试的机器。 V3 WireTransaction.toLedgerTransactionInternal添加了一个新的checkTransactionSize,因此如果加载了完整的jar,则检查将失败。

我的解决方法是增加maxTransactionSize参数以适应不稳定的行为。它并不好,但是现在我只想让测试通过继续前进。

我希望有更好的解决方案。

\ Sean