[Feature request] Expose complete MQTT publish context to PayloadFormatter
- Dominant language
- Java
- Stars
- 6.4k
- Forks
- 1.2k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 115
Description
### Search before asking
- [x] I searched in the [issues](https://github.com/apache/iotdb/issues) and found nothing similar.
### Motivation
Currently, the MQTT `PayloadFormatter` interface receives only the topic and payload.
For custom MQTT ingestion scenarios, it would be helpful if `PayloadFormatter` could also access additional MQTT publish metadata, such as:
- client ID
- username
- QoS
- topic
- payload
In particular, access to `clientId` is useful when the MQTT connection identity needs to be preserved as part of the stored data.
It would therefore be helpful if the formatter API could expose the complete MQTT publish context rather than only `topic` and `payload`.
Backward compatibility with existing custom `PayloadFormatter` implementations would also be appreciated.
Thank you for considering this enhancement.
### Solution
_No response_
### Alternatives
_No response_
### Are you willing to submit a PR?
- [ ] I'm willing to submit a PR!
Contributor guide
Research direction
Locate the MQTT PayloadFormatter interface and its existing implementations, then trace how MQTT publish topic and payload reach the formatter. Determine how the complete publish context and backward compatibility should be represented; done means custom formatters can access the requested metadata without breaking existing implementations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend-api-design, databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100