You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2021/02/19 09:32:00 UTC

[shardingsphere] branch master updated: Refactor release ddl lock (#9428)

This is an automated email from the ASF dual-hosted git repository.

panjuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new ad3ffa9  Refactor release ddl lock (#9428)
ad3ffa9 is described below

commit ad3ffa953edfd0e6269852278a0501ad76f8d613
Author: Haoran Meng <me...@gmail.com>
AuthorDate: Fri Feb 19 17:31:36 2021 +0800

    Refactor release ddl lock (#9428)
    
    * Refactor release ddl lock
    
    * Refactor release ddl lock
    
    * Refactor release ddl lock
---
 .../apache/shardingsphere/driver/executor/DriverJDBCExecutor.java    | 5 ++---
 .../proxy/backend/communication/DatabaseCommunicationEngine.java     | 5 ++---
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/DriverJDBCExecutor.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/DriverJDBCExecutor.java
index 9f41d32..356ec31 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/DriverJDBCExecutor.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/DriverJDBCExecutor.java
@@ -125,13 +125,12 @@ public final class DriverJDBCExecutor {
         try {
             locked = tryGlobalLock(sqlStatement, metaDataContexts.getProps().<Long>getValue(ConfigurationPropertyKey.LOCK_WAIT_TIMEOUT_MILLISECONDS));
             results = jdbcExecutor.execute(executionGroups, callback);
-        } catch (final SQLException ex) {
+            refreshSchema(metaDataContexts.getDefaultMetaData(), sqlStatement, routeUnits);
+        } finally {
             if (locked) {
                 releaseGlobalLock();
             }
-            throw ex;
         }
-        refreshSchema(metaDataContexts.getDefaultMetaData(), sqlStatement, routeUnits);
         return results;
     }
     
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java
index 432888c..69d1843 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java
@@ -108,13 +108,12 @@ public final class DatabaseCommunicationEngine {
         try {
             locked = tryGlobalLock(executionContext, ProxyContext.getInstance().getMetaDataContexts().getProps().<Long>getValue(ConfigurationPropertyKey.LOCK_WAIT_TIMEOUT_MILLISECONDS));
             executeResults = proxySQLExecutor.execute(executionContext);
-        } catch (final SQLException ex) {
+            refreshMetadata(executionContext);
+        } finally {
             if (locked) {
                 releaseGlobalLock();
             }
-            throw ex;
         }
-        refreshMetadata(executionContext);
         ExecuteResult executeResultSample = executeResults.iterator().next();
         return executeResultSample instanceof QueryResult
                 ? processExecuteQuery(executionContext, executeResults.stream().map(each -> (QueryResult) each).collect(Collectors.toList()), (QueryResult) executeResultSample)