[
https://issues.apache.org/jira/browse/HIVE-23051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Mollitor updated HIVE-23051:
----------------------------------
Attachment: HIVE-23051.3.patch
> 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
> Attachments: HIVE-23051.1.patch, HIVE-23051.2.patch,
> HIVE-23051.3.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)