PathOfBuildingCommunity / PathOfBuilding

Offline build planner for Path of Exile.
https://pathofbuilding.community
Other
3.63k stars 2k forks source link

Identical Legion Jewel .bin files get re-generated every single run #7598

Open dsnvwlmnt opened 2 months ago

dsnvwlmnt commented 2 months ago

Check for duplicates

Is your feature request related to a problem?

Every time you launch PoB with a build that contains a Legion Jewel, e.g. /Data/TimelessJewelData/GloriousVanity.bin gets overwritten with the same file (same hash).

I'm using up transfer and disk space quotas with 4GB of identical file versions of GloriousVanity.bin.

Describe the solution you'd like

Add a check: If (LegionJewelsX-Y-Z).bin exist, don't re-generate.

Describe alternatives you've considered

If identical legion jewel .bin files must be generated repeatedly for reasons I'm unaware of, please generate it in the system TEMP location, compare the hash, and replace the original only if it is in fact different.

Alternately, if the purpose is to save 30 MB of space by compressing<>uncompressing these .bin<>.zip: leave them as .bin from the outset. The space is minuscule compared to GB upon GB of duplicate data generation.

Regisle commented 2 months ago

Add a check: If (LegionJewelsX-Y-Z).bin exist, don't re-generate.

it checks that its still valid https://github.com/PathOfBuildingCommunity/PathOfBuilding/blob/dev/src/Modules/DataLegionLookUpTableHelper.lua#L8-L77, likely an issue with your file system thats causing a false positive, though it should replace the file so shouldnt eat disk space (just write cycles)?, an explanation of the system you are running PoB on might help as it doesnt seem like the normal desktop usecase.

edit, looks like there might be an issue with a Roaming install, will update if we findout more, but info on your system will help

dsnvwlmnt commented 1 month ago

Judging by zao's mention, this may well be fixed in the next version.

I am indeed running the Portable version. Windows 10. Mega (rightfully or not) uses file date to make backup versions of files, so it's probably not just about wasted write cycles here. As long as the file date changes, the problem will occur.

In the meantime a workaround I found is to make e.g. GloriousVanity.bin Read-Only. (For future readers, do this at your own risk as I have no idea what side-effects it has on Legion Jewel functionality. PoB does run and my build loads at least. You'll also want to remove Read-Only from the file once the related issue is fixed.)

Regisle commented 1 month ago

For future readers, do this at your own risk as I have no idea what side-effects it has on Legion Jewel functionality

at the very least it means you wont get updates to it when the tree changes, but we havnt needed to update the file in a few leagues, and you can always just replace it with a new one when it does (plus hopefully the main issue is fixed by the next time the file needs to be updated)