I've been using hoppers in a contraption I'm building and have been noticing weird behaviour when pulling items from containers. I can confirm that this happens with chests and shulker boxes but it probably happens with other containers as well.
How to reproduce
there is a world and a screenshot in the attachments but I will describe it as well.
build a straight horizontal hopper line connecting two containers
add a redstone line that disables all hoppers at the same time
you can also add comparators for each hopper to see which contains an item
put items into the container at the start of the hopper line
You will notice that gradually all comparators turn on, so it may seem like there is an item in every hopper. However this is not the case. As soon as you disable the hoppers using the redstone line you built you will notice that some comparators turn off.
Expected behaviour
Every hopper should always contain exactly one item. What seems to be happening is that the starting hopper sometimes doesn't pull an item from the starting chest.
In my opinion this is a dealbreaker for some contraptions like a few types of storage systems.
Attachments
Comments 3
According to this YouTube comment by Ilmango (https://www.youtube.com/watch?v=NTkdxZRVbzI&lc=UgzEzVktCqHaqiPLST94AaABAg.8YrZbdkO17I8Yre9nAm_d-), this is working as intended.
The comment states that a hopper transfers its first item after 7 game ticks (3.5 redstone ticks) and transfers each subsequent item after 8 game ticks (4 redstone ticks). This causes the first item to move slightly faster down the hopper line than the rest. It eventually gets far enough ahead that the second item moves faster for a while, and so on.
Apparently, many existing redstone contraptions rely on these hopper timings, and they would break if hoppers started transferring all items after 8 game ticks.
I tried it in a few different version and can confirm that this is also happening in the following versions:
1.16.1
1.16
1.15.2
1.15.1
1.15
1.14.4
1.14.3
1.14.2
1.14.1
1.14
I didn't try any prior versions, but I guess this has been in the game for quite some time.