We're updating the issue view to help you get more done. 

Add a no-carpenter context

Description

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]
exactly

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]
yes

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

tudor [2:12 PM]
bingo

CVSS Vector

None

Status

Assignee

Katelyn Baker

Reporter

Katelyn Baker

CVSS Score

None

Feature Team

Network Services

Target Version/s

Corda 4.1
Corda Enterprise 4

Ported to...

None

Story Points

6

Fix versions

Affects versions

Corda 3.3

Priority

High