Trigger email resend, after 2.3.2->3.2.9 upgrade?

Our previous Indico 2.3.2 system suffered from lots of outbound email failures, due to using an invalid from address. I know this is all fixed for 3.2.9 (the version we upgraded to on Thu 28/Mar) since we can now specify SMTP_ALLOWED_SENDERS and SMTP_SENDER_FALLBACK.

I also (think I) know that the many failed emails (red envelope in the event’s Logs page) can no longer be resent, which is fine. However, on one event, I have three emails listed in the Logs with a blue envelope: ‘This email is pending and will be sent soon.’ These are all from the few hours right before we upgraded. I am wondering if this is really true and they will be resent? Subsequent emails on that event, after our upgrade, have been sent fine.

Note that this is a new app server running Indico 3.2.9. I am wondering if there is perhaps something I need to grab from the old app server to make this work?

BTW, as per this thread, I checked /opt/indico/tmp/failed-email* on the old app server, and there are two files there, but for another event, not this one.


If it’s still showing up as pending, it sounds like Celery is not running.

PS: The implementation of these two settings is not perfect yet, but we plan to improve this in an upcoming release (3.3.x) in order to stop spoofing email senders altogether.

Thanks for the reply. The celery service is running fine - emails since the Indico upgrade have all been sent fine. I gave the celery service a restart anyway, but we still have these emails saying they ‘will be sent soon’.

I just checked and the pending state is only cleared once Celery handled the email (after which it’ll be either green/success or red/failed). So for some reason the task never got picked up.

There’s not really a good way to retry this, since if the task itself no longer exists anywhere, the full email data isn’t present anymore either (the log entry is not detailed enough to recreate the exact email).

OK, thanks for checking. I wonder if this happens when an email sending task is in this state, and then Indico is upgraded? These were all from the few hours right before the upgrade. Never mind. :slight_smile:

Usually the tasks should be handled immediately after being created, unless you already stopped Celery for the upgrade and the emails were sent after that…

I think it’s not too unlikely that tasks created on Indico v2.x (and thus Python 2) cannot be correctly loaded on Python 3. Maybe celery.log contains something useful?

Hi. Celery was running right up until I disabled access to the service for the users, at the start of the maintenance window. But maybe these tasks were being retried, because they were failing (the 10 email retries I read about) - they’d be failing due to the incorrect from address - so they were still pending at the time of the upgrade ?

Doesn’t seem to be anything worrying in celery.log when it first started on the new server.