Skip to content

Conversation

PabloCastellano
Copy link
Member

  • Prevents crashes on API timeouts by retrying requests automatically
  • Implements retry functionality in the json_put! macro similar to json_get!
  • Changes ExponentialBackoff from optional to mandatory in BlobscanClient
  • Simplifies macro implementations by removing conditional paths

Example of crash:

│ 2025-05-16T10:57:57.692442Z  INFO blob_indexer::indexer: Starting indexer… last_lowest_synced_slot=Slot(8626175) last_upper_synced_block_slot=Some(11698177) last_upper_synced_block_root=Som │
│ 2025-05-16T10:57:57.756092Z  INFO indexer:live: blob_indexer::indexer: Subscribed to beacon SSE stream: head, finalized_checkpoint                                                            │
│ 2025-05-16T10:58:01.014070Z  INFO indexer:live:head_block: blob_indexer::synchronizer: Syncing 15910 slots… initial_slot=11698178 final_slot=11714088                                         │
│ 2025-05-16T10:58:01.787836Z  WARN indexer:live:head_block: blob_indexer::clients::blobscan: Unexpected response from server method="PUT" url=http://blobscan-api:3001/indexer/block-txs-blobs │
│ 2025-05-16T10:58:01.788397Z ERROR blob_indexer::indexer: An error occurred while running a syncing task error=LiveIndexingError(BeaconEventHandlingError(HeadEventHandlerError(BlockSyncedErr │
│ Error: failed to handle beacon event                                                                                                                                                          │
│                                                                                                                                                                                               │
│ Caused by:                                                                                                                                                                                    │
│     0: failed to index head block                                                                                                                                                             │
│     1: Failed to parallel process slots from 11698178 to 11699178:                                                                                                                            │
│        - Error processing slots range 11698178-11699178. Slot 11698179 failed: API usage error: Code: INTERNAL_SERVER_ERROR, Message: "Blob propagator failed: Failed to propagate blobs with │
│                                                                                                                                                                                               │
│ stream closed EOF for staging/blobscan-indexer-86d7d949d4-vqzgw (blobscan-indexer)                                                                                                            │

- Implements retry functionality in the json_put! macro similar to json_get!
- Changes ExponentialBackoff from optional to mandatory in BlobscanClient
- Simplifies macro implementations by removing conditional paths
- Prevents crashes on API timeouts by retrying requests automatically
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.

1 participant