Add a no-carpenter context


As the carpenter attempting to fix ClassNotFound issues is messing with handling missing contract atachemtns when dealing with a V4 message

Slack Discussion

tudor [2:08 PM]
in corda 3 we verified transactions inside the system classloader that contained all cordapp jar
and everything worked even if you didn’t attach all the cordapp dependencies to transactions
people who had cordapps depend on other stuff, just didn’t do anything and the builder would just attach the cordapp jars
now in C4 , we use the `AttachmentsClassloader` to deserialize and verify historic transactions
and cordapps have been removed from the system classpath
now , when you attempt to verify one of those v3 transactions, it should break with a ClassNotFound
we have some code that intercepts ClassNotFound on tx verification and attempts to find what the tx is missing by looking through the attachments storage
and then retries to run verification with that extra attachment

kat [2:11 PM]
OK, I see where the carpenter is getting in the way

tudor [2:11 PM]

kat [2:11 PM]
cant you just catch carpenting failed?

tudor [2:11 PM]
it fails in all sorts of random ways

kat [2:11 PM]
so you want a context that disables the carpenter!

tudor [2:12 PM]

kat [2:12 PM]
and doesn't eat ClassNotFound

tudor [2:12 PM]


Katelyn Baker


Katelyn Baker

Feature Team

Network Services

Story Points


Fix versions

Ported to...




Affects versions