[ 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.4.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, 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)