You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Vladimir Sitnikov (Jira)" <ji...@apache.org> on 2021/02/05 22:13:02 UTC

[jira] [Comment Edited] (CALCITE-4489) Avatica JdbcMeta statement IDs Concurrency problem

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

Vladimir Sitnikov edited comment on CALCITE-4489 at 2/5/21, 10:12 PM:
----------------------------------------------------------------------

[~vlads], could you please clarify what is the source for
{noformat}
	at org.apache.calcite.jdbc.JdbcDatasourceMeta.createStatement(JdbcDatasourceMeta.java:156)
{noformat}
?

I do not see the class in Apache Calcite sources.


was (Author: vladimirsitnikov):
[~vlads], can you please clarify what is the source for
{noformat}
	at org.apache.calcite.jdbc.JdbcDatasourceMeta.createStatement(JdbcDatasourceMeta.java:156)
{noformat}
?

I do not see the class in Apache Calcite sources.

> Avatica JdbcMeta statement IDs Concurrency problem
> --------------------------------------------------
>
>                 Key: CALCITE-4489
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4489
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.26.0
>            Reporter: Vlad Skarzhevskyy
>            Priority: Major
>         Attachments: LoadAllData.java, stak-trace.txt
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
>   We encountered the JdbcMeta statement IDs concurrency problems that lead to errors pulling the data from avatica JDBC remote http server under heavy load.
>   The error stack trace for the error is  attached.
>   
>   Our setup:   Avatica JDBC remote  http server handled by Calcite on the server side.
>   For the record we had not been able to reproduce the same problems with Avatica, only remote proxy connected directly to DB.
>  
>   We believe that  the cause of the problem is unsynchronized increment of connection.statementCount
>   see  MetaImpl.createStatement
> [https://github.com/apache/calcite-avatica/blob/master/core/src/main/java/org/apache/calcite/avatica/MetaImpl.java#L213]
> {code:java}
> public StatementHandle createStatement(ConnectionHandle ch) {
>      return new StatementHandle(ch.id, connection.statementCount++, null);
> }{code}
>  Suggested  fix is to use  AtomicInteger  for statementCount.
>  Our stress tests show that the problem is resolved by the fix..
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)