-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
[kudu] Update Kudu binding to 1.1.0, use slf4j for logging, improve table partitioning #879
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Few minor comments.
Will these changes prevent someone comparing Kudu <1.x with this updated client? Is there any reason someone would want to compare <1.x with >1.x?
<id>cloudera-repo</id> | ||
<name>Cloudera Releases</name> | ||
<url>https://repository.cloudera.com/artifactory/cloudera-repos</url> | ||
<id>apache.releases</id> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this need to be there? Can the kudu-client be pulled from Maven central?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, it's currently only published to the Apache maven repo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought Apache published to Maven Central. I see a kudu-client artifact here: https://mvnrepository.com/artifact/org.apache.kudu/kudu-client
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome, I was not aware of that.
} | ||
this.tableName = com.yahoo.ycsb.workloads.CoreWorkload.table; | ||
initClient(debug, tableName, getProperties()); | ||
String tableName = CoreWorkload.table; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This assumes the CoreWorkload is being used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I think it does. This behavior is not changing as part of this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
O yea didn't see that it hadn't changed.
@@ -16,7 +16,7 @@ | |||
*/ | |||
|
|||
/** | |||
* The YCSB binding for <a href="http://getkudu.io/">Kudu</a>. | |||
* The YCSB binding for <a href="http://kudu.apache.org/">Apache Kudu</a>. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copyright should be updated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whoops sorry meant to throw an example in here:
Copyright (c) 2015-2016 YCSB contributors. All rights reserved.
import org.kududb.ColumnSchema; | ||
import org.kududb.Schema; | ||
import org.kududb.client.*; | ||
import org.slf4j.Logger; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The header on this file doesn't have the YCSB copyright?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know the copyright details on this file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be above the license with a line like:
Copyright (c) 2016 YCSB contributors. All rights reserved.
See kudu/README.md
for an example.
For the most part. These changes may be compatible with 0.10 (the last release before 1.0), but I haven't checked.
Probably not. Now that Kudu is 1.0 there should be no such breaking changes in the future. |
rebased and squashed fixup commits. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor header changes. Sorry I meant to put examples first time through.
import org.kududb.ColumnSchema; | ||
import org.kududb.Schema; | ||
import org.kududb.client.*; | ||
import org.slf4j.Logger; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be above the license with a line like:
Copyright (c) 2016 YCSB contributors. All rights reserved.
See kudu/README.md
for an example.
@@ -16,7 +16,7 @@ | |||
*/ | |||
|
|||
/** | |||
* The YCSB binding for <a href="http://getkudu.io/">Kudu</a>. | |||
* The YCSB binding for <a href="http://kudu.apache.org/">Apache Kudu</a>. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whoops sorry meant to throw an example in here:
Copyright (c) 2015-2016 YCSB contributors. All rights reserved.
} | ||
this.tableName = com.yahoo.ycsb.workloads.CoreWorkload.table; | ||
initClient(debug, tableName, getProperties()); | ||
String tableName = CoreWorkload.table; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
O yea didn't see that it hadn't changed.
@@ -17,25 +17,30 @@ LICENSE file. | |||
|
|||
# Kudu bindings for YCSB | |||
|
|||
[Kudu](http://getkudu.io) is a storage engine that enables fast analytics on fast data. | |||
[Apache Kudu](https://kudu.apache.org) is a storage engine that enables fast |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like the header on this file should be updated as well:
Copyright (c) 2015-2016 YCSB contributors. All rights reserved.
@danburkert Looks pretty good to me. Just minor header changes and then can merge it. |
This switches the Kudu table to be hash partitioned instead of range partitioned, which is a more realistic partitioning strategy for a YCSB-like workload. The scan has been switched to use predicates instead of primary key bounds, since this is now the recommended way to specify scans.
Added a commit fixing up the copyrights. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me
[kudu] Update Kudu binding to 1.1.0, use slf4j for logging, improve table partitioning
This updates Kudu to the latest released client version, improves table partitioning, and switches debug logging to use slf4j. Further details are in the commit messages.