User Tools

Site Tools


tech_notes:highsierra

High Sierra Info

Version 9.3.8 or newer is absolutely required for running on High Sierra. Because of the new APFS file system you must not run an earlier version of XTension after the update or your database will become corrupt. Luckily the backups will always be available in your XTension folder. If you upgrade to High Sierra you should upgrade your XTension version either first or at the same time.

There are other High Sierra problems that you should be aware of:

Apple has acknowledged a serious bug that is still present as of this writing in high Sierra version 10.13.3. It causes any user space app to hang up at some point after the screen goes to sleep. There is no fix that a developer can implement for this but I have implemented a work around. The solution is to force the screen to wake up when the contention begins which allows the app to continue to run. On High Sierra you will see your XTension servers screen wake up periodically as XTension fights to be able to continue to run. Another solution is just to set the screen never to go to sleep in the energy saver preferences and then physically power off your monitor when you’re not using the machine. If you are running a headless mini or other machine then this is the obvious solution as there isn’t a monitor to worry about anyway. I will update this note when Apple fixes the problem. 10.13.3 does seem to be better than previous 10.13 versions, but I am still seeing the problem happen occasionally. Or it may be that my work around of keeping the screen awake for some time after the event happens is working better than when I woke it only once. I don’t know but I’m still seeing the messages in my log a few times a day after I let the screen go to sleep.

The new APFS file system is hugely slower when doing safe file saves. This causes a database save in XTension to take many times longer than when saving to an HFS+ volume. In order to guarantee that database files do not get corrupt or lost in low disk space or disk error conditions all data is written to a temporary file and validated that it’s there. Once the temporary file is verified to contain the right data a swap is done with the original database file. Once the swap is verified the original file is deleted and the temporary file takes it’s place. On even a slow HFS+ volume I can save the entire database in a few seconds swapping potentially hundreds of files that have changes. Even on a fast internal SSD drive High Sierra can only manage 10 or so file swaps a second even using the new renaming API that is part of the APFS file system and recommended for use by Apple. I have worked around this issue by keeping the database up to date in the background more often than we used to. So when it comes time to save your database there should only be a few files that actually need saving and it will go quickly.

tech_notes/highsierra.txt · Last modified: 2023/02/13 14:52 by 127.0.0.1