Hello guys,

Today I noticed on one of our servers that the redelivery of all event dead letters task was failing.

The problem being... too strict on event dead letter group deserialization. The problem I had was that after a migration, I had some groups still registered in group_table that were from before the migration. After the migration, those group didn't exist anymore or have been refactored and changed name. But the api is so strict on it that when we try to redeliver all events, we fetch all groups in the group table and try to deserialize them into their own class. If one of the group changed, it just crashes!

I've been trying to use webadmin for trying to delete the groups that were not in the code anymore: https://james.apache.org/server/manage-webadmin.html#Deleting_all_events_of_a_group

Looking at the code, it deletes events of a group, then the group. Checking in cassandra, there was no events left going around related to those groups. But still the task failed... because we try to strictly deserialize the group in to a class again .

I understand that being strict in some cases is good, but it reached the point where I had to go delete the faulty group lines in cassandra myself to do the clean up and allow the redeliver all events task to do its job again properly (which I find even more riskier).

Can we be a bit more relax on that? Or at least giving the possibility to delete via the webadmin api those outdated group without a strict deserialization first? Like maybe refactoring the webadmin route I posted above to accept a header, like "I-KNOW-WHAT-I-AM-DOING" (as we have for some other sensitive routes) and if we get that, we accept to not be strict and just do a blind remove against cassandra for that group?

It's not the first time I encounter this, and it's frustrating each time.

Would be interested to know what the community thinks.

Best regards,

Rene.


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to