[
https://issues.apache.org/jira/browse/CASSJAVA-133?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18103836#comment-18103836
]
Bret McGuire commented on CASSJAVA-133:
---------------------------------------
Hat tip to [~amorton] for his help on this!
> Consider whether we need a mechanism to indicate whether metadata loaded
> successfully
> -------------------------------------------------------------------------------------
>
> Key: CASSJAVA-133
> URL: https://issues.apache.org/jira/browse/CASSJAVA-133
> Project: Apache Cassandra Java driver
> Issue Type: Improvement
> Components: Core
> Reporter: Bret McGuire
> Priority: Normal
>
> While working on the Data API we recently came across a situation in which
> schema queries from the Java driver could fail. The situation is quite
> unlikely (and relies on the behaviour of intermediaries between the Java
> driver running in the Data API and the corresponding coordinators) but as we
> see an increase in Cassandra implementations (and intermediaries) this
> configuration is becoming less uncommon.
> The Java driver is perfectly fine running without metadata (as provided by
> these schema queries). In fact [the current
> impl|https://github.com/apache/cassandra-java-driver/blob/4.19.3/core/src/main/java/com/datastax/oss/driver/internal/core/session/DefaultSession.java#L453-L470]
> will log such an error but not take any additional corrective action (or
> return a different value to the user)... in this case we'll [continue on to
> building connection
> pools|https://github.com/apache/cassandra-java-driver/blob/4.19.3/core/src/main/java/com/datastax/oss/driver/internal/core/session/DefaultSession.java#L392-L411]
> and then return to the user.
> We also have no mechanism to determine programmatically if metadata was
> successfully loaded. As mentioned above no error code is returned to the
> user coming out of DefaultSession.init(). We also have no predicate
> functions on DefaultMetadata which indicate whether data was loaded or not.
> There are predicates to indicate whether such information _should_ be loaded
> (either via programmatic args or the HOCON config) but that's a different
> proposition.
> This ticket isn't intended to propose any kind of implementation yet. The
> situation we saw required a number of interacting actors to achieve this
> result and none of those were doing anything wrong within their given area;
> we only saw the error as a cumulative effect of all these actors working
> together. There may be nothing we can do to fix this issue; I'm creating
> this more as a platform for discussion than anything else.
> A related point: there is no specification for the system tables associated
> with Cassandra or the schema queries executed by the driver. None of this is
> spelled out in the native protocol docs... it's all basically convention. We
> might want to consider that point as well but this is (arguably) external to
> the point under consideration.
> An additional related point: any change in behaviour coming out of this
> ticket should probably be implemented across all the drivers.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]