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

Josh Elser resolved CALCITE-1086.
---------------------------------
       Resolution: Fixed
    Fix Version/s:     (was: next)
                   1.7.0

Fixed in 
https://git1-us-west.apache.org/repos/asf?p=calcite.git;a=commit;h=ea41b3412f099c8f1051f1b324b1ba03d644962a

> Statement is unnecessarily sent from client in update (write) path
> ------------------------------------------------------------------
>
>                 Key: CALCITE-1086
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1086
>             Project: Calcite
>          Issue Type: Sub-task
>          Components: avatica
>            Reporter: Josh Elser
>            Assignee: Josh Elser
>            Priority: Critical
>             Fix For: 1.7.0
>
>
> I've had my nose buried in profilers and Avatica evaluating the write 
> performance. Using Phoenix as the golden child, it was found that, compared 
> to HBase REST server (also doing updates over HTTP), Avatica was performing 
> quite a bit slower (2-3x).
> The client was doing something like:
> {code}
> prepare()
> for x in 0..1000:
>   for x in 0..1000:
>     execute()
>   end
>   commit()
> end
> {code}
> One of the first big things that jumped out at me was that we were spending a 
> significant amount of time deserializing Meta.Signature (and all of its 
> internal classes: AvaticaParameter, ColumnMetaData, CursorFactory, Style, 
> etc).
> When we're ultimately doing a {{PreparedStatement.executeUpdate()}} inside 
> {{JdbcMeta.execute()}}, we completely ignore the Signature. This turns out to 
> be relatively significant WRT the entire cost of the execute. At the 99th 
> percentile, serialization was taking ~40% of the time of the entire execute 
> RPC. My hunch is that if we can drop the Statement from the client (when they 
> use executeUpdate(), anyways), we can get a nice reduction in update latency.



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

Reply via email to