SuccessChanges

Summary

  1. [SPARK-34125][CORE][2.4] Make EventLoggingListener.codecMap thread-safe (details)
Commit e0e1e21ee84bb3cb20eefee982da59afaa250a2c by kabhwan.opensource
[SPARK-34125][CORE][2.4] Make EventLoggingListener.codecMap thread-safe

### What changes were proposed in this pull request?
`EventLoggingListener.codecMap` change `mutable.HashMap` to `ConcurrentHashMap`

### Why are the changes needed?
2.x version of history server
`EventLoggingListener.codecMap` is of type mutable.HashMap, which is not thread safe.
This will cause the history server to suddenly get stuck and not work.
The 3.x version was changed to `EventLogFileReader.codecMap` to `ConcurrentHashMap` type, so there is no such problem.(SPARK-28869)

Multiple threads call `openEventLog`, `codecMap` is updated by multiple threads, `mutable.HashMap` may fall into an infinite loop during `resize`, resulting in history server not working.
https://github.com/scala/bug/issues/10436

PID 117049 0x1c939
![image](https://user-images.githubusercontent.com/3898450/104753904-9239c280-5793-11eb-8a2d-89324ccfb92c.png)

![image](https://user-images.githubusercontent.com/3898450/104753921-9534b300-5793-11eb-99e6-51ac66051d2a.png)

### Does this PR introduce _any_ user-facing change?
No

### How was this patch tested?
exist ut

Closes #31194 from cxzl25/SPARK-34125.

Authored-by: sychen <sychen@ctrip.com>
Signed-off-by: Jungtaek Lim <kabhwan.opensource@gmail.com>
The file was modifiedcore/src/main/scala/org/apache/spark/scheduler/EventLoggingListener.scala (diff)