[ 
https://issues.apache.org/jira/browse/HIVE-23051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17068072#comment-17068072
 ] 

David Mollitor commented on HIVE-23051:
---------------------------------------

[~abstractdog] I have added a unit test.  I don't really know what the 
input/output should be, so the tests I wrote codify the current behavior.  
Review please? :)

> 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, 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)

Reply via email to