Posted December 20, 20168 yr I have been getting sporadic concurrency exceptions from the chunk IO thread and I suspect it may be related to how I interact with my global WorldSavedData. Currently I do not have concurrency guards in place. I looked at the mcforge docs and I did not see anything on this particular topic. So my question is do I need to synchronize access to my WorldSavedData? EDIT: Additional info - I do have various lists inside the WorldSavedData object.
December 20, 20168 yr Author Link to the file in my Github repository. My main concern is that I have a Set<> burried in DimensionEffectData. It is possible that the Set<> would be modified in the main server thread while the IO thread is serializing - assuming serialization takes place in the IO thread.
December 20, 20168 yr Author This particular set of classes had a colorful past. They started off reading/writing Json but morphed into what you currently see. * Is it that markDirty is generally pointless? * I was planning on making it per dimension as you indicate - would simplify things. Thanks for the suggestions.
December 20, 20168 yr Author That's what I thought. Because of how the class was implemented it was the only place that I could guarantee it would be flagged. My new sandbox implementation does it differently.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.