This is an automated email from the ASF dual-hosted git repository.
jmclean pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/main by this push:
new 5fef3314e6 [#8306] Avoid rollback when autocommit is true in
ScriptRunner.java (#8332)
5fef3314e6 is described below
commit 5fef3314e69466274a5d07154b2197614736b923
Author: Surya B <[email protected]>
AuthorDate: Sat Aug 30 07:56:12 2025 +0530
[#8306] Avoid rollback when autocommit is true in ScriptRunner.java (#8332)
### What changes were proposed in this pull request?
---
- Updated `ScriptRunner.java` so that `conn.rollback()` is **not always
called**.
- Rollback is now only performed when:
- `autoCommit` is set to `false`, **and**
- an exception occurs during script execution.
- Moved `conn.rollback()` logic from the `finally` block into the
`catch` block.
- Cleaned up control flow to avoid unnecessary rollback calls after
successful commits.
---
### Why are the changes needed?
---
Previously, `conn.rollback()` was called in the `finally` block
regardless of connection mode.
- When `autoCommit = true`, rollback has no effect and is misleading.
- When a commit was already performed successfully, rollback was still
invoked unnecessarily.
This change makes rollback behavior **cleaner and safer**, ensuring it
is only triggered when actually required.
---
### Does this PR introduce _any_ user-facing change?
---
- No user-facing API changes.
- Internal improvement in the Hive Metastore test utility
`ScriptRunner.java`.
---
.../src/test/java/org/apache/gravitino/hive/hms/ScriptRunner.java | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git
a/catalogs/hive-metastore-common/src/test/java/org/apache/gravitino/hive/hms/ScriptRunner.java
b/catalogs/hive-metastore-common/src/test/java/org/apache/gravitino/hive/hms/ScriptRunner.java
index c0a94c8c87..e58e8e29a8 100644
---
a/catalogs/hive-metastore-common/src/test/java/org/apache/gravitino/hive/hms/ScriptRunner.java
+++
b/catalogs/hive-metastore-common/src/test/java/org/apache/gravitino/hive/hms/ScriptRunner.java
@@ -189,9 +189,15 @@ public class ScriptRunner {
e.fillInStackTrace();
printlnError("Error executing: " + command);
printlnError(e);
+ if (!autoCommit) {
+ try {
+ conn.rollback();
+ } catch (SQLException rollbackException) {
+ printlnError("Error during rollback " + rollbackException);
+ }
+ }
throw e;
} finally {
- conn.rollback();
flush();
}
}