Skip to content

Conversation

@rvagg
Copy link
Member

@rvagg rvagg commented Jun 24, 2025

Parking this as a draft for now, trying to figure out #548

@rvagg rvagg force-pushed the rvagg/txlogging branch from 70460ab to c78da4f Compare June 24, 2025 06:11
"error", err,
"errorType", fmt.Sprintf("%T", err))
// Continue processing other transactions instead of returning
continue
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm suspecting that the change here from a return to a continue might be part of the issue - if we return while we have a tx that gives us something other than ethereum.NotFound early in the list, then the remainder won't be checked

@rvagg rvagg changed the title chore(pdp): add transaction processing logging (DRAFT) chore(pdp): add more logging; don't bail early on tx error Jun 24, 2025
@rvagg rvagg marked this pull request as ready for review June 24, 2025 06:27
@rvagg
Copy link
Member Author

rvagg commented Jun 24, 2025

This cleared up the queue on our test server, but I'm not sure if it was the restart that did it or the changes here. But I think this is useful, it gives much more insight in the logs to PDP interactions and tx processing.

@ZenGround0 ZenGround0 merged commit 289b2db into filecoin-project:synapse Jun 24, 2025
15 checks passed
LexLuthr pushed a commit that referenced this pull request Jul 22, 2025
* ServiceAuth and NullAuth (#512)

* ServiceAuth and NullAuth

* fix

---------

Co-authored-by: zenground0 <[email protected]>

* Fix/public service sql mig (#516)

* Add sql migration function to enable public service with dummy key

* Fix typo

---------

Co-authored-by: zenground0 <[email protected]>

* Tigher busy waiting (#521)

Co-authored-by: zenground0 <[email protected]>

* fix (#523)

Co-authored-by: zenground0 <[email protected]>

* Look in pdp piecerefs to check for actual readiness (#525)

* Look in pdp piecerefs to check for actual readiness

* fix

---------

Co-authored-by: zenground0 <[email protected]>

* YOLO (#526)

Co-authored-by: zenground0 <[email protected]>

* Remove unpadding transformation from root size (#529)

Co-authored-by: zenground0 <[email protected]>

* feat(pdp): add transaction tracking for root additions (synapse branch) (#530)

* feat(pdp): add transaction tracking for root additions

- Add Location header to root addition response with tx hash
- Add GET /proof-sets/{id}/roots/added/{txHash} endpoint for status checks
- Implement handleGetProofSetRoot for retrieving root details
- Return confirmed root IDs after transaction confirmation

* fix(pdp): use lowercase transaction hashes consistently in database operations

* fix(pdp): retain root addition records to prevent 404s on status queries

Previously, pdp_proofset_root_adds records were deleted after processing,
causing clients to receive 404 errors when querying transaction status
after successful root additions. This created a poor UX as clients couldn't
verify transaction outcomes if they queried too late.

This change aligns root addition tracking with proof set creation by:
- Adding roots_added column to mark processed records instead of deleting
- Updating watcher to UPDATE instead of DELETE when processing completes
- Including roots_added status in API response for client visibility

The fix ensures transaction status remains queryable indefinitely while
maintaining backward compatibility. Existing records will be processed
normally with roots_added=FALSE by default.

API enhancement: /pdp/proof-sets/{id}/roots/added/{txHash} now includes
"rootsAdded" field indicating if roots were fully processed.

* fix(pdp): extra checks to make sure the db entries are consistent

* fix(pdp): address review feedback

* chore(pdp): add more logging; don't bail early on tx error (#549)

* chore(pdp): add transaction processing logging

* chore(pdp): tweak logging statements

* fix(chain): improve chain scheduler robustness and eth tx monitoring (#553)

- Add mutex protection and notification timeout handling to CurioChainSched
- Implement timeout protection for eth client calls to prevent indefinite blocking
- Add comprehensive test coverage for chain scheduler and eth message watcher
- Extract interfaces (EthClient, TaskEngine, EthTransactionManager) for testability

* chore(logs): log proof data as hex (#551)

---------

Co-authored-by: ZenGround0 <[email protected]>
Co-authored-by: zenground0 <[email protected]>
Co-authored-by: Rod Vagg <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants