79 Patch |
a280ec5e6dffc984a5ef96c2f3255579ab0d307a,
f26cae8ac811160afc1d6ce0fa2129bb5bb11a1b,
cdeb0420effb81a8e5996c40bced4a3f6bea5560,
49f01837e681653b77672ac1ea9689f24c439ed6,
fc7934236334e48f4daa63f1e8d17cf1f09dbc17,
984d64f34be0ddd097e72d8fef95d437fd99dee7,
58c78dae56a0ff093ee87d23f01fda22633b9ed7,
320f2752dae223c16e876a1f8b7baff64fed94ea,
754bfbb62a918e3e9301880e1b7092c707da10ab,
fbe712d771dbe1aaf48f369b85c70dcf7da79a85,
bec9be19423aa23c7a4aa02e176c935c4d9c946a,
55176f83331f90914f97805180944e69142e36a1,
175864c82ef9d8006b780a0ae9b67d06ce6dd488,
b6abed591d321645eb5dea760a139610e5acd63d,
ece9ee1e85524e25f232c0d43685b0b5e91a88dc,
c66b77d5416d884c27b4baa5ef5e6d3e5e22153c,
f09258dd98a278498b9009a39631dc742da44311,
6794c38674aa3b4209a8d622f016406c71d69462,
96d6f34cd39fdd8612fa580e3bfb64caf7619e9a,
f491e1221d4bb5c2dbbfc6202c38f01852260b18,
ff6312cb0d21441346b24ce76359a5d587808b14,
5f6203d36b9ec4b64b8d6a9994851246c7cd5aac,
05eda926d67d5acc19dd98e22b6a3d5a4ef741a8,
09115d7201e0f19db05eb17a94c42042150a1446,
80fb1b663dd4fd0335a4d40ef8c6b9b375208350,
cf767798e8c04d27556c22f57fb11ce1ea1deca1,
292bf8ff4d1036f41a6b7f6a2aee3f0d928548e6,
a072951c29e4b19d366ad89d3516460e1e1f1692,
6fe9585af82ce91d4bdf4311d092737163ac3159,
2b9d189f3a0129dfe4436135ae4f150cc3e28027,
416556023365a3fd679bc938a86b8785b66175a5,
f6e49c8ed36f80ce430b15d5efa882c7600d297a,
8daf3cb9fb3a3644c260980f0a7243ed28322512,
8c71047eeacbdd967d239350e9fb0d09329e0431,
d7c6e9cd6504e6beaccf2b70af98b17e649c1c6b,
944056c7e111a2f3b8c4508996c73d6301cb0d48,
fdce86e0aa6400789f2081ced6291a0d0eb26102,
4973dc66a76829e0597c057d4820d52d4d06a2b2,
5136b4f8c5c6c157ca12fac5349934fc736e6da1,
937ff1805e2535c421ce0a33146bbce3e0e6dac2,
59940c58906e0b40882e6b7dc5dca0ff93d959a9,
94c8795c51f4427623dde82d2aba542aba21a9f5,
5001781d6294ec2dada99b2dd84f4a8ea63b946e,
cbe9a731a12b051b6c501f1b6000bfaec89d936b,
29cefec68b74a63d13859271402bd75caa0afbba,
20457b9aeda6dec3f846c604e412318531e23c82,
0b47c2ba9e3403e77f211b1b8df13329d6036222,
22d14ac6b099b711d1fcd55c553d3ced43517366,
4e10f84aea73491283a7f4dd17b84e4cbef6507b,
5134b67de511994a0ff674651a43eb230e7e9fdd,
3ace5cec015adb911b7b794a15f9c690676522bc,
91221cc223a06600b7fefba445534afe9eb96bbb,
c1fd587dc43c9c067a1f482c93b5d0195677089c,
a932bf0a91802efd5e72350da63da1084073d2e4,
323517f8ddfe94a94dcfb9494ee57cf3d44f79d5,
13a6a018cf8c822d1609dfbe33e1d783dd832f48,
9b97032cd599d075cf311ed22fece0b3ccc94087,
e532fd2b5b67d4a1413802778965279b3c7e3de9,
18d298632fe2b32c780c7b92066252c5da3c933b,
e2d07e99265c903dcfc7b3a3c85ba63585f9cafe,
1eee96814f51ebb47eaa374b694c4101aea740da,
edbf8f9facd56b68c3777d76897a2ad5f5145048,
15e8b27d1a4be13888bb9e5735d44e161341177b,
17bbcfd7368cf0121d1d2863600d19bf7b1fca25,
94ad631d619756984aa819e68d14b249f70dc268,
23dfa48c229370e767674dd08c133df7c4d4f66f,
c071862dce0af2a72d12bb97ae9a588aee180efa,
c6fe76399446bf23ac3ceeba57bc00201075ec59,
1a98b6f30f1be61d5af5f90ec86a61fbbafd69c4,
8e254ccf49d2bbb267964cfdd88d8579442e2b73,
588e2a713046152b6d6a1c36529318e98de8a207,
92bfcf0a6e350b076daeec45b52925b1b6476902,
fabd035b5ae6b6822d5340ac6a7a2c56d9df1719,
06b37b3a8f04a13ec0b4b1d00e4742b26397c62d,
09ed90b33cf9a561e5999efa801becc4ea817f59,
59417d3ecca6ad97e75eecbbd819e906d8ae200c,
0062d3fbc979aa39804f6f1007a6291ca9004ee4,
8da747988db8446e2bd0092f4e05900700552c68,
33e9952d71622bf34d43303fcbac94236d6b8e10 |
a280ec5e6dffc984a5ef96c2f3255579ab0d307a | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2019-07-09 22:25:22-05:00
JAVA-2308: Add customWhereClause to Delete (#1290)
Motivation:
CQL DELETE allows advanced capabilities for deleting a range of data
within a partition. For example given a primary key of ((int k), int c),
one could perform the following:
DELETE FROM tbl WHERE k = 0 and c > 1 and c < 4
To support this capability in the mapper, customWhereClause should be
added to Delete in a similar way it is handled in the Select annotation.
Modifications:
Add customWhereClause to Delete annotation.
Update DaoDeleteMethodGenerator to handle customWhereClause.
Add EntityHelperDeleteStartMethodGenerator which adds a deleteStart
method, which is reused in
EntityHelperDeleteByPrimaryKeyPartsMethodGenerator and also used in the
code generation in DaoDeleteMethodGenerator
Result:
customWhereClause added to Delete.
f26cae8ac811160afc1d6ce0fa2129bb5bb11a1b | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2019-07-01 14:38:13-05:00
JAVA-2307: Improve `@Select` and `@Delete` by not requiring full primary key (#1285)
Motivation:
Currently `@Select` and `@Delete` annotated methods only allow
selecting/deleting individual entities when parameters are provided as
the mapper currently requires specifying all columns of the primary key as
parameters.
Since CQL allows you to select and delete multiple rows by providing a
subset of the primary key, these dao methods can be improved by
accepting a subset of the primary key as parameters, as long as
at least the partition keys are represented.
In addition `@Select` should be supported when providing no parameters,
which will allow querying an entire table's rows for a given entity.
Modifications:
Add `selectByPrimaryKeyParts` and `deleteByPrimaryKeyParts`
methods and added generators to provide this capability.
Refactor parameter validation into EntityUtils.areParametersValid from
somewhat duplicated logic in delete and select method generators.
Add tests to exercise functionality.
Add documentation demonstrating extended capability.
Result:
`@Select` and `@Delete` now support providing a subset of primary key to
select/delete multiple entities.
`@Select` also supports providing zero parameters, which performs a
select on all rows in an entity's table.
cdeb0420effb81a8e5996c40bced4a3f6bea5560 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2019-06-21 14:09:19-05:00
JAVA-2300: Add support for additional return types in Insert methods (#1272)
Motivation:
`@Insert`-annotated DAO methods do not currently support the capability
of returning `boolean` or `ResultSet` return types. These are useful to
determine whether or not LWT operations were applied and also to have
access to useful data associated with `ResultSet`, such as
`ExecutionInfo`.
Modifications:
Update `DaoInsertMethodGenerator.getSupportedReturnTypes()` to include
`BOOLEAN`, `FUTURE_OF_BOOLEAN`, `RESULT_SET`, and
`FUTURE_OF_RESULT_SET`.
Result:
`@Insert` methods can now return `boolean` and `ResultSet`-based types.
fc7934236334e48f4daa63f1e8d17cf1f09dbc17 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2019-06-17 18:12:39-05:00
JAVA-2288: Improve error reporting when DAO is missing keyspace (#1267)
Motivation:
If no keyspace can be discerned from the session's keyspace, the
entity's default keyspace, or the dao's parameters, the mapper should
preemptively throw a RuntimeException with a helpful message to guide
the user to provide a keyspace.
Modifications:
Added throwIfKeyspaceMissing call in EntityHelper methods that require
keyspace to throw if keyspace is not set.
Result:
User is now presented with a helpful exception message when keyspace is
not configured.
984d64f34be0ddd097e72d8fef95d437fd99dee7 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2019-06-12 09:38:42-05:00
JAVA-2286: Improve error reporting when entity has no properties
Motivation:
Currently if an Entity-annotated class lacks any properties, code
generation produces code that doesn't compile because no properties are
specified using QueryBuilder.
To rectify this, preemptively check to see if an Entity lacks properties
when generating its definition.
Modifications:
Update DefaultEntityFactory.getDefinition to generate an error if no
properties are specified on an Entity-annotated class.
Result:
A more appropriate compiler error is now generated informing the user
that their Entity-annotated class lacks properties.
754bfbb62a918e3e9301880e1b7092c707da10ab | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2019-06-11 18:59:09-05:00
JAVA-2111: Add HierarchyScanStrategy to configure inheritance behavior (#1250)
Motivation:
The ability to define properties and annotations of Entity-annotated
classes in parent classes or interfaces will make it easier for
implementors to reuse code and enforce behavior across multiple
entities.
In addition, the same applies for Dao-annotated interfaces. For
example, being able to express a NullSavingStrategy on a shared parent
interface would be desirable for those who wish to share that
configuration among multiple Daos.
Modifications:
Added `@HierarchyScanStrategy` that can be defined anywhere in a Dao or
Entity type hierarchy. This strategy dictates how to treat annotations
and properties defined in parent classes and interfaces.
By default, all parent interfaces and classes are considered.
Result:
The mapper can now make use of properties and annotations defined in
parent classes and interfaces of Dao and Entity-annotated types.
fbe712d771dbe1aaf48f369b85c70dcf7da79a85 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2019-05-29 10:30:01-05:00
JAVA-2254: Add support for computed properties (#1242)
Motivation:
It is useful to map values that are the result of some Cassandra-side
computation, typically function calls, to properties.
Modifications:
Introduce a `@Computed` annotation that can be applied to a field or
getter that allows specifying a formula to instruct Cassandra to
compute and return a value back that can be mapped back to this
property.
Add EntityDefinition.getComputedValues() for retrieving computed values
and added getAllValues(), which is similar to getAllColumns() but also
returns computed values.
Add PropertyDefinition.getSelector() to differentiate between
cql selector and cql name for alias definitions.
Update EntityHelperSelectStartMethodGenerator to include computed values
in generated select query.
Result:
`@Computed` annotation may be used to specify properties that are based
on result of some function call. This is only usable by
`@Select`-annotated dao methods.
bec9be19423aa23c7a4aa02e176c935c4d9c946a | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2019-05-24 13:46:16-05:00
JAVA-2255: Add annotation to indicate a property is transient (#1239)
* JAVA-2255: Add annotation to indicate a property is transient
Motivation:
It is sometimes desirable for properties of an entity to not be
considered by an object mapper.
Modifications:
Introduced a `@Transient` annotation that when applied to a field or
getter, causes the mapper to not include this field for generated
queries.
Added a `@TransientProperties` keyword for marking properties
as transient at entity level.
In addition, if a field includes the 'transient' keyword, it is also not
considered.
Attempt to handle conflicting annotations in a consistent way.
Result:
properties including a `@Transient` annotation, included in
`TransientProperties` or having a field with transient keyword
will not be considered by the mapper.
b6abed591d321645eb5dea760a139610e5acd63d | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2018-12-17 15:42:26-06:00
Expect IllegalArgumentException instead of AIOBE
Needed after JAVA-1767 changed the exception type raised.
f09258dd98a278498b9009a39631dc742da44311 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2018-12-13 14:09:55-06:00
JAVA-2055: Fix intermittent test failures (#1147)
* NodeTargetingIT: Resolve Node to query based on address instead of position
* NodeTargetingIT: Wait for node to be marked down before proceeding
* MetricsIT: Check up to 5 seconds for CQL_REQUESTS metric to be fully incremented
* SpeculativeExecutionIT: Increase base specex delay
* Multiple: Stabilize tests by introducing QueryCounter
* SpeculativeExecutionIT: Set lbp when building session with profile
* NodeTargetingIT: Handle race case where node is down but connection is not removed yet
* NodeStateIT: Skip initial up events if fired
* NodeStateIT: Wait up to 500ms for event
6794c38674aa3b4209a8d622f016406c71d69462 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2018-12-13 13:47:25-06:00
JAVA-2057: Do not create pool when SUGGEST_UP topology event received (#1149)
Motivation:
There is a small window where a NEW_NODE event may be sent over the
control connection while a pool is initializing. This is more likely to
happen in testing, where a cluster is brought up and the driver connects
to it immediately.
In this case, the driver would erroneously create another pool, which
would create additional connections. The first pool created between
the currently initializing one and the new one being created would be
untracked with its connections remanining open even after the Session is
closed.
Modifications:
Change onTopologyEvent to no longer call createOrReconnectPool, instead
only call reconnectNow() if there is an already established pool.
initializing pool future present in the pending map.
Result:
SUGGEST_UP events now only trigger reconnect on existing pool, and will
no longer create a new pool.
96d6f34cd39fdd8612fa580e3bfb64caf7619e9a | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2018-08-09 18:13:50-05:00
Upgrade to simulacron 0.8.4
Adds supports for peers_v2 table. With existing configuration this
will just cause simulacron to return an INVALID error when querying
peers_v2, which matches pre C* 4 versions.
Updates SortingLoadBalancingPolicy to consider port when ordering
nodes.
09115d7201e0f19db05eb17a94c42042150a1446 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2018-07-13 17:09:01-05:00
JAVA-1869: Add DefaultDriverConfigLoaderBuilder (#1032)
Motivation:
To enable a convenient way to configure a Driver Session
programmatically.
Modifications:
Added DefaultDriverConfigLoaderBuilder to enable passing in
configuration programmatically. Exposed via
DefaultDriverConfigLoader.builder().
Added class-based DriverOption back to they may be configured.
Updated SessionUtils.configLoaderBuilder to provide a way of
constructing a Session programatically easily in integration tests.
Result:
DefaultDriverConfigLoader.builder() may be used to construct
a DriverConfigLoader which may be passed in via
SessionBuilder.withConfigLoader.
292bf8ff4d1036f41a6b7f6a2aee3f0d928548e6 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2018-07-12 16:08:47-05:00
Fix unset and custom payload assumptions in BoundStatementIT
* CassandraRequirement does not work at method level when using
CcmRule with ClassRule annotation.
* Don't add Custom Payload to Statement when V4 is not used.
a072951c29e4b19d366ad89d3516460e1e1f1692 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2018-07-10 19:26:21-05:00
JAVA-1437: Enable SSL hostname validation by default (#1053)
Motivation:
When SSL is enabled, the driver should also enable validation of
certificate common names against server hostname by default. The
reasoning is that it seems logical to perform more validation than
less by default when the user enables SSL.
Modifications:
Change advanced.ssl-engine-factory.hostname-validation default to true.
Update manual and tests to reflect this change.
Result:
When DefaultSslEngineFactory is configured, hostname validation is
enabled by default. The user may adjust the configuration to
explicitly disable hostname validation.
f6e49c8ed36f80ce430b15d5efa882c7600d297a | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2018-06-26 15:02:06-05:00
Make DataTypeClassNameParser public
These are part of the internal package structure so can be made public.
8c71047eeacbdd967d239350e9fb0d09329e0431 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2018-06-22 10:10:33-05:00
JAVA-1890: Add more configuration options to DefaultSslEngineFactory
Motivation:
For some organizations, it might be more convenient to provide keystore
and truststore locations for DefaultSslEngineFactory via configuration
instead of relying on system properties to initialize the default
SSLContext.
Similarly, enabling hostname validation on an SSLEngine is
straightforward, but currently a user has to create their own
SslEngineFactory implementation.
Modifications:
Add configuration to DefaultDriverOption for configuring SSLContext
using keystore and truststore file location and password, and enabling
hostname validation.
Add tests for verifying configuration is effective.
Result:
DefaultSslEngineFactory can now build SSLContext from configuration,
optionally with hostname validation.
d7c6e9cd6504e6beaccf2b70af98b17e649c1c6b | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2018-06-08 15:01:50-05:00
JAVA-1762: Build alternate core artifact with Netty shaded
Motivation:
To enable the driver to be used in environments where the user requires
an explicit netty version different than that of which the driver uses.
Modifications:
Add java-driver-core-shaded module that pulls in java-driver-core and
shades netty.
Update java-driver-core pom to generate MANIFEST for
java-driver-core-shaded.
Add OsgiShadedIT for testing java-driver-core-shaded with OSGi.
Result:
java-driver-core-shaded module is now generated as part of the build.
944056c7e111a2f3b8c4508996c73d6301cb0d48 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2018-06-07 14:51:06-05:00
JAVA-1761: Add OSGi descriptors
Motivation:
To enable the driver to be used in OSGi containers.
Modifications:
Use maven-bundle-plugin to add OSGi information to the generated
MANIFEST.MF.
Shaded jctools instead of using netty-shaded for MpscLinkedAtomicQueue
in DefaultWriteCoalescer. This was required because netty does not
export its shaded jctools packages in its Export-Package definition.
Add SessionBuilder.withClassLoader to allow overriding ClassLoader
used to load classes from config which is useful for OSGi.
Add OSGi integration tests.
Make all dependency versions properties so they may be passed to
failsafe plugin for use in OSGi tests.
Result:
The driver now supports OSGi.
29cefec68b74a63d13859271402bd75caa0afbba | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2018-05-17 17:22:31-05:00
JAVA-1829: Add metrics for bytes-sent and bytes-received
Motivation:
JAVA-708 added metrics to java driver 3.x for tracking the number of
bytes added and received for a Cluster instance. For feature parity,
these metrics should also be tracked at a Session and Node level in java
driver 4.x.
Modifications:
- Add 'bytes-sent' and 'bytes-received' to node-level metrics and
'bytes-sent' and 'bytes-received' to session-level metrics.
- Add InboundTrafficMeter and OutboundTrafficMeter to pipeline in
ChannelFactory.initializer.
- Update ChannelFactory.connect methods to accept Node instead of
SocketAddress. Previous connect method retained for unit testing.
- Updated unit tests to reason with Node instead of SocketAddress where
connect is involved and a Node instance is available.
- Added static singleton instance of NoopNodeMetricUpdater.
Result:
Additional metrics added for tracking bytes sent and received at both
Session and Node level.
5001781d6294ec2dada99b2dd84f4a8ea63b946e | Author: olim7t <omichallat+github@gmail.com>
| 2018-05-14 16:41:07-07:00
JAVA-1824: Make policies overridable in profiles
Co-authored-by: Andrew Tolbert <andrew.tolbert@datastax.com>
0b47c2ba9e3403e77f211b1b8df13329d6036222 | Author: olim7t <omichallat+github@gmail.com>
| 2018-03-07 10:55:31-08:00
JAVA-1515: Add query builder
Co-authored-by: Andrew Tolbert <andrew.tolbert@datastax.com>
Co-authored-by: GregBestland <Greg.Bestland@datastax.com>
5134b67de511994a0ff674651a43eb230e7e9fdd | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2018-01-08 14:08:45-06:00
JAVA-1715: Propagate unchecked exceptions to future in SyncAuthenticator (#929)
323517f8ddfe94a94dcfb9494ee57cf3d44f79d5 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2017-10-17 11:52:26-05:00
Upgrade to simulacron 0.5.5
Also remove duplicate mockito-core callout in integration-tests/pom.xml
13a6a018cf8c822d1609dfbe33e1d783dd832f48 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2017-10-13 14:50:57-05:00
JAVA-1638: Add integration tests for schema agreement
Also adds node-level start, stop, pause and resume.
17bbcfd7368cf0121d1d2863600d19bf7b1fca25 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2017-07-31 12:46:48-05:00
Enable travis builds
Also disable jenkins commit status updates
Since this runs on an internal server the status updates are not useful
for community.
1eee96814f51ebb47eaa374b694c4101aea740da | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2017-07-31 12:26:09-05:00
Prevent duplicate initialization of SimulacronRule
Because of hack in ClusterRule to ensure it's dependent rule has before
called on it (via setUp()) before starting itself, before() can get
called multiple times on SimulacronRule, protected duplicate set up of
registration in this case.
edbf8f9facd56b68c3777d76897a2ad5f5145048 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2017-07-31 10:59:04-05:00
Add integration test around config reloading
Also sets failsafe plugin to use testFailureIgnore so the build is
marked as unstable instead of failed when integration tests fail. Unit
tests failing will still fail the build (as desired).
23dfa48c229370e767674dd08c133df7c4d4f66f | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2017-07-28 17:03:26-05:00
Synchronize CcmRule#before
If there are multiple tests using CcmRule and parallel testing is
enabled, we need to override and synchronize before() so ccm is only
started once.
c071862dce0af2a72d12bb97ae9a588aee180efa | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2017-07-26 23:16:44-05:00
JAVA-1583: Handle write failure in ChannelHandlerRequest
In cases where write fails, i.e. writing to closed channel or ssl
handshake failure, it is possible that ChannelHandlerRequest.onFailure
is invoked and timeoutFuture is never set. Simply null checking
timeoutFuture avoids NPE being thrown here.
06b37b3a8f04a13ec0b4b1d00e4742b26397c62d | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2017-07-20 16:50:57-05:00
JAVA-1562: Fix various issues around heart beats
Fixes the following issues around heart beats:
- Repeated exception loop when connection is closed while waiting for
response for heart beat.
- Heart beats were being sent even if connection is actively reading
responses.
- Heart beats continue to get sent after channel starts closing.
- Heart beats can be sent before protocol initialization completes.
Also fixes an issue where DriverChannel.cancel() was short circuiting
during graceful shutdown, preventing InFlightHandler from completing
cancelled callbacks.
09ed90b33cf9a561e5999efa801becc4ea817f59 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2017-07-20 10:29:25-05:00
Update TimeCodec.format to include full nanosecond resolution
TimeCodec.format previously truncated LocalTime by not including
anything beyond millisecond resolution.
0062d3fbc979aa39804f6f1007a6291ca9004ee4 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
| 2017-07-17 17:00:52-05:00
Successfully complete future with SchemaChange result
Until JAVA-1493 is implemented, simply complete futures that resulted in
schema change.