[ 
https://issues.apache.org/jira/browse/IGNITE-13847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirill Tkalenko updated IGNITE-13847:
-------------------------------------
    Description: 
When implementing IGNITE-13831 I was faced with deadlock.

When execute *FileWriteAheadLogManager#rollOver*, begin to clean WAL archive 
since we have reached the *DataStorageConfiguration#maxWalArchiveSize*, after 
deleting a segment, execute the *GridEncryptionManager#onWalSegmentRemoved* 
that wants to write to the metastore, but it will not succeed, since it will 
wait for *FileWriteAheadLogManager#rollOver*.

I suggest making the *GridEncryptionManager#onWalSegmentRemoved* asynchronous 
in a separate pool, for example, as a *CacheGroupPageScanner#singleExecSvc*.

  was:

Make the *GridEncryptionManager#onWalSegmentRemoved* asynchronous to prevent 
deadlocks in the *FileWriteAheadLogManager*.


> Make GridEncryptionManager#onWalSegmentRemoved async
> ----------------------------------------------------
>
>                 Key: IGNITE-13847
>                 URL: https://issues.apache.org/jira/browse/IGNITE-13847
>             Project: Ignite
>          Issue Type: Improvement
>          Components: persistence
>            Reporter: Kirill Tkalenko
>            Priority: Major
>              Labels: IEP-18
>             Fix For: 2.10
>
>
> When implementing IGNITE-13831 I was faced with deadlock.
> When execute *FileWriteAheadLogManager#rollOver*, begin to clean WAL archive 
> since we have reached the *DataStorageConfiguration#maxWalArchiveSize*, after 
> deleting a segment, execute the *GridEncryptionManager#onWalSegmentRemoved* 
> that wants to write to the metastore, but it will not succeed, since it will 
> wait for *FileWriteAheadLogManager#rollOver*.
> I suggest making the *GridEncryptionManager#onWalSegmentRemoved* asynchronous 
> in a separate pool, for example, as a *CacheGroupPageScanner#singleExecSvc*.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to