Andrew Tolbert drivers all time


 2 Collaborator
Olivier Michallat , GregBestland

 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.

49f01837e681653b77672ac1ea9689f24c439ed6 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2019-06-18 14:53:14-05:00

    JAVA-2266 Run mapper tests for C* 2.1 when possible (#1268)

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.

58c78dae56a0ff093ee87d23f01fda22633b9ed7 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2019-06-11 20:56:31-05:00

    Skip test if Protocol V3 is used

320f2752dae223c16e876a1f8b7baff64fed94ea | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2019-06-11 20:20:38-05:00

    Update mapper tests to work with C* 2.1

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.

55176f83331f90914f97805180944e69142e36a1 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-12-17 18:27:33-06:00

    Include session timeout in test config

175864c82ef9d8006b780a0ae9b67d06ce6dd488 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-12-17 17:40:11-06:00

    Use getCassandraVersion over CcmBridge.VERSION

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.

ece9ee1e85524e25f232c0d43685b0b5e91a88dc | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-12-17 15:13:25-06:00

    Test fixes for 4.0.0-beta3 (#1154)

c66b77d5416d884c27b4baa5ef5e6d3e5e22153c | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-12-17 14:55:22-06:00

    JAVA-2061: Add section to upgrade guide about updated type mappings (#1152)

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.

f491e1221d4bb5c2dbbfc6202c38f01852260b18 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-08-09 16:11:50-05:00

    JAVA-1938: Make CassandraSchemaQueries classes public

ff6312cb0d21441346b24ce76359a5d587808b14 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-08-09 11:44:25-05:00

    Fix peers_v2 handling in DefaultTopologyMonitor

5f6203d36b9ec4b64b8d6a9994851246c7cd5aac | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-08-09 11:28:26-05:00

    Fix peers_v2 handling in DefaultTopologyMonitor

05eda926d67d5acc19dd98e22b6a3d5a4ef741a8 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-07-13 18:26:40-05:00

    Make SessionRule constructor public

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.

80fb1b663dd4fd0335a4d40ef8c6b9b375208350 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-07-12 18:09:11-05:00

    Remove native-protocol pull from build.yaml, slack notifier

cf767798e8c04d27556c22f57fb11ce1ea1deca1 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-07-12 17:46:23-05:00

    Use new image in jenkins

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.

2b9d189f3a0129dfe4436135ae4f150cc3e28027 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-07-09 15:56:35-05:00

    Fix quiet-period configuration in TestConfigLoader

6fe9585af82ce91d4bdf4311d092737163ac3159 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-07-09 14:18:00-05:00

    JAVA-1879: Duplicate basic.request options as Statement attributes

416556023365a3fd679bc938a86b8785b66175a5 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-06-26 15:04:08-05:00

    Use openjdk8 instead of oraclejdk8

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.

8daf3cb9fb3a3644c260980f0a7243ed28322512 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-06-21 10:49:44-05:00

    JAVA-1884: Add GenericType.getRawType()

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.

fdce86e0aa6400789f2081ced6291a0d0eb26102 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-06-07 18:44:11-05:00

    Add frozen to UserType when using as column

4973dc66a76829e0597c057d4820d52d4d06a2b2 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-06-07 17:36:13-05:00

    Update DataTypeIT now that JAVA-1569, JAVA-1572, and JAVA-1573 are fixed

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.

5136b4f8c5c6c157ca12fac5349934fc736e6da1 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-06-01 17:04:41-05:00

    Clone and install native protocol as part of jenkins build

937ff1805e2535c421ce0a33146bbce3e0e6dac2 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-06-01 16:44:58-05:00

    Clone and install native protocol as part of travis build

59940c58906e0b40882e6b7dc5dca0ff93d959a9 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-06-01 15:54:39-05:00

    JAVA-1848: Add logs to DefaultRetryPolicy

94c8795c51f4427623dde82d2aba542aba21a9f5 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-05-31 17:48:19-05:00

    JAVA-1832: Add Ec2MultiRegionAddressTranslator

cbe9a731a12b051b6c501f1b6000bfaec89d936b | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-05-23 17:31:42-05:00

    Don't override localDC when no contact points are provided if set

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>

20457b9aeda6dec3f846c604e412318531e23c82 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-04-16 17:23:14-05:00

    Relocate test ssl resources to test-infra (#993)

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>

4e10f84aea73491283a7f4dd17b84e4cbef6507b | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2018-01-09 14:03:56-06:00

    Fix SyncAuthenticator.onAuthenticationSuccess

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)

22d14ac6b099b711d1fcd55c553d3ced43517366 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-12-21 15:25:40-06:00

    JAVA-1707: Add test infrastructure for running DSE clusters with CCM

3ace5cec015adb911b7b794a15f9c690676522bc | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-12-14 17:09:27-06:00

    Upgrade to simulacron 0.8.1

91221cc223a06600b7fefba445534afe9eb96bbb | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-12-14 16:16:59-06:00

    Update QueryTraceIT test to check for DriverExecutionException

c1fd587dc43c9c067a1f482c93b5d0195677089c | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-12-14 14:50:50-06:00

    Require C* 2.2 for Protocol V4 tests

a932bf0a91802efd5e72350da63da1084073d2e4 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-11-09 13:17:47-06:00

    Upgrade to simulacron 0.6.0

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.

9b97032cd599d075cf311ed22fece0b3ccc94087 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-10-12 17:08:19-05:00

    Add tests for NodeStateListener registration

e532fd2b5b67d4a1413802778965279b3c7e3de9 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-10-12 10:50:40-05:00

    JAVA-1493: Add extra tests for schema metadata

18d298632fe2b32c780c7b92066252c5da3c933b | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-10-10 16:10:31-05:00

    JAVA-1605: Add integration tests for custom request processors

e2d07e99265c903dcfc7b3a3c85ba63585f9cafe | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-08-08 15:07:13-05:00

    JAVA-1542: Enable JaCoCo code coverage

15e8b27d1a4be13888bb9e5735d44e161341177b | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-08-03 13:47:56-05:00

    Add generic codec integration test

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.

94ad631d619756984aa819e68d14b249f70dc268 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-07-28 16:03:41-05:00

    JAVA-1586: Throw underlying exception when codec not found in cache

c6fe76399446bf23ac3ceeba57bc00201075ec59 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-07-27 17:38:02-05:00

    Also use slow profile for create keyspace query

1a98b6f30f1be61d5af5f90ec86a61fbbafd69c4 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-07-27 17:32:00-05:00

    Use slow profile for schema query

8e254ccf49d2bbb267964cfdd88d8579442e2b73 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-07-27 16:05:52-05:00

    Add integration tests for unset values and profiles

588e2a713046152b6d6a1c36529318e98de8a207 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-07-27 12:00:43-05:00

    Integration test module and tests (#2)

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.

92bfcf0a6e350b076daeec45b52925b1b6476902 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-07-26 16:59:14-05:00

    Fix commented class for auth-provider and ssl-engine-factory

fabd035b5ae6b6822d5340ac6a7a2c56d9df1719 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-07-25 16:16:18-05:00

    Use empty map if custom payload is null

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.

59417d3ecca6ad97e75eecbbd819e906d8ae200c | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-07-19 17:23:40-05:00

    Split CachingCodecRegistry tests for clarity

8da747988db8446e2bd0092f4e05900700552c68 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-07-19 14:03:58-05:00

    JAVA-1554: Include VIEW and CDC in WriteType

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.

33e9952d71622bf34d43303fcbac94236d6b8e10 | Author: Andrew Tolbert <andrew.tolbert@datastax.com>
 | 2017-07-11 19:04:20-05:00

    Fix error message (DriverConfigProfile -> DriverContext)