We are seeing slower launch times of Windows containers using servercore images (or images derived from servercore). Upon investigation, this appears to be due to the C:\Windows\System32\CatRoot directory modification timestamp being different from the value in the container. This causes the Windows catdb to be rebuilt on container launch, which impacts container startup time.
We have root caused this to an issue in the Windows layer unpack code in Microsoft/hcsshim. When unpacking a delta layer, the directory timestamps are not correctly reset to their proper values after removing files removed via whiteout. We are working on a fix, and will then need to revendor Microsoft/hcsshim. We are tracking the issue on the hcsshim side via microsoft/hcsshim#830.
Note that this bug could have other impact as well, as in general it can cause delta layer directory timestamps to be incorrect. The primary impact we have observed is the slow start time with servercore container images.
We are seeing slower launch times of Windows containers using servercore images (or images derived from servercore). Upon investigation, this appears to be due to the C:\Windows\System32\CatRoot directory modification timestamp being different from the value in the container. This causes the Windows catdb to be rebuilt on container launch, which impacts container startup time.
We have root caused this to an issue in the Windows layer unpack code in Microsoft/hcsshim. When unpacking a delta layer, the directory timestamps are not correctly reset to their proper values after removing files removed via whiteout. We are working on a fix, and will then need to revendor Microsoft/hcsshim. We are tracking the issue on the hcsshim side via microsoft/hcsshim#830.
Note that this bug could have other impact as well, as in general it can cause delta layer directory timestamps to be incorrect. The primary impact we have observed is the slow start time with servercore container images.