The bug
Projectiles sorta forget their throwers if you reload a world. For example, if you lower a creeper to half a heart, shoot an arrow into a block above it and then destroy the block, once the arrow kills the creeper, it'll drop xp. If you reload the world before destroying the block, no xp will be dropped.
Another example: if a drowned kills a villager with a trident, it'll normally convert it into a zombie villager. However, if you reload the world before the trident connects, the villager will just die instead.
Linked issues
Comments
A duplicate, don't you think? Perhaps MC-69821 can be generalized a little further.
Probably yeah. Both could probably be fixed by adding a NBT tag that has the UUID of the thrower or something.
Very closely related to MC-69821