[
https://issues.apache.org/jira/browse/JAMES-3700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17513346#comment-17513346
]
Ha Anh Vu commented on JAMES-3700:
----------------------------------
Hello,
I come here from https://issues.apache.org/jira/browse/JAMES-3306
As far as I understand, each topic will have one or many versions of JSON
schema, any message that goes in a topic and fails its schema will go to the
dead letter topic. Is that right?
So basically, to fix this issue we need to:
- Define the JSON schema for each topic
- Specify the schema evolution strategy for each topic
- Specify the schema compatibility check strategy for each topic
- For schema storage, should we use the default BookKeeper or something of our
own choice?
- Define the dead letter topic
- Specify how failed messages are handled in dead letter topic
Is that right? Did I miss anything?
> Dead letter policy for the Pulsar MailQueue
> -------------------------------------------
>
> Key: JAMES-3700
> URL: https://issues.apache.org/jira/browse/JAMES-3700
> Project: James Server
> Issue Type: Sub-task
> Components: pulsar, Queue
> Affects Versions: master
> Reporter: Benoit Tellier
> Priority: Major
> Time Spent: 1h 20m
> Remaining Estimate: 0h
>
> Currently the Pulsar MailQueue do not come up with a dead-letter policy.
> A bad JSON payload halts the processing.
> This makes the Pulsar MailQeue brittle:
> - The ability to inject a single message with a bad payload can cause an
> entire James cluster to come to a halt.
> - Could be seen as an attack vector
> - But also any changes to the underlying JSON schema for payloads is
> susceptible to cause major downtime.
> We should define a deadletter policy:
> - Given a number of failures delivery of the message would be abandonned
> - And moved to a dead-letter topic for later audit (prevent data loss)
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]