Skip to content

HIVE-27686 ORC upgraded to 1.8.5.#4690

Merged
abstractdog merged 1 commit into
apache:masterfrom
zratkai:HIVE-27686
Oct 16, 2023
Merged

HIVE-27686 ORC upgraded to 1.8.5.#4690
abstractdog merged 1 commit into
apache:masterfrom
zratkai:HIVE-27686

Conversation

@zratkai

@zratkai zratkai commented Sep 12, 2023

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

ORC is upgraded to use 1.8.5 which contains a fix to use ORC row level filter.The tez.grouping.min-size needed to be changed to have 4 buckets for compaction testing.

Why are the changes needed?

To be able to use ORC row level filter.

Does this PR introduce any user-facing change?

No.

Is the change a dependency upgrade?

How was this patch tested?

Manually.

Comment thread ql/src/test/queries/clientpositive/materialized_view_create_rewrite_4.q Outdated
Comment thread ql/src/test/queries/clientpositive/row__id.q Outdated
Comment thread ql/src/test/results/clientpositive/tez/orc_merge12.q.out
Comment thread standalone-metastore/pom.xml

@aturoczy aturoczy left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove the unnecessary Asserts

Change-Id: I9cef3ce5e91819ef2d2c169276aac96bcf0f80c8
@sonarqubecloud

sonarqubecloud Bot commented Oct 4, 2023

Copy link
Copy Markdown

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

warning The version of Java (11.0.8) you have used to run this analysis is deprecated and we will stop accepting it soon. Please update to at least Java 17.
Read more here

@zhangbutao zhangbutao left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the change! IMO, we can remove totalSize in every UT&QTest as its value would change in different ORC version, and it is not a very important element for ORC UT.

Assert.assertEquals("The number of files is differing from the expected", "1", parameters.get("numFiles"));
Assert.assertEquals("The number of rows is differing from the expected", "4", parameters.get("numRows"));
Assert.assertEquals("The total table size is differing from the expected", "704", parameters.get("totalSize"));
Assert.assertEquals("The total table size is differing from the expected", "705", parameters.get("totalSize"));

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I saw you have removed totalSize in the UT of TestCompactor.java, so should we remove this line as well?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be better to handle this in a separate ticket as refactoring. Would this be okay so we can close this ticket?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we're removing some totalSize assertions but not others, let's simply keep it consistent, choose 1 option now from the below ones:

  1. remove all occurrences that have been changed here by the patch, so it's visible now
  2. remove only from qtests
  3. remove all occurrences from the code -> time-consuming, I'm not recommending this
  4. don't remove any totalSize assertions

I believe only 1) makes sense

@abstractdog abstractdog Oct 11, 2023

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just unresolved this conversation, it's time to finally address this whole totalSize somehow
option 5) would be to create another ticket to remove that stuff, merge ASAP, and then we can see how clear is this upgrade alone, because masking/totalSize related changes won't bring the noise into this PR, so I guess this is even better than 1)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Option 5 means we remove only the totalSize checks which are in this ticket and not others, which would be a little bit weird, because it is hard to address which to eliminate outside this ticket. How can be the other ticket reviewed without this? So I would say create a ticket with clear description which to delete: a) from Qtests, b) Qtest and unit tests. Or create 2 new ticket, one for Qtests only, one for unit tests only. Since the build env is really unstable I had to run many times this build to finally succeed.

@abstractdog abstractdog Oct 16, 2023

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okay, makes sense, so we can agree to remove totalSize checks here from every place that were affected by this ORC upgrade and do the rest in subsequent patches, like HIVE-27791

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants