Deserialization using the DJVM creates too many SerializerFactory objects.

Description

This is a performance-related bug concerning deterministic contract verifiaction.

When deserialising LedgerTransaction objects into the sandbox, the serialisation framework needs to use the same SerializerFactory object throughout. At the moment, every deserialisation request is creating a fresh SerializerFactory, and not only is this step expensive in its own right, it means that caches of local types and fingerprints from across the LedgerTransaction are discarded unused.

The SerializerFactory object should be bound to the lifecycle of the ClassLoader object containing the LedgerTransaction that is being verified.

Assignee

Chris Rankin

Reporter

Chris Rankin

Labels

Sprint

None

Epic Link

None

Priority

Medium

Engineering Teams

Kernel

Fix versions

Affects versions

Ported to...

None

Story Points / Dev Days

None

Build cut

None
Configure