Hi,
This is a know issue for some Windows environments. A workaround is to set tarmk.mode=32 in the configuration of the SegmentNodeStoreService. See also the "Tar storage" section at https://helpx.adobe.com/experience-manager/kb/performance-tuning-tips.html.
Michael https://helpx.adobe.com/experience-manager/kb/performance-tuning-tips.html On 13.09.17 14:27, Yegor Kozlov wrote:
Hi Every time Segment Store GC runs I get a bunch of these exceptions: 04.09.2017 07:41:53.157 *WARN* [TarMK filer reaper [C:\Users\yegor\aem\segmentstore]] org.apache.jackrabbit.oak.segment.file.FileReaper Unable to remove file C:\Users\yegor\aem\segmentstore\data00163a.tar java.nio.file.FileSystemException: E:\Inetpub\adobe\aem\authorrepository\repository\segmentstore\data00163a.tar: The process cannot access the file because it is being used by another process. at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86) at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) at sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269) at sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:108) at java.nio.file.Files.deleteIfExists(Files.java:1165) at org.apache.jackrabbit.oak.segment.file.FileReaper.reap(FileReaper.java:73) at org.apache.jackrabbit.oak.segment.file.FileStore$3.run(FileStore.java:245) at org.apache.jackrabbit.oak.segment.file.SafeRunnable.run(SafeRunnable.java:67) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ... I'm running Oak 1.6.2 from AEM 6.3 SP1 on 64-bit Windows 7. The TarMK mode is 64 which defaults from the 'sun.arch.data.model' system property. The problem is reproducible on Windows Server 2012 as well. It smells like I'm hitting OAK-4274. I perfectly understand it is a JDK issue and it cannot be fixed from the Oak code. My point is that SegmentNodeStoreService picks up a wrong TarMK mode on Windows. In the current implementation the default value is taken from the 'sun.arch.data.model' system property which is always 64 on 64-bit platforms. IMO it should always default to 32 on Windows and use 'sun.arch.data.model' on other operating systems. Regards, Yegor