Ammar Khaku all time


 2 Collaborator
Chris Lohfink , Bret McGuire

 8 Patch
7ca013fbd5f1ec589df52ef0e6441986f07c11ff, 306bf3744a3d24ad01700e4e1d3c14b9a696927f, 0962794b2ec724d9939cd47380e68b979b46f693, 6c48329199862215abc22170769fd1a165e80a15, 0a61884b7fcb62a839d15af94686eb1d9d4b440e, ffcf0d560a58e3ed0faa2e7ea3adca91046c9152, b1cf8a898b57d38cce2c6317a9c45af9cda698e8, 0a7b1c86d077b74ceb203bd356b214727ab416e1

6c48329199862215abc22170769fd1a165e80a15 | Author: Ammar Khaku <ammar.khaku@gmail.com>
 | 2024-03-14 16:55:59-07:00

    CASSANDRA-19468 Don't swallow exception during metadata refresh
    
    If an exception was thrown while getting new metadata as
    part of schema refresh it died on the admin executor instead
    of being propagated to the CompletableFuture argument.
    Instead, catch those exceptions and hand them off to the
    CompletableFuture.
    
    patch by Ammar Khaku; reviewed by Chris Lohfink, Bret McGuire for CASSANDRA-19468

7ca013fbd5f1ec589df52ef0e6441986f07c11ff | Author: Ammar Khaku <ammar.khaku@gmail.com>
 | 2023-04-22 16:13:15-07:00

    JAVA-3057 Allow decoding a UDT that has more fields than expected
    
    patch by Ammar Khaku; reviewed by Andy Tolbert and Bret McGuire
    reference: https://github.com/apache/cassandra-java-driver/pull/1635

0962794b2ec724d9939cd47380e68b979b46f693 | Author: Ammar Khaku <ammar.khaku@gmail.com>
 | 2022-11-20 19:14:07-08:00

    Don't return empty routing key when partition key is unbound
    
    DefaultBoundStatement#getRoutingKey has logic to infer the
    routing key when no one has explicitly called setRoutingKey
    or otherwise set the routing key on the statement.
    It however doesn't check for cases where nothing has been
    bound yet on the statement.
    This causes more problems if the user decides to get a
    BoundStatementBuilder from the PreparedStatement, set some
    fields on it, and then copy it by constructing new
    BoundStatementBuilder objects with the BoundStatement as a
    parameter, since the empty ByteBuffer gets copied to all
    bound statements, resulting in all requests being targeted
    to the same Cassandra node in a token-aware load balancing
    policy.
    
    patch by Ammar Khaku; reviewed by Andy Tolbert, and Bret McGuire
    reference: https://github.com/apache/cassandra-java-driver/pull/1620

0a61884b7fcb62a839d15af94686eb1d9d4b440e | Author: Ammar Khaku <akhaku@users.noreply.github.com>
 | 2022-10-07 12:43:48-07:00

    Standardize on DataStax vs Datastax since that appears to be more common (#1608)
    
    Updates to documentation only

306bf3744a3d24ad01700e4e1d3c14b9a696927f | Author: Ammar Khaku <ammar.khaku@gmail.com>
 | 2022-09-30 15:36:36-07:00

    Annotate BatchStatement, Statement, SimpleStatement methods with CheckReturnValue
    
    Since the driver's default implementation is for
    BatchStatement and SimpleStatement methods to be immutable,
    we should annotate those methods with @CheckReturnValue.
    Statement#setNowInSeconds implementations are immutable so
    annotate that too.
    
    patch by Ammar Khaku; reviewed by Andy Tolbert and Bret McGuire
    reference: https://github.com/apache/cassandra-java-driver/pull/1607

ffcf0d560a58e3ed0faa2e7ea3adca91046c9152 | Author: Ammar Khaku <akhaku@users.noreply.github.com>
 | 2022-07-13 12:09:38-07:00

    JAVA-3005: Refresh entire node list when new node added (#1604)
    
    Empirically, Cassandra does not appear to send
    TopologyChangeType.REMOVED_NODE when a node in the ring
    crashes hard and is eventually replaced, even though the
    bad node is removed from the system tables. This results in
    the driver holding on to that node until a restart.
    The 3.x driver refreshes the entire node list when a node is
    added, so when a new node comes up to replace the crashed
    node, the crashed node is removed from the driver's state.
    With this change we port that behavior to the 4.x driver and
    refresh the entire node list when a new node is added.
    This also fixes JAVA-3002.

b1cf8a898b57d38cce2c6317a9c45af9cda698e8 | Author: Ammar Khaku <akhaku@users.noreply.github.com>
 | 2022-05-24 09:00:05-07:00

    Update dangling Cluster references in reference.conf to Session (#1596)

0a7b1c86d077b74ceb203bd356b214727ab416e1 | Author: Ammar Khaku <akhaku@users.noreply.github.com>
 | 2021-08-24 01:13:50-07:00

    JAVA-2959: Don't throw NoNodeAvailableException when all connections busy (#1570)
    
    For cases in which there are no connections available to
    send requests to a Node in the query plan, collect the error
    rather than silently skipping over the node. The error will
    be thrown as part of an AllNodesFailedException if all nodes
    fail.
    This can happen when we've saturated the max in-flight
    requests across all nodes or when the request is directed to
    a particular node and it has no connections available (or
    all its connections are saturated).
    Note that in the latter case we used to throw a
    NoNodeAvailableException but we now throw
    AllNodesFailedException.