You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Ashutosh Chauhan (Jira)" <ji...@apache.org> on 2020/04/18 18:17:00 UTC
[jira] [Updated] (HIVE-23051) Clean up BucketCodec
[ https://issues.apache.org/jira/browse/HIVE-23051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ashutosh Chauhan updated HIVE-23051:
------------------------------------
Fix Version/s: 4.0.0
Resolution: Fixed
Status: Resolved (was: Patch Available)
Pushed to master. Thanks, David!
> Clean up BucketCodec
> --------------------
>
> Key: HIVE-23051
> URL: https://issues.apache.org/jira/browse/HIVE-23051
> Project: Hive
> Issue Type: Improvement
> Reporter: David Mollitor
> Assignee: David Mollitor
> Priority: Major
> Fix For: 4.0.0
>
> Attachments: HIVE-23051.1.patch, HIVE-23051.2.patch, HIVE-23051.3.patch, HIVE-23051.4.patch, HIVE-23051.4.patch
>
>
> A couple of nagging things caught my eye with this class. The first thing:
> {code:java|title=BucketCodec.java}
> int statementId = options.getStatementId() >= 0 ? options.getStatementId() : 0;
> assert this.version >=0 && this.version <= MAX_VERSION
> : "Version out of range: " + version;
> if(!(options.getBucketId() >= 0 && options.getBucketId() <= MAX_BUCKET_ID)) {
> throw new IllegalArgumentException("bucketId out of range: " + options.getBucketId());
> }
> if(!(statementId >= 0 && statementId <= MAX_STATEMENT_ID)) {
> throw new IllegalArgumentException("statementId out of range: " + statementId);
> }
> {code}
> {{statementId}} gets capped, if it's less than 0, then it gets rounded up to 0. However, it later checks that the {{statementId}} is greater,... which is will always be 'true' since it's getting rounded.
> # Remove the rounding behavior.
> # Make better error message
> # Fail-fast in the constructor if the version is invalid
--
This message was sent by Atlassian Jira
(v8.3.4#803005)