[
https://issues.apache.org/jira/browse/IGNITE-7736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrey Gura updated IGNITE-7736:
--------------------------------
Fix Version/s: (was: 2.5)
2.6
> SQL COPY: streaming model for network packets instead of request-response
> model
> -------------------------------------------------------------------------------
>
> Key: IGNITE-7736
> URL: https://issues.apache.org/jira/browse/IGNITE-7736
> Project: Ignite
> Issue Type: Task
> Reporter: Vladimir Ozerov
> Priority: Major
> Fix For: 2.6
>
>
> *Problem*
> Currently data transfer in COPY command is implemented as a series of
> request-responses. When request is received, it is parsed synchronously and
> passed to the streamer, then response is sent. This is not very efficient
> approach:
> # We hardly could utilize long fat network channels efficiently as we spend a
> lot of time waiting for a very small response (ack).
> # Parsing takes and adding data to the streamer takes time (especially if we
> reached streamer buffer limitations and are blocked waiting for responses
> from data nodes). During this period network is not utilized and file data is
> not transferred further.
> *Solution*
> Let's fix the problem iteratively as follows:
> # Introduce asynchrony - when request is received, send the response
> immediately before data processing
> # Then consider sending one ack for several requests instead of sending ack
> for every request
> # When multiple simultaneous requests are enabled (previous point), consider
> moving data processing to separate stream, so that we can read data from the
> socket as fast as possible
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)