[ 
https://issues.apache.org/jira/browse/HIVE-23051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Mollitor updated HIVE-23051:
----------------------------------
    Attachment: HIVE-23064.2.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
>
>
> 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)

Reply via email to