paritytech / cumulus

Write Parachains on Substrate
GNU General Public License v3.0
620 stars 380 forks source link

Runtime upgrade in parachain is stored in all PoV before being applied #964

Open crystalin opened 2 years ago

crystalin commented 2 years ago

When performing a runtime upgrade on parachain, the storage_proof seems to include the code the runtime in all the blocks before the parachainSystem.ValidationFunctionApplied is executed. This is from a local node (no extrinsic except the runtime upgrade)

2022-02-07 16:40:00 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.466796875kb, storage_proof: 161.025390625kb }
2022-02-07 16:40:12 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.466796875kb, storage_proof: 153.4052734375kb }
2022-02-07 16:40:24 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.466796875kb, storage_proof: 257.4580078125kb }
2022-02-07 16:40:36 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.466796875kb, storage_proof: 159.26953125kb }
2022-02-07 16:40:48 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.466796875kb, storage_proof: 165.3125kb }
2022-02-07 16:41:00 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 1120.0849609375kb, storage_proof: 167.34375kb }
2022-02-07 16:41:12 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.5498046875kb, storage_proof: 2457.4248046875kb }
2022-02-07 16:41:24 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.5185546875kb, storage_proof: 1433.1484375kb }
2022-02-07 16:41:36 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.5185546875kb, storage_proof: 1288.75kb }
2022-02-07 16:41:48 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.5185546875kb, storage_proof: 1285.0859375kb }
2022-02-07 16:42:00 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.5185546875kb, storage_proof: 1313.98046875kb }
2022-02-07 16:42:12 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.5185546875kb, storage_proof: 1315.4921875kb }
2022-02-07 16:42:24 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.5185546875kb, storage_proof: 1279.6845703125kb }
2022-02-07 16:42:36 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.5185546875kb, storage_proof: 1167.5390625kb }
2022-02-07 16:42:48 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.5185546875kb, storage_proof: 1296.5009765625kb }
2022-02-07 16:43:00 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.5185546875kb, storage_proof: 1303.4775390625kb }
2022-02-07 16:43:12 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.5185546875kb, storage_proof: 1301.9033203125kb }
2022-02-07 16:43:24 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.5185546875kb, storage_proof: 1290.9521484375kb }
2022-02-07 16:43:36 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.5185546875kb, storage_proof: 1283.3349609375kb }
2022-02-07 16:43:48 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.5185546875kb, storage_proof: 1313.0224609375kb }
2022-02-07 16:44:00 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.5419921875kb, storage_proof: 2341.3837890625kb }
2022-02-07 16:44:31 [🌗] PoV size { header: 0.2412109375kb, extrinsics: 2.5625kb, storage_proof: 661.498046875kb }

(cc @bkchr )

bkchr commented 2 years ago

Please use latest Master with https://github.com/paritytech/substrate/pull/9732 and state_version = 1. If that doesn't fix it, please report back