You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by mo...@apache.org on 2017/09/06 15:36:05 UTC
zeppelin git commit: [ZEPPELIN-2900] Close connection on getUserList
Repository: zeppelin
Updated Branches:
refs/heads/master 629e21769 -> b14f5ab95
[ZEPPELIN-2900] Close connection on getUserList
### What is this PR for?
This PR fixed a JDBC connection leak on `GetUserList.getUserList` when the Shiro Realm is a JdbcRealm. After a while, it's not possible to even login into zeppelin.
### What type of PR is it?
Bug Fix
### Todos
N/A
### What is the Jira issue?
[ZEPPELIN-2900](https://issues.apache.org/jira/browse/ZEPPELIN-2900)
### How should this be tested?
In order to reproduce the bug follow this steps:
1. Configure zeppelin to use a JdbcRealm for authentication with a low number of connections in the connection pool.
2. Login into zeppelin and open a notebook.
3. Open the permissions form of the notebook.
4. Try to add several users to the owners list (more than the number of connections of the connection pool.
### Screenshots (if appropriate)
### Questions:
* Does the licenses files need update? No.
* Is there breaking changes for older versions? No that I'm aware.
* Does this needs documentation? No.
Author: Luis Vicente <la...@gmail.com>
Closes #2567 from lvicentesanchez/bugfix/zeppelin-2900 and squashes the following commits:
ad5bb9b [Luis Vicente] [ZEPPELIN-2900] Close connection on getUserList
Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo
Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/b14f5ab9
Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/b14f5ab9
Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/b14f5ab9
Branch: refs/heads/master
Commit: b14f5ab956caef4793dcb503d199f206984b2556
Parents: 629e217
Author: Luis Vicente <la...@gmail.com>
Authored: Tue Sep 5 15:30:10 2017 +0100
Committer: Lee moon soo <mo...@apache.org>
Committed: Wed Sep 6 08:36:01 2017 -0700
----------------------------------------------------------------------
.../src/main/java/org/apache/zeppelin/rest/GetUserList.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/b14f5ab9/zeppelin-server/src/main/java/org/apache/zeppelin/rest/GetUserList.java
----------------------------------------------------------------------
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/GetUserList.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/GetUserList.java
index 458d5bd..67d6328 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/GetUserList.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/GetUserList.java
@@ -202,6 +202,7 @@ public class GetUserList {
*/
public List<String> getUserList(JdbcRealm obj) {
List<String> userlist = new ArrayList<>();
+ Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
DataSource dataSource = null;
@@ -239,7 +240,7 @@ public class GetUserList {
}
try {
- Connection con = dataSource.getConnection();
+ con = dataSource.getConnection();
ps = con.prepareStatement(userquery);
ps.setString(1, username);
ps.setString(2, tablename);
@@ -252,6 +253,7 @@ public class GetUserList {
} finally {
JdbcUtils.closeResultSet(rs);
JdbcUtils.closeStatement(ps);
+ JdbcUtils.closeConnection(con);
}
return userlist;
}