Hello to all!
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. |
Hello, Kirill!
Personally, I see no problem with this improvement. Please check my comment in IGNITE-13831 [1] on the implementation of this change. [1] https://issues.apache.org/jira/browse/IGNITE-13831 пт, 11 дек. 2020 г. в 13:23, ткаленко кирилл <[hidden email]>: > > Hello to all! > > 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. |
Hi, Pavel!
I think we can use the system pool as well. I think it would be more correct to do it in a separate ticket. Thanks! 11.12.2020, 16:16, "Pavel Pereslegin" <[hidden email]>: > Hello, Kirill! > > Personally, I see no problem with this improvement. Please check my > comment in IGNITE-13831 [1] on the implementation of this change. > > [1] https://issues.apache.org/jira/browse/IGNITE-13831 > > пт, 11 дек. 2020 г. в 13:23, ткаленко кирилл <[hidden email]>: >> Hello to all! >> >> 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. |
Hi, Pavel!
I created a IGNITE-13847, but I was unable to create a PR from your branch. 13.12.2020, 18:35, "ткаленко кирилл" <[hidden email]>: > Hi, Pavel! > > I think we can use the system pool as well. I think it would be more correct to do it in a separate ticket. Thanks! > > 11.12.2020, 16:16, "Pavel Pereslegin" <[hidden email]>: >> Hello, Kirill! >> >> Personally, I see no problem with this improvement. Please check my >> comment in IGNITE-13831 [1] on the implementation of this change. >> >> [1] https://issues.apache.org/jira/browse/IGNITE-13831 >> >> пт, 11 дек. 2020 г. в 13:23, ткаленко кирилл <[hidden email]>: >>> Hello to all! >>> >>> 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. |
Free forum by Nabble | Edit this page |