[
https://issues.apache.org/jira/browse/HIVE-23051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Mollitor updated HIVE-23051:
----------------------------------
Description:
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
was:
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 late checks that the {{statementId}} is greater,... which is will
always be since it's getting rounded.
# Remove the rounding behavior.
# Make better error message
# Fail-fast in the constructor if the version is invalid
> 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
>
>
> 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)