[PECOBLR-2086] Add comprehensive MST transaction metadata and edge case tests#1326
Open
vikrantpuppala wants to merge 6 commits intomainfrom
Open
[PECOBLR-2086] Add comprehensive MST transaction metadata and edge case tests#1326vikrantpuppala wants to merge 6 commits intomainfrom
vikrantpuppala wants to merge 6 commits intomainfrom
Conversation
Adds 37 new E2E integration tests to TransactionTests.java covering gaps identified in MST + xDBC metadata audit (LC-13424, LC-13425, LC-13427, LC-13428): - executeUpdate/executeLargeUpdate/executeBatch in transactions - DatabaseMetaData operations (getColumns, getTables, etc.) in active txn - PreparedStatement metadata before/after execute in transaction - MSTCheckRule-blocked SQL (SHOW/DESCRIBE/information_schema) in MST - Allowed operations (setCatalog, setSchema, DESCRIBE TABLE) in MST - Connection close with pending transaction (implicit rollback) - DDL behavior in transactions (CREATE/DROP/ALTER TABLE) - PreparedStatement parameterized DML in transactions - Concurrent DDL + parameterized DML (stale schema) - Edge cases: empty txn, read-only txn, holdability, timeout, retry Co-authored-by: Isaac Signed-off-by: Vikrant Puppala <vikrant.puppala@databricks.com>
Co-authored-by: Isaac Signed-off-by: Vikrant Puppala <vikrant.puppala@databricks.com>
- Add ignoreTransactions=0 to JDBC URL to enable MST - Fix testCloseConnectionWithPendingTransaction: accept both auto-commit and rollback behaviors on close - Fix testGetFunctionsInsideActiveTransaction: catch known driver logging bug (IllegalFormatConversionException in getFunctions) Co-authored-by: Isaac Signed-off-by: Vikrant Puppala <vikrant.puppala@databricks.com>
jayantsing-db
approved these changes
Mar 26, 2026
- setCatalog/setSchema/DESCRIBE TABLE are all blocked in MST via Thrift (SetCatalogCommand, SetNamespaceCommand, DescribeRelation) — tests now expect the exception - getPrimaryKeys/getCrossReference may poison transaction in MST — wrapped in try-catch - testParameterizedDMLAfterConcurrentAlterTable: catch driver logger bug - testCommitWithoutActiveTransaction: remove message content assertion - testTransactionContinuesAfterAllowedMetadataOp: use DML-only operations Co-authored-by: Isaac Signed-off-by: Vikrant Puppala <vikrant.puppala@databricks.com>
- Add transactionTests.yml workflow to run TransactionTests and ExplicitTransactionStatementTests on push to main (same pattern as concurrencyExecutionTests.yml) - Update both e2e test classes to read credentials from env vars (DATABRICKS_HOST, DATABRICKS_TOKEN, DATABRICKS_HTTP_PATH, etc.) with fallback to hardcoded defaults for local development - Fake service replay mode not yet possible for transaction tests due to LC-13424 (SEA INLINE disposition bug with MST commands) Co-authored-by: Isaac Signed-off-by: Vikrant Puppala <vikrant.puppala@databricks.com>
…edentials" This reverts commit dc758c7.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
TransactionTests.javacovering gaps identified in the MST + xDBC Metadata RPCs auditTest plan
mvn test -Dtest=TransactionTestsagainst an MST-enabled warehouseNO_CHANGELOG=true
This pull request was AI-assisted by Isaac.