Merge "Drop email if change can't be found and reformat logs"
This commit is contained in:
commit
130c7e566f
@ -124,13 +124,9 @@ public class MailProcessor {
|
||||
for (DynamicMap.Entry<MailFilter> filter : mailFilters) {
|
||||
if (!filter.getProvider().get().shouldProcessMessage(message)) {
|
||||
log.warn(
|
||||
"Mail: Message "
|
||||
+ message.id()
|
||||
+ " filtered by plugin "
|
||||
+ filter.getPluginName()
|
||||
+ " "
|
||||
+ filter.getExportName()
|
||||
+ ". Will delete message.");
|
||||
String.format(
|
||||
"Message %s filtered by plugin %s %s. Will delete message.",
|
||||
message.id(), filter.getPluginName(), filter.getExportName()));
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -138,35 +134,39 @@ public class MailProcessor {
|
||||
MailMetadata metadata = MetadataParser.parse(message);
|
||||
if (!metadata.hasRequiredFields()) {
|
||||
log.error(
|
||||
"Mail: Message "
|
||||
+ message.id()
|
||||
+ " is missing required metadata, have "
|
||||
+ metadata
|
||||
+ ". Will delete message.");
|
||||
String.format(
|
||||
"Message %s is missing required metadata, have %s. Will delete message.",
|
||||
message.id(), metadata));
|
||||
return;
|
||||
}
|
||||
|
||||
Set<Account.Id> accounts = accountByEmailCache.get(metadata.author);
|
||||
if (accounts.size() != 1) {
|
||||
log.error(
|
||||
"Mail: Address "
|
||||
+ metadata.author
|
||||
+ " could not be matched to a unique account. It was matched to "
|
||||
+ accounts
|
||||
+ ". Will delete message.");
|
||||
String.format(
|
||||
"Address %s could not be matched to a unique account. It was matched to %s. Will delete message.",
|
||||
metadata.author, accounts));
|
||||
return;
|
||||
}
|
||||
Account.Id account = accounts.iterator().next();
|
||||
if (!reviewDb.get().accounts().get(account).isActive()) {
|
||||
log.warn("Mail: Account " + account + " is inactive. Will delete message.");
|
||||
log.warn(String.format("Mail: Account %s is inactive. Will delete message.", account));
|
||||
return;
|
||||
}
|
||||
|
||||
try (ManualRequestContext ctx = oneOffRequestContext.openAs(account)) {
|
||||
ChangeData cd =
|
||||
queryProvider.get().setLimit(1).byKey(Change.Key.parse(metadata.changeId)).get(0);
|
||||
List<ChangeData> changeDataList =
|
||||
queryProvider.get().byKey(Change.Key.parse(metadata.changeId));
|
||||
if (changeDataList.size() != 1) {
|
||||
log.error(
|
||||
String.format(
|
||||
"Message %s references unique change %s, but there are %d matching changes in the index. Will delete message.",
|
||||
message.id(), metadata.changeId, changeDataList.size()));
|
||||
return;
|
||||
}
|
||||
ChangeData cd = changeDataList.get(0);
|
||||
if (existingMessageIds(cd).contains(message.id())) {
|
||||
log.info("Mail: Message " + message.id() + " was already processed. Will delete message.");
|
||||
log.info("Message " + message.id() + " was already processed. Will delete message.");
|
||||
return;
|
||||
}
|
||||
// Get all comments; filter and sort them to get the original list of
|
||||
@ -190,7 +190,7 @@ public class MailProcessor {
|
||||
|
||||
if (parsedComments.isEmpty()) {
|
||||
log.warn(
|
||||
"Mail: Could not parse any comments from " + message.id() + ". Will delete message.");
|
||||
"Could not parse any comments from " + message.id() + ". Will delete message.");
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user