New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HIVE-28238: Open Hive ACID txn only for transactional resources #5216
base: master
Are you sure you want to change the base?
Conversation
Is there an apache jira about this change? |
if (dbProduct.isDERBY()) { | ||
return true; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it mean that a txn has to be always opened if the backend db is derby? Even if there are no transactional tables in the statement.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no one is using derby in production, but the main reason is that derby doesn't support multi-column IN construct.
https://stackoverflow.com/questions/48175692/multiple-columns-in-in-clause-apache-derby
tested so far on Postgres, MySQL, Oracle
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe we should consider moving to H2 in tests
|
Quality Gate passedIssues Measures |
What changes were proposed in this pull request?
Open ACID txn only when transactional resources are present in a query
Why are the changes needed?
Backend db calls optimization
Does this PR introduce any user-facing change?
No
Is the change a dependency upgrade?
No
How was this patch tested?
mvn test -Dtest=ITestDbTxnManager -Dtest.metastore.db=postgres