Sergey Kozlov created IGNITE-1883: ------------------------------------- Summary: Test path to swap files of a cache during cache creating Key: IGNITE-1883 URL: https://issues.apache.org/jira/browse/IGNITE-1883 Project: Ignite Issue Type: Bug Components: cache Affects Versions: ignite-1.4 Reporter: Sergey Kozlov Assignee: Yakov Zhdanov Priority: Minor Fix For: 1.6
Long name of cache (and long path to IGNITE home) may be a reason of following failures if cache configured with swap: {noformat} Exception in thread "main" org.apache.ignite.cache.CachePartialUpdateException: Failed to update keys (retry update if possible).: [1] at org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1615) at org.apache.ignite.internal.processors.cache.IgniteCacheProxy.cacheException(IgniteCacheProxy.java:1750) at org.apache.ignite.internal.processors.cache.IgniteCacheProxy.put(IgniteCacheProxy.java:1024) at org.apache.ignite.examples.datagrid.CachePutGetExample.putGet(CachePutGetExample.java:72) at org.apache.ignite.examples.datagrid.CachePutGetExample.main(CachePutGetExample.java:51) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140) Caused by: class org.apache.ignite.internal.processors.cache.CachePartialUpdateCheckedException: Failed to update keys (retry update if possible).: [1] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$UpdateState.addFailedKeys(GridNearAtomicUpdateFuture.java:1186) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$UpdateState.onResult(GridNearAtomicUpdateFuture.java:657) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture.onResult(GridNearAtomicUpdateFuture.java:351) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateResponse(GridDhtAtomicCache.java:2458) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$600(GridDhtAtomicCache.java:123) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:253) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:251) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:540) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:273) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:197) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$000(GridCacheIoManager.java:76) at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:159) at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:811) at org.apache.ignite.internal.managers.communication.GridIoManager.access$1500(GridIoManager.java:106) at org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:774) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Suppressed: class org.apache.ignite.IgniteCheckedException: Failed to update keys on primary node. at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse.addFailedKey(GridNearAtomicUpdateResponse.java:348) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateSingle(GridDhtAtomicCache.java:1884) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1180) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1060) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateRequest(GridDhtAtomicCache.java:2441) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$500(GridDhtAtomicCache.java:123) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$4.apply(GridDhtAtomicCache.java:247) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$4.apply(GridDhtAtomicCache.java:245) ... 11 more Suppressed: class org.apache.ignite.IgniteCheckedException: Failed to remove from swap space [space=gg-swap-cache-cache_789__________20________30________40________50________60________70________80________90________100_________________________________________________________________________________________________200_______________________________________________250, key=SwapKey [key=1, part=1]] at org.apache.ignite.internal.managers.swapspace.GridSwapSpaceManager.remove(GridSwapSpaceManager.java:258) at org.apache.ignite.internal.processors.cache.GridCacheSwapManager.readAndRemoveSwap(GridCacheSwapManager.java:704) at org.apache.ignite.internal.processors.cache.GridCacheSwapManager.readOffheapPointer(GridCacheSwapManager.java:802) at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.unswap(GridCacheMapEntry.java:499) at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:1764) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateSingle(GridDhtAtomicCache.java:1753) ... 17 more Caused by: class org.apache.ignite.spi.IgniteSpiException: The filename, directory name, or volume label syntax is incorrect at org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi$Space.initialize(FileSwapSpaceSpi.java:1558) at org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi.space(FileSwapSpaceSpi.java:647) at org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi.remove(FileSwapSpaceSpi.java:425) at org.apache.ignite.internal.managers.swapspace.GridSwapSpaceManager.remove(GridSwapSpaceManager.java:255) ... 22 more Caused by: class org.apache.ignite.IgniteCheckedException: The filename, directory name, or volume label syntax is incorrect at org.apache.ignite.internal.util.GridAtomicInitializer.init(GridAtomicInitializer.java:71) at org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi$Space.initialize(FileSwapSpaceSpi.java:1463) ... 25 more Caused by: java.io.IOException: The filename, directory name, or volume label syntax is incorrect at java.io.WinNTFileSystem.createFileExclusively(Native Method) at java.io.File.createNewFile(File.java:1006) at org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi$SwapFile.<init>(FileSwapSpaceSpi.java:1024) at org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi$Space$1.call(FileSwapSpaceSpi.java:1465) at org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi$Space$1.call(FileSwapSpaceSpi.java:1463) at org.apache.ignite.internal.util.GridAtomicInitializer.init(GridAtomicInitializer.java:56) at org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi$Space.initialize(FileSwapSpaceSpi.java:1463) at org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi.space(FileSwapSpaceSpi.java:647) at org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi.store(FileSwapSpaceSpi.java:465) at org.apache.ignite.internal.managers.swapspace.GridSwapSpaceManager.write(GridSwapSpaceManager.java:202) at org.apache.ignite.internal.processors.cache.GridCacheSwapManager.writeToSwap(GridCacheSwapManager.java:1370) at org.apache.ignite.internal.processors.cache.GridCacheSwapManager.offheapSwapEvict(GridCacheSwapManager.java:1101) at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.offheapSwapEvict(GridCacheMapEntry.java:456) at org.apache.ignite.internal.processors.cache.GridCacheSwapManager.unwindOffheapEvicts(GridCacheSwapManager.java:164) at org.apache.ignite.internal.processors.cache.GridCacheUtils.unwindEvicts(GridCacheUtils.java:1039) at org.apache.ignite.internal.processors.cache.GridCacheUtils.unwindEvicts(GridCacheUtils.java:1059) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:557) ... 10 more {noformat} The failure occurs if keys are moving into swap and path is too long for operation system. Another approach is do not use cache name as swap file name -- This message was sent by Atlassian JIRA (v6.3.4#6332)