LENS-1456: Fix Deadlock in jdbcdriver

Project: http://git-wip-us.apache.org/repos/asf/lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/6a45685b
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/6a45685b
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/6a45685b

Branch: refs/heads/master
Commit: 6a45685b6baec3db0aaac50065c7c1adf57fdf3f
Parents: cb92ec5
Author: Rajat Khandelwal <pro...@apache.org>
Authored: Fri Aug 11 15:52:48 2017 +0530
Committer: Rajat Khandelwal <rajatgupt...@gmail.com>
Committed: Mon Aug 21 13:01:00 2017 +0530

----------------------------------------------------------------------
 .../java/org/apache/lens/server/api/query/QueryContext.java  | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lens/blob/6a45685b/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
----------------------------------------------------------------------
diff --git 
a/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
 
b/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
index ccdef87..466fb25 100644
--- 
a/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
+++ 
b/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
@@ -572,7 +572,7 @@ public class QueryContext extends AbstractQueryContext 
implements FailureContext
       getDriverStatus().setStatusMessage("Query " + getQueryHandleString() + " 
" + state.name().toLowerCase());
     }
     getDriverStatus().setState(state);
-    synchronized (this.driverStatusUpdateListeners) {
+    synchronized (this) {
       for (QueryDriverStatusUpdateListener listener : 
this.driverStatusUpdateListeners) {
         listener.onDriverStatusUpdated(getQueryHandle(), getDriverStatus());
       }
@@ -588,10 +588,8 @@ public class QueryContext extends AbstractQueryContext 
implements FailureContext
   }
 
 
-  public void registerStatusUpdateListener(QueryDriverStatusUpdateListener 
driverStatusUpdateListener) {
-    synchronized (this.driverStatusUpdateListeners) {
-      this.driverStatusUpdateListeners.add(driverStatusUpdateListener);
-    }
+  public synchronized void 
registerStatusUpdateListener(QueryDriverStatusUpdateListener 
driverStatusUpdateListener) {
+    this.driverStatusUpdateListeners.add(driverStatusUpdateListener);
   }
 
   @Override

Reply via email to