-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[wip] Upgrade java dse driver to 2.x #17
Open
landim
wants to merge
3
commits into
datastax:master
Choose a base branch
from
landim:refactor_driver_2.x
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
landim
force-pushed
the
refactor_driver_2.x
branch
from
July 8, 2019 13:58
c02b0fa
to
312aca8
Compare
landim
force-pushed
the
refactor_driver_2.x
branch
from
July 11, 2019 22:33
af3d40a
to
ea39ee2
Compare
absurdfarce
added a commit
that referenced
this pull request
Dec 3, 2019
Big chunks of this are based on/copied wholesale from previous work done by Arthur Landim (#17)
absurdfarce
added a commit
to absurdfarce/gatling-dse-plugin
that referenced
this pull request
Dec 4, 2019
Big chunks of this are based on/copied wholesale from previous work done by Arthur Landim (datastax#17)
absurdfarce
added a commit
that referenced
this pull request
Mar 24, 2020
* Not sure how, but somehow I missed the commit that, you know, changed the driver version we use 🤦 * Picking up some low-hanging fruit, mostly import changes * Some more low-hanging fruit, mainly conversions to use the shaded Guava * Fixing a package rename that was missed in the earlier round * Convert usages of Guava's FutureCallback (which aren't actually being used in future-handling code) to a generic callback trait * Trying to fix as much of the base CQL stuff as possible. Big chunks of this are based on/copied wholesale from previous work done by Arthur Landim (#17) * Added explicit bounded Statement type to DseCqlAttributes. This type propogates through the statement/attribute level but doesn't make it up to the action level (since the actions don't seem to care about the underlying Statement type their executing... or at least they don't so far). * A few minor fixes * Cleaning up PagingState references, a few other minor cleanups * A few miscellaneous fixes * Removed unavailable methods for accessing tried and queried hosts and replaced with accessor for coordinator node. Also cleaned up a fair amount of DseResponse. * Most of the core graph refactoring * Fixes to DseResponseHandler... and a few other miscellaneous fixes * Updates to Cql/GraphRequestAction to match other work done elsewhere in these changes. Still need to update the bits around the explicit interaction with the driver. * A bit of refactring to remove some of the larger fn definitions in the action impls * Fixing some weird import ordering issues * Conversion to use a builder rather than a (template) statement in CqlRequestAction... should make supporting the setting of various options from DseCqlAttributes considerably easier. * Convert graph infrastructure to use builders coming off of DseSession rather than Statement directly * Convert CqlPreparedStatementUtil to work with Bindable instances rather than statements specifically. Facilitates conversion to builders generally. Also converted CQL statements to use builders in order to address immutable statement classes * Cleaning up some type stuff * Converted CQL props to use only what's actually supported on the driver now. Still need to do the same for graph. Some things have moved into driver configuration, most notably the retry policy. Also simplified the DseResponse API. Primary accessor here is for the (Graph|Async)ResultSet... these vals can then be converted to Seqs using ResultSetUtils and managed via Scala's collection API. Preserved as many of the existing checks as possible mainly for backward compatibility; going forward many users would migrate to a Seq-based impl. The DseResponse API changes were (largely) a result of the distinction between ResultSet and AsyncResultSet in the 4.x driver. * Converted graph props to include only what's supported on the driver now. * Converting from GraphResultSet to AsyncGraphResultSet * Simple impls of Iterators for async RS impls * Fixing up some type things * Initial work on spec fixes * Code review feedback * Consolidating check API into something which exposes the various ResultSet impls only. Previously defined checks can now be implemented as transforms off of the ResultSet instance via fns defined somewhere. * More change from code review * Upgrading to new cassandra-unit which includes 4.2.x driver support) * Fixing a few tests * Specs should at least compile now * Base compilation now succeeds... on to actually fixing tests * Fixes for various spec failures. Don't try to create mocks for Durations... it makes them ANGRY! * Fighting with mocks is awesome * All non-cassandra-unit specs should be passing now * Various test fixes. Includes a fix to get cassandra-util tests running again; new version of cassandra-util calls initSession() when trying to retrieve a session from a (possibly not yet initialized) embedded instance. As a result our old pattern of only creating the embedded instance if the session is null was bound to fail. Since we're creating the instance in an object anyway it seems safe to do without the guard. * CqlPreparedStatementUtil spec now passes! * Explicitly specify traversal source for graph queries. This doesn't actually matter in practice since cassandra-unit only runs these simulations against a base C* instance which won't understand graph queries anyway. Still, I'm including it here in case this situation should change. * At long last... we have a clean run of tests! * Removing sbt changes that were accidentally committed * cassandra-unit released an official 4.x release while work was ongoing * Shift to an API based on DataType rather than ints coming off of getProtocolCode() * Upgrade to unified driver * Fixing compile warnings re: unchecked types due to type erasure * Replace DseSession with CqlSession refs * Changing _all_ refs to DseSession to CqlSession instead * Code review feedback * Fixing default DC impl + cleaning up handling of memoized Sessions * Fixing exception messages * Don't bother going to the iterator... just use what Iterable gives us * Added option to set idempotecy based on an existing boolean val * Addressing PR feedback * More review feedback * Code review feedback * More code review feedback * Shifting away from companion objects and towards implicit vals * Adding docs about the new check API * Re-adding support for per-request proxy auth * Some more code review feedback * Removing support for explicit specification of collection classes in the Gatling session from prepared statement support. Olivier pointed out that the prepared statement itself can serve as a source of truth for type info here. * Driver version bump to 4.5.0
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Updating to java dse driver 2.x