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