Affects Version/s: Minecraft 1.14
Fix Version/s: Minecraft 1.14.1 Pre-Release 1
Environment:Ubuntu Linux 19.04
Villagers seem to be able to find jobs much more easily than they can lose them. Namely, they can detect workstations that are unreachable, but they cannot lose that job until they physically arrive at that workstation. (Note: it might be that eventually they will lose their jobs?) Another asymmetry is they can detect blocks that are very far away (I haven't tested it but its something like 30 blocks?) but they have to be within 2 blocks of their workstation to detect that it's not there and lose it.
How to reproduce:
Villagers seem to be able to detect workstations that they cannot physically reach. For example, open up a creative world, create a 6 high pillar of stone, and place a workstation on top. Spawn a villager. It will take the job. Now destroy the workstation. The villager is unable to lose that job. If you build a staircase up to the top of the pillar, the villager will climb it and then lose their job.
I also did the following: I would set the time to 8000, the villager would go to the pillar, walk away, and then I would set the time to 8000 again so the villager would check again. I did this 10 times and the villager still didn't lose his job. So it seems that if repeated attempts are required, the threshold is quite high.
I don't know if this asymmetry is intended, but it creates some problematic behavior. Namely, their detection range seems quite large, and I created some workstations in an area which the villagers aren't supposed to go. It's annoying but possible to bring them all down there to see their workstations are gone.
Another problematic scenario occurs when I'm not sure where the villager's workstation actually was. I suppose one could let them roam around until they find it, but this seems dangerous (for them...) – or maybe it's been filled in with other blocks and they can't get to it.