Log event only when stored #1217
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Log
PayerReportSubmittedevents only on successful storage inpkg/indexer/settlement_chain/contracts/PayerReportManagerStorer.StoreLogThe handler for
PayerReportSubmittedevents inpkg/indexer/settlement_chain/contracts/payer_report_manager_storer.gonow logs success only when storage succeeds and treats zero-row inserts as an existing report condition. TheIPayerReportStore.StoreReportsignature changes to return the number of affected rows and an error, andStore.StoreReportreturns(int64, error)from the underlying insert operation.PayerReportManagerStorer.StoreLogto conditionally log success on nil error and suppress errors tagged withErrReportAlreadyExistsin payer_report_manager_storer.goErrReportAlreadyExistsand adjustPayerReportManagerStorer.setReportSubmittedto use(numRows, error)fromstore.StoreReport, returning a non-recoverable error whennumRows == 0, and callingSetReportSubmittedonly on new inserts in payer_report_manager_storer.goIPayerReportStore.StoreReportto return(int64, error)in interface.goStore.StoreReportto return(int64, error)and propagate affected row count in store.go📍Where to Start
Start with the
PayerReportManagerStorer.StoreLoghandler in payer_report_manager_storer.go, then reviewPayerReportManagerStorer.setReportSubmittedto see how(numRows, error)is used and howErrReportAlreadyExistsis handled.Changes since #1217 opened
contracts.PayerReportManagerStorer.setReportSubmittedmethod to call store operation before error handling [33c55df]Macroscope summarized 33c55df.