[
https://issues.apache.org/jira/browse/CASSANDRA-3091?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13092853#comment-13092853
]
Jonathan Ellis commented on CASSANDRA-3091:
-------------------------------------------
I feel like the cure might be worse than the disease here. Schema typically
only changes "underneath" a connection during development -- if you're changing
schema in production, you're going to redeploy your app to take advantage of
that, creating new connections. So the benefit feels small vs the cost of
re-requesting and parsing metadata for each Statement.
> Move the caching of KS and CF metadata in the JDBC suite from Connection to
> Statement
> -------------------------------------------------------------------------------------
>
> Key: CASSANDRA-3091
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3091
> Project: Cassandra
> Issue Type: Improvement
> Components: Drivers
> Affects Versions: 0.8.4
> Reporter: Rick Shaw
> Assignee: Rick Shaw
> Priority: Minor
> Labels: JDBC
> Fix For: 0.8.5
>
> Attachments: move-metadata-for decoder-to-statement-level-v1.txt,
> move-metadata-for-decoder-to-statement-level-v2.txt
>
>
> Currently, all caching of metadata used in JDBC's {{ColumnDecoder}} class is
> loaded and held in the {{CassandraConnection}} class. The implication of this
> is that any activity on the connected server from the time the connection is
> established is not reflected in the KSs and CF that can be accessed by the
> {{ResultSet, Statement}} and {{PreparedStatement}}.
> By moving the cached metadata to the {{Statement}} level, the currency of the
> metadata can be checked within the {{Statement}} and reloaded if it is seen
> to be absent. And by instantiating a new {{Statement}} (on any existing
> connection) you are assured of getting the most current copy of the metadata
> known to the server at the new time of instantiation.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira