Alexander Preuß photo
Alexander Preuß

Table of Contents

Tutorial

How to edit and replay messages in Pulsar

Introduction

Working with event-driven systems like Apache Pulsar often means handling large volumes of messages flowing between services. Occasionally, a message might arrive with incorrect data, or you might need to reproduce a specific message to debug an issue or test downstream consumers.
Instead of writing custom producers or scripts, Streamvisor makes this simple with its Edit and Replay feature. It lets you locate any message in a topic, make changes if needed, and resent it to the same or a different topic - all from the UI in just three clicks.

Navigating the Explorer

To get started, open the Explorer page. This is your main starting point for interacting with your Pulsar environment.

Once you are on the Explorer page, you'll see a list of tenants, the logical groups that help organize your messaging infrastructure. Each tenant contains one or more namespaces, which in turn contain the actual topics where your messages live.

Here’s a quick path through the structure:

  • Select a Tenant → reveals available Namespaces inside
  • Select a Namespace → shows all the Topics inside
  • Click on a Topic → opens the Topic Overview

This clear hierarchy ensures you always know exactly where you are in the system.

Finding a Message

Once you've opened a Topic Overview, you'll see metrics and general topic information. Since we want to work with actual messages, switch to the Browse tab.

Here you can see the incoming messages in real-time or view older messages based on their timestamp or offset.
Now, we select the message we want to reproduce from the list by clicking on it.

Editing and Replaying the Message

Once you've opened the message details, click on the Edit and Reproduce tab.
The dialog will change to show the message key and message value. Here you can:

  • Edit the message key and message value if you need to fix data
  • Select the target topic where the message will be sent

The two main use cases for this are Debugging and Correcting data.
For example, when debugging, you want to keep the message as-is but send it to a separate test topic to reproduce an error safely. In that case you would not make any changes to the JSON but just select your test topic as the target one.
On the other hand, when correcting data, you want to update the message content directly, for example changing an attribute in the message body, and then send it back to the original topic.

Once done, click Reproduce and the message will be resent instantly.

Wrapping Up

Message editing and replaying can be a powerful feature when working with Apache Pulsar. It allows you to quickly correct data issues, validate consumer behavior and debug message flows without interrupting your production traffic or writing custom tools.
Try it out next time you need to troubleshoot a topic, test your Pulsar consumers, or safely recover from a bad message in your data stream!

Alexander Preuß photo
About the Author
Alexander Preuß is a seasoned expert in the data streaming field with extensive experience as a software engineer at both startups and large enterprises. Specializing in distributed systems, he has contributed to various open source projects, including Apache Flink, Apache Kafka, and Apache Pulsar, along with their ecosystems. Prior to founding Streamvisor, Alexander worked at Ververica (acquired by Alibaba) and StreamNative.

Let's stay in touch

Get notified of new developments or blogposts.
Checkmark icon
You've joined the mailing list!
Oops! Something went wrong while submitting the form.