|
3 | 3 |
|
4 | 4 | use std::{num::NonZeroUsize, sync::Arc}; |
5 | 5 |
|
6 | | -use anyhow::Context as _; |
7 | 6 | use sui_macros::fail_point_async; |
8 | 7 | use tokio::sync::mpsc::{self, UnboundedReceiver, UnboundedSender}; |
9 | 8 | use walrus_core::{BlobId, Epoch}; |
10 | | -use walrus_sui::types::{BlobEvent, InvalidBlobId, StoragePoolEvent}; |
| 9 | +use walrus_sui::types::{BlobEvent, InvalidBlobId}; |
11 | 10 | use walrus_utils::metrics::monitored_scope; |
12 | 11 |
|
13 | 12 | use self::pending_events::{PendingEventCounter, PendingEventGuard}; |
@@ -416,8 +415,11 @@ impl BlobEventProcessor { |
416 | 415 | .storage |
417 | 416 | .update_blob_info(event_handle.index(), &blob_event)?; |
418 | 417 |
|
419 | | - if let BlobEvent::Registered(event) = &blob_event { |
420 | | - self.handle_registered_event(event_handle, event.blob_id) |
| 418 | + if matches!( |
| 419 | + &blob_event, |
| 420 | + BlobEvent::Registered(_) | BlobEvent::PooledBlobRegistered(_) |
| 421 | + ) { |
| 422 | + self.handle_registered_event(event_handle, blob_event.blob_id()) |
421 | 423 | .await?; |
422 | 424 | return Ok(()); |
423 | 425 | } |
@@ -464,78 +466,6 @@ impl BlobEventProcessor { |
464 | 466 | Ok(()) |
465 | 467 | } |
466 | 468 |
|
467 | | - /// Processes a storage pool event. |
468 | | - /// |
469 | | - /// For blob-related events (Registered, Certified, Deleted), this updates the blob info and |
470 | | - /// storage pool tables synchronously, then delegates to the background processor for |
471 | | - /// post-processing (same as regular blob events). For storage-level events (Created, |
472 | | - /// Extended), only the storage pool end_epoch table is updated. |
473 | | - pub(super) async fn process_storage_pool_event( |
474 | | - &self, |
475 | | - event_handle: EventHandle, |
476 | | - event: StoragePoolEvent, |
477 | | - checkpoint_position: CheckpointEventPosition, |
478 | | - ) -> anyhow::Result<()> { |
479 | | - match event { |
480 | | - StoragePoolEvent::StoragePoolCreated(ref created) => { |
481 | | - self.node |
482 | | - .storage |
483 | | - .set_storage_pool_end_epoch(&created.storage_pool_id, created.end_epoch) |
484 | | - .context("failed to set storage pool end epoch")?; |
485 | | - event_handle.mark_as_complete(); |
486 | | - } |
487 | | - StoragePoolEvent::PooledBlobRegistered(ref registered) => { |
488 | | - self.node |
489 | | - .storage |
490 | | - .process_pooled_blob_registered(event_handle.index(), registered) |
491 | | - .context("failed to process pooled blob registered")?; |
492 | | - |
493 | | - self.handle_registered_event(event_handle, registered.blob_id) |
494 | | - .await?; |
495 | | - } |
496 | | - StoragePoolEvent::PooledBlobCertified(ref certified) => { |
497 | | - self.node |
498 | | - .storage |
499 | | - .process_pooled_blob_certified(event_handle.index(), certified) |
500 | | - .context("failed to process pooled blob certified")?; |
501 | | - |
502 | | - let blob_event = BlobEvent::PooledBlobCertified(certified.clone()); |
503 | | - self.dispatch_task( |
504 | | - blob_event.blob_id(), |
505 | | - BackgroundTask::ProcessEvent { |
506 | | - event_handle, |
507 | | - blob_event, |
508 | | - checkpoint_position, |
509 | | - }, |
510 | | - )?; |
511 | | - } |
512 | | - StoragePoolEvent::PooledBlobDeleted(ref deleted) => { |
513 | | - self.node |
514 | | - .storage |
515 | | - .process_pooled_blob_deleted(event_handle.index(), deleted) |
516 | | - .context("failed to process pooled blob deleted")?; |
517 | | - |
518 | | - let blob_event = BlobEvent::PooledBlobDeleted(deleted.clone()); |
519 | | - self.dispatch_task( |
520 | | - blob_event.blob_id(), |
521 | | - BackgroundTask::ProcessEvent { |
522 | | - event_handle, |
523 | | - blob_event, |
524 | | - checkpoint_position, |
525 | | - }, |
526 | | - )?; |
527 | | - } |
528 | | - StoragePoolEvent::StoragePoolExtended(ref extended) => { |
529 | | - self.node |
530 | | - .storage |
531 | | - .set_storage_pool_end_epoch(&extended.storage_pool_id, extended.new_end_epoch) |
532 | | - .context("failed to update storage pool end epoch")?; |
533 | | - event_handle.mark_as_complete(); |
534 | | - } |
535 | | - } |
536 | | - Ok(()) |
537 | | - } |
538 | | - |
539 | 469 | pub fn get_pending_event_counter(&self) -> PendingEventCounter { |
540 | 470 | self.background_pending_event_count.clone() |
541 | 471 | } |
|
0 commit comments