Fish eye is cratering or ridging in the finish right after application (brush or spray). It is caused by silicone in the wood. The silicone is an oil that is commonly included in furniture polishes, hand creams and other household products. The oil is very slick and prevents the finish from leveling out.
All finishes are susceptible to fish eye if the silicone contamination is great enough. But for most situations shellac isn’t affected by the silicone. A coat of shellac will block the silicone so another finish can be applied on top without a problem.
On this sample, I applied silicone to the entire panel. Then I applied a coat of shellac to the right half. Finally, I sprayed lacquer over the entire panel.
You can see that the shellac blocked the problem. It will do this for any finish.