Entity data does not get removed from the world save when entities die [Entity storage digp / actorprefix]
Note: This report is specific to entity data not being removed at the time each entity dies / despawns / etc. The issue with old entity data not being removed is tracked in MCPE-160818.
1.19.30.20.1 Preview Is the True Fixed version. It does not clean up the mess of the older versions.
It appears that the new entity storage keys don't get cleaned up. The "actorprefix" and the NBT data that is stored under them are left behind and don't ever get removed after entities are killed or despawned. Thousands are left dangling outside any chunk pointer key ( digp ) wasting space. They may have forgotten a clean-up function for the expired entities?
there are now 21731 dangling Entities, do I need to remove these manually?
- Fixed
Dan Martin
- 62
- 25
- Confirmed
- 800927
- Multiple
- Windows, Android and Nintendo switch
- 1.19.20.20 Preview
Created Issue:
Storage new Entity storage digp / actorprefix
It appears that the no new entity storage keys get cleaned up. The "actorprefix" and the NBT data that is stored under them are left behind and don't ever get removed after entities are killed or despawned. Thousands are left dangling outside any chunk pointer key ( digp ) wasting space. They may have forgotten a clean-up function for the expired entities?
- Unresolved
- Open
- Unconfirmed
- Multiple
- Windows, Android and Nintendo switch
- 1.18.30 1.18.31
It appears that the
nonew entity storage keys get cleaned up. The "actorprefix" and the NBT data that is stored under them are left behind and don't ever get removed after entities are killed or despawned. Thousands are left dangling outside any chunk pointer key ( digp ) wasting space. They may have forgotten a clean-up function for the expired entities?It appears that the new entity storage keys don't get cleaned up. The "actorprefix" and the NBT data that is stored under them are left behind and don't ever get removed after entities are killed or despawned. Thousands are left dangling outside any chunk pointer key ( digp ) wasting space. They may have forgotten a clean-up function for the expired entities?
It appears that the new entity storage keys don't get cleaned up. The "actorprefix" and the NBT data that is stored under them are left behind and don't ever get removed after entities are killed or despawned. Thousands are left dangling outside any chunk pointer key ( digp ) wasting space. They may have forgotten a clean-up function for the expired entities?
there are now 21731 dangling Entities, do I need to remove these manually?
It appears that the new entity storage keys don't get cleaned up. The "actorprefix" and the NBT data that is stored under them are left behind and don't ever get removed after entities are killed or despawned. Thousands are left dangling outside any chunk pointer key ( digp ) wasting space. They may have forgotten a clean-up function for the expired entities?
there are now 21731 dangling Entities, do I need to remove these manually?
I do like that they still exist makes resurrection possible., but after so many world starts I think they should be removed.
Storage newEntity storage digp / actorprefixEntity data does not get removed from the world save when entities die [Entity storage digp / actorprefix]
Is there another way I can remove all the excess data from my world? I play on Xbox One
my survival world size that was compressed as zip(world folder) used to be 244.2MB 3 weeks ago, now it is 246.3MB and I have compressed the world folder to view the size.
Dan Martin, can you please reply to my comment made 2 days ago? It is above this comment.
is duplicated by
Is the bug now fixed in 1.19.20 since the official version is now out? Can anyone confirm?
1.19.30.20.1 Preview Is the True Fixed version. It does not clean up the mess of the older versions but I bet that will come soon.
It appears that the new entity storage keys don't get cleaned up. The "actorprefix" and the NBT data that is stored under them are left behind and don't ever get removed after entities are killed or despawned. Thousands are left dangling outside any chunk pointer key ( digp ) wasting space. They may have forgotten a clean-up function for the expired entities?
there are now 21731 dangling Entities, do I need to remove these manually?
I do like that they still exist makes resurrection possible., but after so many world starts I think they should be removed.
Hey Dan Martin, can you please reply to the comment I have made 3 days ago? Please reply if you can.
The comment I have made 3 days ago:
Dan Martin, what if you delete all of the dead entity data, what will the size be? Then, if possible, can you send me a copy of the world file after the removal of dead entity data? Provide a screenshot of the world file size as well.
https://u.pcloud.com/#page=register&invite=qcTm7Z0HNiRk pCloud is a file sharing and cloud storage program, sign up using this link to get 1GB of free cloud storage space.
So Dan Martin, does that mean that this bug/glitch will be fixed in 1.19.30?
1.19.30.20.1 Preview Is the True Fixed version. It does not clean up the mess of the older versions but I bet that will come soon.
It appears that the new entity storage keys don't get cleaned up. The "actorprefix" and the NBT data that is stored under them are left behind and don't ever get removed after entities are killed or despawned. Thousands are left dangling outside any chunk pointer key ( digp ) wasting space. They may have forgotten a clean-up function for the expired entities?
there are now 21731 dangling Entities, do I need to remove these manually?
I do like that they still exist makes resurrection possible., but after so many world starts I think they should be removed.Note: This report is specific to entity data not being removed at the time each entity dies / despawns / etc. The issue with old entity data not being removed is tracked in
MCPE-160818.1.19.30.20.1 Preview Is the True Fixed version. It does not clean up the mess of the older versions.
It appears that the new entity storage keys don't get cleaned up. The "actorprefix" and the NBT data that is stored under them are left behind and don't ever get removed after entities are killed or despawned. Thousands are left dangling outside any chunk pointer key ( digp ) wasting space. They may have forgotten a clean-up function for the expired entities?
there are now 21731 dangling Entities, do I need to remove these manually?
relates to
is duplicated by
relates to
Please reply to my comments, if possible. I will delete this comment if you reply.
Can you please provide screenshots and screen-recordings of you downloading the entity plugin(you have made) on Amulet. I want to have a better understanding.
To display screenshots, zip the screenshots and share it to me. Rename each screenshot prior to it’s step(step 1, step 2 etc), that way, it would be easier. Rename the zip file to something like "steps.zip". If the screen-recording is too large, upload it to a file sharing program(like pCloud). Rename the screen-recording to something like "screenrecordingofsteps.zip". Compress the screen-recording as well. To not reveal personal information, crop it, cover it, or edit it.
relates to
NBT data with the actor prefix that is not part of the digp space is not removed by the bug fix from 1.19.20 update (MCPE-155283).
Steps to reproduce:
1. Create a 1.19 world prior 1.19.20. Use peaceful mode settings with mob spawning turned off.
2. Spawn in and kill 5 million mobs to simulate an active multiplayer server.
3. Count the number of actor prefix keys that are not part of the digp space (also quantify contribution of these unlisted keys to the world size).
4. Upgrade the world to 1.19.20 and run the world for many hours.
5. Repeat step 3.
Observed results:
In a busy multiplayer survival server I counted more than 5 million actor prefix keys that were not part of the digp space. After upgrading the BDS server to 1.19.20, and allowing the world to run for more than >2 days, the number of unlisted actor prefix keys that were not part of the digp space still exceeded 5 million.
Expected results:
These unlisted keys should have been removed with the bugfix associated with MCPE-155283. This bug may contribute an excess burden to the world size on active multiplayer servers.
I can confirm that the new actor storage system for storing entities outside the chunk that was added in 1.18.30 does not remove actors that have died or been killed.
This leads to a build up of actor keys in the leveldb database that do not seem to be cleaned up.
With compression this does not actually amount to much data but I can see this becoming an issue at scale on servers with lots of users.
I used rbedrock to analyze a fresh 1.19 world that was run for about 20 minutes or so.
I can confirm that there are actor keys in the database that are not recorded in any chunk's actor digest record. If those keys are from dead or despawned mobs, then the database has a "memory" leak.
I haven't tested if the leak keeps growing the longer the world is simulated. So I don't know if these orphaned actors will eventually be garbage collected.
To make your bug report as effective as possible, please try and include the following steps to reproduce the problem:
Quick Links:
📓 Issue Guidelines – 💬 Mojang Support – 📧 Suggestions – 📖 Minecraft Wiki
Steps to Reproduce:
Observed Result:
There are 10 actorprefix keys. Each one holds NBT data for a llama. None of these keys are referenced in any digp record.
Expected Result:
There are 0 actorprefix keys.
I have noticed that my mob farm test worlds are now much larger than before. For example, a world that used to sit around 4-5 MB might jump to about 15 MB.
I confirm on a server with many users this unlisted entity data contributes to a large expansion in world size. On this server I found 10,370,925 unlisted entity keys. Only 86,906 were part of the digp key space. The consequence to the world is the database if 6.8 GB after counting the actor keys. And it goes down to 3.34gb after removing the 10,284,081 unlisted entity keys.
I don't think they forgot to add a clean function.
I've been writing functions to get rid of the lost actor data with my prune tool, but even when the leveldb reports the actor key as deleted, it will often appear again.
I think this bug is with the leveldb system, more than it is mojang. Perhaps the structure of the keys or data within them is bugging out leveldb system, preventing them truly being deleted.
I Made an Entity plugin for Amulet Its hosted on the github links on Amulets discord, with this you can Resurrect dead entities, even copy edit move delete normal live ones and delete all of them floating lingering ones with one click. They dont come back but they do re acumulate . premierehell github , That's how I discovered this issue, was while writing this plugin. You can really see whats going on with this.
The issue is marked as fixed in the new preview, does anyone know if it removes the old entity data from the world files or just prevents new data from being accumulated?
Yeah, I'm wondering this too. Will it?
I am pretty sure it does not remove the old data, based on mob farm test worlds that I opened in the Preview.
So far it does not appear to be patched, testing restarts and seeing if there is a thresh hold.
So far the actors are still there and are still accumulating. You can test for yourself with Amulet and the EntityPlugin I made, Just click List Dead. I added a screenshot above
Discussion about Dan Martin's Amulet plugin should be taken elsewhere, perhaps the Amulet Discord.
Hey a quick question. You said it dosen't remove the old data from previous expired/killed entities. Is this something that's going to be added? If this turns out to not be added, could I report it as a separate bug? I have a lot of entity data lagging my world, and I can't delete it myself because I play on Xbox
Does anybody know? I'm really worried, I want all the old expired entity data to be deleted
Would not worry about it , I am sure when done currectly it will remove all unused data, this is something they just overlooked is all, its also not resolved / patched yet. This really only adds a small amount of data, it takes like 1 million unlinked entities to take up enough space to be worried about, that would still be around only 10 MBs.
Ok, thanks. I misunderstood. My survival world's about 700MB in size, and It's really laggy around a certain area. I thought this bug was the main culprit.
If your world lags in one area you have too many entities there (mobs, chests)
Which program do you use to view this data? I suspect my world has hanging data about dead entities
In my new world with the new SPECTATOR MODE option the world has problems with the audio, in fact now only in this world the audio is doubled or even tripled. Please fix this mistake!
I created a shulker farm and after running it for an hour my world increased by 100mb in size. I'm starting to regret making it now.
Hey, just a question, will it be fixed after 1.19.20, since I saw that it is going to be fixed after 1.19.20. I think I am experiencing the same issue because my survival world has risen from 244.2MB to 246.3MB(today), I did not ever loaded new chunks, added mods or texture packs, or what so ever made the world file size increase like that, so I think it has something to do with this. After the 1.19.20 update, since someone said that after upgrading to 1.19.20, the old and expired entity data will not be deleted, will upgrading my Minecraft Bedrock(iPad) to 1.19.20 prevent my survival world from accumulating anymore entity data. If not, why is it labeled as fixed?
Also, does it affect Minecraft Bedrock Edition on iPad? The iPad I am currently using is iPad 8 and it is on iOS 15.5.
If this issue/bug doesn’t affect my 246.3MB survival world, what does? I am very curious about it, and also a bit worried.
I view the file size of my survival world by going into the iOS files app and going into the Minecraft world saves, locating my survival world folder and compressing it since you can’t view the size of folders. Once that is done, it says that it is 246.3MB. So 3 weeks ago, it was 244.2MB and I did the same method to view the folder size, now, as you know, it is 246.3MB. I did not explore, load new chunks or add any mods or texture packs.
Also, the reason why I am viewing the world file size this way is that the world file size you see when you are in Minecraft is inconsistent. So that’s why I am doing it by compressing the my survival world folder and viewing the world file size that way, usually, it is very consistent.
Note: the device I am using is iPad 8, iOS 15.5
Please reply to my requests. Any appropriate and relevant help is appreciated. 😃😘
Hopefully when they apply a true patch it'll be fixed completely but at the moment it's wasting a little bit of space not much, i think , Honestly it would take a lot, To use enough data to really notice, Whatever farm you got I highly doubt Even 5 days on a gold farm doesn't acquire more than 5MB. Compressed every entity is approximately 50 bytes. So doing the math. In 30 days of a gold farm can maybe AFK would yield approximately , My guess 20MB to 40MB of extra wasted space. I Did make me plugin to fix this but apple would need realms or a jail brake. Not sure a plugin or a behavior pack could even access the level db. But I'm sure when a true patch comes out it'll remove all unwanted data. I won't release this if it does not. I really believe online Worlds are more vulnerable to this issue.
Compressing the world is definitely going to change the file size. There is no bug, Now if you copy the world to another folder or a disk that's another story, the file size my differener between a few Kilobytes Because some disks use a differant cluster size: 512 normaly up to 4096.
Will it be fixed in 1.19.20 though. If not, can I report it as a seperate bug?
It's not fixed in The version specified, But I'm sure they're working on one. Compressing the game into a zip file is going to change the size that's not a bug.
You are talking about 1.19.20 right?
Did you test the worlds that were opened in 1.19.20.20 preview?
That is correct, I tested it and that version does not fix the issue. I will test the newer ones as soon as I have a chance and let you all know.
Does the glitch/bug/issue affect iPad?
I would assume so, I doubt Apple's got a special version where this dont happen.
Hey Dan Martin, can you check if my survival world has been affected by this issue/glitch/bug.https://u.pcloud.link/publink/show?code=XZITKQVZKBg6xzzF7b8JluyqDVXhnjio6qJy The link to download my survival world. It is compressed as a zip file. Once you got the results, can you reply me back the results and provide a screenshot if possible. Thanks.
KosuketheMCPro You have 9078 Unlinked Entities, This should not be noticeable in performance or space waste.
This is supposedly fixed in 1.19.20. However, I am curious whether the fix is retroactive – will all the excess data be trimmed from my world automatically, reducing the file size when I update?
Dan Martin, what if you delete all of the dead entity data, what will the size be? Then, if possible, can you send me a copy of the world file after the removal of dead entity data? Provide a screenshot of the world file size as well.
https://u.pcloud.com/#page=register&invite=qcTm7Z0HNiRk pCloud is a file sharing and cloud storage program, sign up using this link to get 1GB of free cloud storage space.
It looks like leftover orphaned entity keys are not being removed in 1.19.20. I counted 5409912 keys in data taken from one of Prowl8413's servers a day or so before the update. About 16 hours after the update there are still 5454388 orphaned entity keys. Only 6 of the pre-update keys are not part of the post-update database.
Message #bugs
9k Entities should not take up more than 2 to 3MBs of disk space, the compression is very good. 100K may be 10MBs needs to be tested to see if they are removed later on. Unless you are running a server with 10+ people or mob farms(only a little extra space). I will test the latest versions today. Regarless you should not notice any issue unless its related to space.
Good News, Version 1.19.30.20.1 Preview No Longer retains the entities. Bad News It does not clean up the mess the older version may have made. Like I said Before The space gain won't be that much. Unless you have a server with 10+ people running farms, still, that would not be much. Every entity takes less than 0.5KB.
Dan Martin, also, can you please provide me the download link of the Entity Plugin you have made? Can you please teach me how to download and install the Entity Plugin you have made, provide screenshots and screen recordings as well, write the procedure on how to download and install the Entity Plugin, write in good spelling and grammar.
Please also teach me on how to delete the dead entity data with your Entity Plugin.
KosuketheMCPro
NOTE: 10.b2 version does cause a minor bug with this plugin: I'm hoping the minor bug will be fixed in the next version, this only affects large floats that contain a newly added Scientific notation feature.
I have an issue where I can’t open the Entity Plugin, I right-clicked the link(https://raw.githubusercontent.com/PREMIEREHELL/Amulet-Plugins/main/EntitiePlugin.py) and saved it, it was in my downloads folder on my computer, the file name was EntitiePlugin.py. I copied it to the Amulet operations folder. Amulet wouldn’t open it. Am I doing something wrong? I then copied it onto the Export Operations folder in the Amulet system files, still, it is the same, no difference. An obvious thing, when I want to locate plugins, I need to like select the folder of the plugin. Also when I press on the folder icon when I press operations in Amulet, it opens the whole Windows Files Manager/Explorer, it should open a small tab for me to select the files but it is the opposite, it opens the whole entire Windows File Manager/Explorer as I said, and there is no ‘select’ button for me to select the plugin folder.
Next, I clicked on the link, saw the code, never edited it, and copied the code as a .txt file. I repeated the same thing above, but still no, it would not work.
please help me.
KosuketheMCPro
My apologies I forgot to apply the small change I made to Github. The file is updated and should show up now.
Dan Martin, why does Amulet freeze for about 2-3 minutes when I click 'list dead' with your entity plugin?
Sometimes, it freezes up to about 8 minutes.
Dan Martin, it is also laggy when I scroll up and down the lists with your entity plugin. My computer has good RAM.
Well on iPad, I think it is fixed in 1.19.20 already, since I did not see any more unlinked entities when I use the entity plugin. I upgraded my Minecraft from 1.19.11 to 1.19.20, the number of unlinked entities is still 9078. I think it is fixed for iPad, but for other devices, I have no idea.
But do alive entities take up storage too?
Yes live entities take up storage but way less than the whole chunk. And like I said before you're not gonna notice a huge difference in storage space. Yet it's annoying when something's there and it doesn't need to be.
To prove my point that this bug is fixed in 1.19.20 for iOS, follow the steps below.
Requirements:
You must need a working iOS device.
You must have a copy of Minecraft on your iOS device.
You must update to Minecraft 1.19.20.
Steps:
1: Launch Minecraft on your iOS device.
2: Create a brand new world in Minecraft 1.19.20.
3: Once step 2 is completed, kill some mobs.
4: Save and exit the game.
5: Locate the world folder(the world where you have killed the mobs) in your files app(iOS). If you don’t know where to locate the world folders, search it up on the internet.
6: Zip the world folder so it can be easier to share the world folder to your PC.
7: Use a file sharing program like pCloud(referral link: https://u.pcloud.com/#page=register&invite=qcTm7Z0HNiRk ). Upload the compressed world folder to the file sharing program/software.
8: Go onto your PC, make sure you have downloaded Amulet and Dan Martin’s entity plugin(steps to install Dan Martin’s entity plugin are above these 8 comments).
9: Go onto your file sharing program/software and download the compressed world folder on your PC. Once it is downloaded, it would be in your PC’s download folder.
10: Decompress the zip file, once decompress, the world folder should appear.
11: Launch Amulet, make sure you have Dan Martin’s entity plugin in Amulet.
12: Open the world on Amulet.
13: Hover to 3D Editor.
14: Click on operations.
15: The entity plugin should appear if you have it.
16: Click ‘list dead’.
17: There should be nothing if you had your world on iOS.