Skip to content
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

Async mongodb driver #180

Merged
merged 28 commits into from
May 24, 2015
Merged

Conversation

allanbank
Copy link
Collaborator

This pull request contains a new driver for MongoDB based on the asynchronous driver. The bulk of the changes are adding the required logic to the startup scripts to support the second driver. I have used this branch to run a series of benchmarks.

There are also a number of community contributed updates to the old MongoDB Driver. These include:

  • Updated README with specific instructions for running a MongoDB suite.
  • Updates to the configuration to now be strictly based on a MongoDB Connection String URI which is standardized across drivers.
  • Other small fixes and performance enhancements.

This pull request will supersede the following pull requests:

  • PR-112 - Integrates the MongoDB Connection String URI for both drivers.
  • PR-115 - The writeConcern and readPreference are expressed via the standardized MongoDB Connection String URI.
  • PR-131 - Read preferences are passed via the MongoDB Connection String and replica sets are automatically detected for the asynchronous driver and will be enabled with the MongoDB Inc. driver by passing multiple servers in the URI.

I know this is a large volume of changes but they are all focused on the MongoDB driver and thought it would be easier to provide them in one batch than a bunch of pull requests. If you would prefer a bunch of smaller changes I will need guidance on the desired granularity.

@allanbank
Copy link
Collaborator Author

Note says that the Travis Build Failed but it appears to be an issue with Travis not being able to download artifacts from Maven. Can someone trigger a manual rebuild?

@westonplatter
Copy link
Contributor

@allanbank I bumped if for a rebuild (even though the Github status does not show the reubuild).

@busbey
Copy link
Collaborator

busbey commented May 20, 2015

I restarted the build now that the mapkeeper stuff is out of the way. I'd like to get this set of changes merged in before cutting the next release.

If someone from the mongo community can work with me on needed updates, I'll proactively go point the related open issues here and close them.

@@ -107,9 +108,15 @@ command = COMMANDS[sys.argv[1]]["command"]
database = sys.argv[2]
db_classname = DATABASES[database]
options = sys.argv[3:]
java_home = os.environ["JAVA_HOME"]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the java home stuff is good, but seems unrelated to the rest of the mongo improvements. If I file an issue for "allow the use of java home" could you edit the commit message to call out closing it?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wrote an issue: #252.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great. presuming you go forward with the rebase, please edit the commit message for this part of the changes to note "fixes #252"

@allanbank
Copy link
Collaborator Author

@busbey - Give me a day or two to make the changes you suggested. Is it OK if I rebase the pull on the latest master making the changes as I go?

@busbey
Copy link
Collaborator

busbey commented May 21, 2015

please feel free to rebase. I prefer rebases to lots of merges, personally. :)

@allanbank
Copy link
Collaborator Author

@busbey -

I think that latest push covers all of the issues you raised. Let me know if I missed something.

Rob.

@busbey
Copy link
Collaborator

busbey commented May 23, 2015

The update looks great.

It looks like with the current update we'll be using the Mongo 3 client, right? Will that prevent us from talking to Mongo 2 servers? If so, how comon are Mongo 2 installations? Is it worth maintaining both, ala our HBase binding?

@allanbank
Copy link
Collaborator Author

The driver can talk to version 2 and 3 clusters.

Rob

On May 23, 2015 12:22:12 PM EDT, Sean Busbey notifications@github.com wrote:

The update looks great.

It looks like with the current update we'll be using the Mongo 3
client, right? Will that prevent us from talking to Mongo 2 servers? If
so, how comon are Mongo 2 installations? Is it worth maintaining both,
ala our HBase binding?


Reply to this email directly or view it on GitHub:
#180 (comment)

Sent from my Android device with K-9 Mail. Please excuse my brevity.

busbey added a commit that referenced this pull request May 24, 2015
[Mongodb] merge adds Async mongodb driver, update normal driver to talk to mongo 2 and 3 clusters.
@busbey busbey merged commit 0ba7e79 into brianfrankcooper:master May 24, 2015
@busbey
Copy link
Collaborator

busbey commented May 24, 2015

Thanks for sticking with this contribution! I hope to see more great stuff from the mongo community in the future.

@allanbank
Copy link
Collaborator Author

@busbey - No problem. Thanks for doing the merge.

I mentioned it in the initial pull request but I am pretty certain these pull requests can be closed now.

  • PR-112 - Integrates the MongoDB Connection String URI for both drivers.
  • PR-115 - The writeConcern and readPreference are expressed via the standardized MongoDB Connection String URI.
  • PR-131 - Read preferences are passed via the MongoDB Connection String and replica sets are automatically detected for the asynchronous driver and will be enabled with the MongoDB Inc. driver by passing multiple servers in the URI.

If you would like me to add an explicit comment to each of those explaining why it can be closed I'll be happy to do that.

Rob.

@busbey
Copy link
Collaborator

busbey commented May 27, 2015

Thanks for the reminder, I'll go close them out.

@allanbank allanbank deleted the async-mongodb-driver branch May 28, 2015 01:49
jaricftw pushed a commit to jaricftw/YCSB that referenced this pull request Jul 19, 2016
…driver

[Mongodb] merge adds Async mongodb driver, update normal driver to talk to mongo 2 and 3 clusters.
jaricftw pushed a commit to jaricftw/YCSB that referenced this pull request Jul 19, 2016
…driver

[Mongodb] merge adds Async mongodb driver, update normal driver to talk to mongo 2 and 3 clusters.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants