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

[kudu] Update Kudu binding to 1.1.0, use slf4j for logging, improve table partitioning #879

Merged
merged 4 commits into from
Dec 2, 2016

Conversation

danburkert
Copy link
Contributor

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.

Copy link
Collaborator

@risdenk risdenk left a 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>
Copy link
Collaborator

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?

Copy link
Contributor Author

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.

Copy link
Collaborator

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

Copy link
Contributor Author

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;
Copy link
Collaborator

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?

Copy link
Contributor Author

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.

Copy link
Collaborator

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>.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Copyright should be updated.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done.

Copy link
Collaborator

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;
Copy link
Collaborator

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?

Copy link
Contributor Author

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.

Copy link
Collaborator

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.

@danburkert
Copy link
Contributor Author

Will these changes prevent someone comparing Kudu <1.x with this updated client?

For the most part. These changes may be compatible with 0.10 (the last release before 1.0), but I haven't checked.

Is there any reason someone would want to compare <1.x with >1.x?

Probably not. Now that Kudu is 1.0 there should be no such breaking changes in the future.

@danburkert
Copy link
Contributor Author

rebased and squashed fixup commits.

Copy link
Collaborator

@risdenk risdenk left a 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;
Copy link
Collaborator

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>.
Copy link
Collaborator

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;
Copy link
Collaborator

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
Copy link
Collaborator

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.

@risdenk
Copy link
Collaborator

risdenk commented Dec 2, 2016

@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.
@danburkert
Copy link
Contributor Author

Added a commit fixing up the copyrights.

Copy link
Collaborator

@risdenk risdenk left a 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

@risdenk risdenk self-assigned this Dec 2, 2016
@risdenk risdenk changed the title [kudu] Update bindings [kudu] Update Kudu binding to 1.1.0, use slf4j for logging, improve table partitioning Dec 2, 2016
@risdenk risdenk merged commit 70590bb into brianfrankcooper:master Dec 2, 2016
tzm41 pushed a commit to tzm41/YCSB that referenced this pull request May 7, 2017
[kudu] Update Kudu binding to 1.1.0, use slf4j for logging, improve table partitioning
@busbey busbey mentioned this pull request May 19, 2018
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.

2 participants