Skip to content

Commit 0764757

Browse files
goffrieConvex, Inc.
authored and
Convex, Inc.
committed
Add #[must_use] to Subscription (#35616)
GitOrigin-RevId: 771a32ff04284bbb0857a82749886ae7f9d0d54e
1 parent ad08f14 commit 0764757

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

crates/application/src/snapshot_import/mod.rs

+5-1
Original file line numberDiff line numberDiff line change
@@ -564,7 +564,11 @@ async fn wait_for_import_worker<RT: Runtime>(
564564
match &snapshot_import.state {
565565
ImportState::Uploaded | ImportState::InProgress { .. } => {
566566
let token = tx.into_token()?;
567-
application.subscribe(token).await?;
567+
application
568+
.subscribe(token)
569+
.await?
570+
.wait_for_invalidation()
571+
.await;
568572
},
569573
ImportState::WaitingForConfirmation { .. }
570574
| ImportState::Completed { .. }

crates/database/benches/subscriptions.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,9 @@ fn create_subscriptions(
213213
let mut subscription_manager = SubscriptionManager::new_for_testing();
214214
let tokens = create_tokens(tablet_id, terms_by_frequency, prefix, max_distance, count);
215215
for token in tokens {
216-
subscription_manager.subscribe_for_testing(token).unwrap();
216+
// this drops the Subscription but in these tests we don't run the
217+
// worker that removes dropped subscriptions
218+
_ = subscription_manager.subscribe_for_testing(token).unwrap();
217219
}
218220
subscription_manager
219221
}

crates/database/src/subscription.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,7 @@ enum SubscriptionState {
394394
}
395395

396396
/// A subscription on a set of read keys from a prior read-only transaction.
397+
#[must_use]
397398
pub struct Subscription {
398399
valid_ts: Arc<AtomicI64>, // -1 means invalid
399400
valid: watch::Receiver<SubscriptionState>,
@@ -870,7 +871,7 @@ mod tests {
870871
let test = async move {
871872
let mut id_generator = TestIdGenerator::new();
872873
let mut subscription_manager = SubscriptionManager::new_for_testing();
873-
subscription_manager.subscribe_for_testing(token.clone()).unwrap();
874+
_ = subscription_manager.subscribe_for_testing(token.clone()).unwrap();
874875
let notifications =
875876
notify_subscribed_tokens(
876877
&mut id_generator, &mut subscription_manager, vec![mismatch]

0 commit comments

Comments
 (0)