Skip to content

Commit 3eb7129

Browse files
authored
Merge pull request #69 from topcoder-platform/dev
fix email send
2 parents f071742 + cd8d86d commit 3eb7129

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/main/java/com/topcoder/onlinereview/component/project/phase/handler/AbstractPhaseHandler.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import java.util.List;
5353
import java.util.Map;
5454
import java.util.Set;
55+
import java.util.concurrent.ConcurrentHashMap;
5556
import java.util.concurrent.ExecutorService;
5657
import java.util.concurrent.Executors;
5758

@@ -327,7 +328,7 @@ public abstract class AbstractPhaseHandler implements PhaseHandler {
327328
* But email should be send after updated success, so collect email message before update
328329
* and send it after update
329330
*/
330-
private Map<String, List<TCSEmailMessage>> emailToSend = new HashMap<>();
331+
private Map<String, List<TCSEmailMessage>> emailToSend = new ConcurrentHashMap<>();
331332

332333
/**
333334
* The log instance used by this handler.
@@ -555,6 +556,7 @@ private void sendPhaseEmails(Phase phase, Map<String, Object> values, boolean bS
555556
}
556557

557558
Map<Long, Map<String, String>> challengeIdCache = new HashMap<>();
559+
emailToSend.remove(String.join(":", String.valueOf(phase.getId()), phase.getPhaseStatus().getName()));
558560
for (long userID : userEmailSchemes.keySet()) {
559561
EmailScheme emailScheme = userEmailSchemes.get(userID);
560562
EmailOptions emailOptions = bStart ? emailScheme.getStartEmailOptions() : emailScheme.getEndEmailOptions();

0 commit comments

Comments
 (0)