[
https://issues.apache.org/jira/browse/IGNITE-8763?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16510784#comment-16510784
]
ASF GitHub Bot commented on IGNITE-8763:
----------------------------------------
GitHub user alex-plekhanov opened a pull request:
https://github.com/apache/ignite/pull/4178
IGNITE-8763 java.nio.file.AccessDeniedException is not handled with default
failure handler
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/alex-plekhanov/ignite ignite-8763
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/4178.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #4178
----
commit 18d8fb7148c1197402e0e89e9b7797a1ee38b492
Author: Aleksey Plekhanov <plehanov.alex@...>
Date: 2018-06-09T15:05:28Z
IGNITE-8763 Reproducer
commit c55c74425e9af807d2c521778e1185fc1e726520
Author: Aleksey Plekhanov <plehanov.alex@...>
Date: 2018-06-09T15:41:54Z
IGNITE-8763 Fix
commit 3cf690ffe5e59ae8e9bb54b7266e33a35e7ada89
Author: Aleksey Plekhanov <plehanov.alex@...>
Date: 2018-06-09T16:16:56Z
IGNITE-8763 Fix 2
----
> java.nio.file.AccessDeniedException is not handled with default failure
> handler
> -------------------------------------------------------------------------------
>
> Key: IGNITE-8763
> URL: https://issues.apache.org/jira/browse/IGNITE-8763
> Project: Ignite
> Issue Type: Bug
> Affects Versions: 2.5
> Reporter: Andrey Gura
> Assignee: Aleksey Plekhanov
> Priority: Major
> Fix For: 2.6
>
>
> java.nio.file.AccessDeniedException is not handled with default failure
> handler
> 1. Start cluster(4 nodes).
> 2. Upload some data.
> 3. Make files in metastore read only.
> 4. Deactivate grid.
> 5. Activate grid.
> On this step I see java.nio.file.AccessDeniedException:
> {noformat}
> [17:55:40,035][INFO][exchange-worker-#62][GridCacheDatabaseSharedManager]
> Read checkpoint status
> [startMarker=/storage/ssd/avolkov/tiden/iep_14-180517-175425/test_iep_14/ignite.server.1/work/db/node1/cp/1526568907638-46128a87-562a-45fc-8d73-75ccb1490d63-START.bin,
>
> endMarker=/storage/ssd/avolkov/tiden/iep_14-180517-175425/test_iep_14/ignite.server.1/work/db/node1/cp/1526568907638-46128a87-562a-45fc-8d73-75ccb1490d63-END.bin]
> [17:55:40,037][SEVERE][exchange-worker-#62][GridDhtPartitionsExchangeFuture]
> Failed to activate node components
> [nodeId=bd7115d5-1f95-4673-9f40-47056b0b1a58, client=false,
> topVer=AffinityTopologyVersion [topVer=4, minorTopVer=5]]
> class org.apache.ignite.IgniteCheckedException: Error while creating file
> page store
> [file=/storage/ssd/avolkov/tiden/iep_14-180517-175425/test_iep_14/ignite.server.1/work/db/node1/metastorage/part-0.bin]:
> at
> org.apache.ignite.internal.processors.cache.persistence.file.FileVersionCheckingFactory.createPageStore(FileVersionCheckingFactory.java:98)
> at
> org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.initDir(FilePageStoreManager.java:463)
> at
> org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.initializeForMetastorage(FilePageStoreManager.java:234)
> at
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readCheckpointAndRestoreMemory(GridCacheDatabaseSharedManager.java:743)
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onClusterStateChangeRequest(GridDhtPartitionsExchangeFuture.java:896)
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:643)
> at
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
> at
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
> at
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.nio.file.AccessDeniedException:
> /storage/ssd/avolkov/tiden/iep_14-180517-175425/test_iep_14/ignite.server.1/work/db/node1/metastorage/part-0.bin
> at
> sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
> at
> sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
> at
> sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
> at
> sun.nio.fs.UnixFileSystemProvider.newAsynchronousFileChannel(UnixFileSystemProvider.java:196)
> at
> java.nio.channels.AsynchronousFileChannel.open(AsynchronousFileChannel.java:248)
> at
> java.nio.channels.AsynchronousFileChannel.open(AsynchronousFileChannel.java:301)
> at
> org.apache.ignite.internal.processors.cache.persistence.file.AsyncFileIO.<init>(AsyncFileIO.java:57)
> at
> org.apache.ignite.internal.processors.cache.persistence.file.AsyncFileIOFactory.create(AsyncFileIOFactory.java:53)
> at
> org.apache.ignite.internal.processors.cache.persistence.file.AsyncFileIOFactory.create(AsyncFileIOFactory.java:41)
> at
> org.apache.ignite.internal.processors.cache.persistence.file.FileVersionCheckingFactory.createPageStore(FileVersionCheckingFactory.java:78)
> ... 9 more
> {noformat}
> Situation led to NPE exception after AccessDeniedException looks like this:
> 1. AccessDeniedException was thrown in ExchangeFuture right before affinity
> initialization so affinity was never initialized.
> 2. After that node receives PartitionSingleMessage and tries to access
> affinity information. Null is returned because of exception in step #1.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)