[ 
https://issues.apache.org/jira/browse/IGNITE-9693?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16629186#comment-16629186
 ] 

Ivan Rakov commented on IGNITE-9693:
------------------------------------

[~ivandasch], I've looked through your changes. A few comments:
1. Do we really need to park and unpark FileCompressorWorkers manually? Needed 
synchronization can be implemented with BlockingQueue.
2. segmentAware.lastCompressedIdx is called prematurely - we put index in 
queue, but there's no guarantee that segment is actually compressed. 
IgniteWriteAheadLogManager#lastCompactedSegment method will report wrong 
results.
3. deleteObsoleteRawSegments will be called concurrently from multiple threads, 
this will cause many attempts to delete one file and permanent "Failed to 
remove obsolete WAL segment" warnings spam.
4. FileCompressor#shutdown doesn't wait for shutdown of FileCompressorWorkers. 
As a result, FileCompressorWorker may try to record event when 
GridEventStorageManager is already stopped.
Also, is there a guarantee that park() call will instantly return if interrupt 
flag was set *before* the call? I read park() javadoc twice and didn't find 
proofs - seems like FileCompressorWorker may hang on park() on node stop.
5. FileWriteAheadLogManager.FileCompressor#run - minor code style violations: 
no space after "for", no blank line before "if", tryReserveNextSegmentOrWait - 
no space before "{".
6. This is arguable, but since we have a bunch FileCompressorWorker threads, it 
feels like there's no need to keep FileCompressor thread. Putting segment 
indexes to queue is the only useful work that FileCompressor performs.

> Scale up wal compression workers to increase performance
> --------------------------------------------------------
>
>                 Key: IGNITE-9693
>                 URL: https://issues.apache.org/jira/browse/IGNITE-9693
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Sergey Kosarev
>            Assignee: Ivan Daschinskiy
>            Priority: Major
>             Fix For: 2.8
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to