Skip to content

Conversation

zabetak
Copy link
Member

@zabetak zabetak commented Oct 3, 2025

What changes were proposed in this pull request?

  1. Add Derby support in QTestDatabaseHandler and implement proper setup and cleaup logic
  2. Refactor docker instructions in separate class and update class hierarchy
  3. Update all .q files using 'jdbc:derby' URLs to exploit the new functionality
  4. Re-enable previously disabled tests since flakiness is resolved.
  5. Rework dataconnector.q test exploiting the init script functionality and drop all Derby binary files.

Why are the changes needed?

  1. Stabilize CI and avoid flakiness due to improper Derby init/cleanup
  2. Facilitate writing unit tests for Derby and improve their readability (e.g., dataconnector.q)

Does this PR introduce any user-facing change?

No

How was this patch tested?

mvn clean test -Dtest=TestMiniLlapLocalCliDriver -Dqfile=authorization_privilege_objects.q,dataconnector.q,explain_jdbc.q,external_jdbc_auth.q,external_jdbc_join_mv.q,external_jdbc_rowcount.q,external_jdbc_table.q,external_jdbc_table3.q,external_jdbc_table4.q,external_jdbc_table_partition.q,external_jdbc_table_perf.q,external_jdbc_table_typeconversion.q,external_jdbc_view.q,jdbc_handler.q,jdbc_split_filter.q,qt_database_derby.q 
mvn test -Dtest=TestNegativeLlapLocalCliDriver.java -Dqfile=authorization_jdbc_keystore.q,dataconnector_authfail_alter.q,dataconnector_authfail_drop.q,dataconnector_authfail_remoteDB.q,external_jdbc_negative.q
mvn clean test -Dtest=TestContribCliDriver -Dqfile=dboutput.q

1. Add Derby support in QTestDatabaseHandler and implement proper setup and cleaup logic
2. Refactor docker instructions in separate class and update class hierarchy
3. Update all .q files using 'jdbc:derby' URLs to exploit the new functionality
4. Re-enable previously disabled tests since flakiness is resolved.
5. Rework dataconnector.q test exploiting the init script functionality and drop all Derby binary files.
Copy link

sonarqubecloud bot commented Oct 3, 2025

@zabetak
Copy link
Member Author

zabetak commented Oct 6, 2025

A clean flaky run with all jdbc related tests can also be found here: https://ci.hive.apache.org/job/hive-flaky-check/904/

@Aggarwal-Raghav
Copy link
Contributor

LGTM +1 (non-binding)

@zabetak
Copy link
Member Author

zabetak commented Oct 9, 2025

Thanks for reviewing @saihemanth-cloudera ! All the files that you highlighted are setting the JDBC URL for the metastore. The qt:database option is not used for the metastore so changing these files is out of scope for the current PR.

Copy link
Contributor

@saihemanth-cloudera saihemanth-cloudera left a comment

Choose a reason for hiding this comment

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

LGTM +1

@zabetak zabetak merged commit 4f7140f into apache:master Oct 10, 2025
4 checks passed
@zabetak zabetak deleted the qt-database-derby branch October 10, 2025 07:10
@zabetak
Copy link
Member Author

zabetak commented Oct 10, 2025

Many thanks for the reviews @Aggarwal-Raghav and @saihemanth-cloudera !

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.

4 participants