You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ivan Veselovsky (JIRA)" <ji...@apache.org> on 2015/10/20 21:24:27 UTC

[jira] [Commented] (IGNITE-1743) IGFS: use async cache put instead of block/ack messages on data write

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

Ivan Veselovsky commented on IGNITE-1743:
-----------------------------------------

It looks like minimal change is to modify method org.apache.ignite.internal.processors.igfs.IgfsDataManager#processBatch (IgfsDataManager, lines 1013 - 1050) replacing the IgfsBlocksMessage sending with async cache.put() invocations with getting their futures, + changing the org.apache.ignite.internal.processors.igfs.IgfsDataManager#processAckMessage method marking those stored futures as completed.

Questions: 
1) logic of differentiating collocated/non-collocated keys in method org.apache.ignite.internal.processors.igfs.IgfsDataManager#processPartialBlockWrite is not quite clear to me. (But may be we can leave it as is.)
2) We should state a solid contract of writing to secondary file system (dual modes). Currently writing to the 2ndary fs is implemented via org.apache.ignite.internal.processors.igfs.IgfsFileWorkerBatch class: this is a runnable that asynchronously duplicates primary Fs writing to the 2ndary Fs (asynchronously because the data slices are put into a queue and taken from there by the worker runnable on another thread). The implementation is waiting for this 2ndary write completion *only* in case of DUAL_SYNC mode. But in DUAL_ASYNC mode we may complete primary write, while write to the 2ndary Fs is not completed. This way, on an error on 2ndary Fs the file may be not completely written on the 2ndary Fs.  Is this correct behavior, and may we give more guarantees in this case?

> IGFS: use async cache put instead of block/ack messages on data write
> ---------------------------------------------------------------------
>
>                 Key: IGNITE-1743
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1743
>             Project: Ignite
>          Issue Type: Sub-task
>            Reporter: Ivan Veselovsky
>            Assignee: Ivan Veselovsky
>             Fix For: 1.5
>
>
> Item "1)" from IGNITE-1697



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)