Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use a thread-safe Set impl for the TickerTask's tickingLocations #4173

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

md5sha256
Copy link
Contributor

@md5sha256 md5sha256 commented Apr 18, 2024

Description

Bugfix

Proposed changes

  • Replace the use of a HashSet with ConcurrentHashMap#newKeySet in the ticker task to prevent CMEs from ocurring when we are ticking
  • Updated relevant javadocs
  • Replace getOrDefault creations of HashSet with Collections#emptySet

Related Issues (if applicable)

Fixes #3696

Checklist

  • I have fully tested the proposed changes and promise that they will not break everything into chaos.
  • I have also tested the proposed changes in combination with various popular addons and can confirm my changes do not break them.
  • I have made sure that the proposed changes do not break compatibility across the supported Minecraft versions (1.16.* - 1.20.*).
  • I followed the existing code standards and didn't mess up the formatting.
  • I did my best to add documentation to any public classes or methods I added.
  • I have added Nonnull and Nullable annotations to my methods to indicate their behaviour for null values
  • I added sufficient Unit Tests to cover my code.

@md5sha256 md5sha256 requested a review from a team as a code owner April 18, 2024 16:01
@github-actions github-actions bot added the ✨ Fix This Pull Request fixes an issue. label Apr 18, 2024
Copy link
Contributor

Your Pull Request was automatically labelled as: "✨ Fix"
Thank you for contributing to this project! ❤️

@md5sha256
Copy link
Contributor Author

Haven't tested this on the server yet but I expect the chance of a major bug ocurring are unlikely.

Copy link
Contributor

Slimefun preview build

A Slimefun preview build is available for testing!
Commit: 29036c19

https://preview-builds.walshy.dev/download/Slimefun/4173/29036c19

Note: This is not a supported build and is only here for the purposes of testing.
Do not run this on a live server and do not report bugs anywhere but this PR!

@WalshyDev
Copy link
Member

I looked for the HashSet a while ago and couldn't find it, ty!

@mcchampions mcchampions mentioned this pull request Jul 19, 2024
4 tasks
@TheBusyBiscuit TheBusyBiscuit added the 🎯 Needs testing This Issue needs to be tested by our team to see if it can be reproduced. label Aug 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ Fix This Pull Request fixes an issue. 🎯 Needs testing This Issue needs to be tested by our team to see if it can be reproduced.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

An Exception was caught while ticking the Block Tickers Task
3 participants