Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GCP Pub/Sub, can you replay old messages on a new Subscription if there is already an active Subscription

In GCP Pub/Sub I have a topic and a Subscription1 and have have started publishing messages.

Can I add another subscription, Subscription2 and replay old messages that had been published before the Subscription2 was created? Would it allow it? (Kafka allows it)

At what point would I lose access to messages (within the retention period)?, deleting all the Subscriptions? Would keeping at least one active subscription allow PubSub to add new Subscriptions and replay old messages?

Can I also increase the retention period beyond 7 days on the topic?

Edit: The messages will be persisted to DB, but I am more interested in a pub/sub architecture

like image 582
skjagini Avatar asked Oct 27 '25 09:10

skjagini


1 Answers

Replaying old topic messages to a new subscription is possible since mid-2021 (see the announcement for more details).

To be able to do this, message retention must be enabled for the topic (maximum configurable retention is 31 days).

To do this, using gcloud CLI, you'd first create a new subscription as usual:

gcloud pubsub subscriptions create test-subscription --topic test-topic

and then "replay" old messages retained on the topic using the seek command:

gcloud pubsub subscriptions seek test-subscription \
  --time="$(date --date='10 days ago')"

In this example messages from 10 days in the past would become available in the subscription. Please note that the date subcommand won't work on macOS but you could install and use gdate instead (brew install gdate).

like image 171
Jakub Kukul Avatar answered Oct 29 '25 07:10

Jakub Kukul



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!