PBJ Codecs use actual protobuf field names for local temp_ values. However, field names in models are translated to camelCase. And so their getters and usages in the model code all use camelCase names.
The pbj.cacheable implementation embeds generated hashCode and equals bodies into the codec.
The hashCode needs to be modified to use the original field names when embedded.
The equals need to be modified to use the original names for this object and camelCase for that object, when embedded.
Reproducible: https://github.com/swirldslabs/performance-analysis-automation/actions/runs/26252112233/job/77265629553#step:22:1000
PBJ Codecs use actual protobuf field names for local temp_ values. However, field names in models are translated to camelCase. And so their getters and usages in the model code all use camelCase names.
The
pbj.cacheableimplementation embeds generated hashCode and equals bodies into the codec.The hashCode needs to be modified to use the original field names when embedded.
The equals need to be modified to use the original names for this object and camelCase for that object, when embedded.
Reproducible: https://github.com/swirldslabs/performance-analysis-automation/actions/runs/26252112233/job/77265629553#step:22:1000