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

Brandon Williams updated CASSANDRA-17202:
-----------------------------------------
    Status: Needs Committer  (was: Patch Available)

> Avoid unnecessary String.format in QueryProcessor when getting stored 
> prepared statement 
> -----------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-17202
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17202
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Messaging/Client
>            Reporter: Ivan Senic
>            Assignee: Ivan Senic
>            Priority: Low
>             Fix For: 4.x
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> In the _QueryProcessor#getStoredPreparedStatement_ if the statement is found 
> in the prepared statements cache, there is always unnecessary string creation 
> using String.format in order to execute the _checkTrue_ assertion. The string 
> construction is necessary only when the queries are not equal.
> {code:java}
> public static ResultMessage.Prepared getStoredPreparedStatement(String 
> queryString, String clientKeyspace)
> throws InvalidRequestException
> {
>     MD5Digest statementId = computeId(queryString, clientKeyspace);
>     Prepared existing = preparedStatements.getIfPresent(statementId);
>     if (existing == null)
>         return null;
>     checkTrue(queryString.equals(existing.rawCQLStatement),
>             String.format("MD5 hash collision: query with the same MD5 hash 
> was already prepared. \n Existing: '%s'", existing.rawCQLStatement));
>  {code}
> Hopefully the JIT can optimize this once the _checkTrue_ is inlined, but it's 
> getting on my nerves as it's popping up on my flame graphs all the time.
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to