-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tracelistener: TraceProcessor bug #60
Comments
Cosmos PR open: cosmos/cosmos-sdk#11646 |
Cosmos SDK PR merged. I will take this issue so I can do the required changes to Tracelistener too. |
@Pitasi The changes won't be effective until they are backported in an SDK version and chains release a full node version with it. I don't see that happening short term, so probably not worth prioritizing this one rn. |
I understand that but it's a one line change since the TL was already prepared for this so I did it anyway 😄 |
New changes in Cosmos SDK add the store name to the traces, this correspond to the processor's modules names and we can use that information to avoid "trying all the modules". Closes EmerisHQ/demeris-backend#60
New changes in Cosmos SDK add the store name to the traces, this correspond to the processor's modules names and we can use that information to avoid "trying all the modules". Closes EmerisHQ/demeris-backend#60
Currently the processor passes the data to every individual module processor that owns the current key prefix.
However, key prefixes are unique PER MODULE and not overall.
So e.g. BankProcessor and DenomTraceProcessor both own key prefix
0x02
thus both attempt to process data that might be meant for the other.At best, this is a waste of resources and unneeded/wird log entries.
At worst , although very unlikely, depending on actual data contained) it might lead to corrupted data being written to the DB.
Individual processors should be grouped by module name and TraceListener should check the store key(module name) as well as the prefix.
The text was updated successfully, but these errors were encountered: