dapr / dapr/components-contrib

Rabbit MQ Pub/Sub Publish Metadata Propogation

Open
#4,051 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

good first issue help wanted
Dominant language
Go
Stars
602
Forks
580
Avg merge
4d 9h
Merged PRs (30d)
6

Description

Ask your question here

Hello!

I'm trying to use a headers exchange with Rabbit MQ but am not able to achieve it. I route my message from exchange to individual queues, by use case, using a particular header.

I could not get this working though DAPR even after setting this in the component:

    - name: publishMessagePropertiesToMetadata
      value: "true"

From the subscribing code it looks like the inverse of what I want is supported here.

I dug into the publishing code a bit and found this so it looks like this is intentional behavior?

So I guess that's my question, is this intentional behavior or is this propogation something I could request as a feature (and maybe contribute)?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read pubsub/rabbitmq/rabbitmq.go at lines 758-795 and common/component/rabbitmq/rabbitmq.go at lines 36-52 to compare subscriber metadata handling with publishing behavior. Reproduce the headers-exchange setup described in the issue and determine whether publishMessagePropertiesToMetadata is intended to affect publishing; done requires a maintainer-confirmed behavior and a concrete scope for any change.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, rabbitmq
Domain
distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.