CloudNetService / CloudNet

A modern application that can dynamically and easily deliver Minecraft oriented software
https://cloudnetservice.eu
Apache License 2.0
376 stars 119 forks source link

fix: use concurrent map for i18n entries #1502

Closed 0utplay closed 4 weeks ago

0utplay commented 4 weeks ago

Motivation

When unregistering language keys concurrently an exception is thrown because the backing map does not support concurrent access and modification.

Modification

Use a ConcurrentHashMap and set as backing implementation.

Result

No issues with our translation system

github-actions[bot] commented 4 weeks ago

Test Results

 48 files  ±0   48 suites  ±0   2m 0s :stopwatch: +14s 420 tests ±0  420 :white_check_mark: ±0  0 :zzz: ±0  0 :x: ±0  751 runs  ±0  751 :white_check_mark: ±0  0 :zzz: ±0  0 :x: ±0 

Results for commit 9681f4db. ± Comparison against base commit 1ef60bed.

This pull request removes 34 and adds 34 tests. Note that renamed tests count towards both. ``` eu.cloudnetservice.driver.document.DocumentSerialisationTest ‑ [4] {"b":1,"s":2,"i":3,"l":4,"f":5.0,"d":6.0,"c":"/","string":"Hello, World!","bol":true,"cloud":["Ben?","Yes","No","HoHoHoHo"],"world":{"this":"is","hello":"world","insane":"!"}}, PRETTY eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [14] 2024-08-30 eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [23] 22:04:34.738252958 eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [28] 22:04:34.738398119Z eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [29] 22:04:34.738422675Z eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [30] 22:04:34.738445197+05:00 eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [31] 22:04:34.738465044-03:00 eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [34] 2024-08-30T22:04:34.738486614 eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [39] 2024-08-30T22:04:34.738606378Z eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [4] 2024-08-30T22:04:34.738013952Z … ``` ``` eu.cloudnetservice.driver.document.DocumentSerialisationTest ‑ [4] {"b":1,"s":2,"i":3,"l":4,"f":5.0,"d":6.0,"c":"/","string":"Hello, World!","bol":true,"cloud":["Ben?","Yes","No","HoHoHoHo"],"world":{"insane":"!","hello":"world","this":"is"}}, PRETTY eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [14] 2024-09-08 eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [23] 10:11:30.255779097 eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [28] 10:11:30.255925449Z eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [29] 10:11:30.255948743Z eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [30] 10:11:30.255968710+05:00 eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [31] 10:11:30.255986753-03:00 eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [34] 2024-09-08T10:11:30.256004216 eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [39] 2024-09-08T10:11:30.256115022Z eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [4] 2024-09-08T10:11:30.255681065Z … ```