From d51a89a40274b8451ffc12ce0845808fcc412a86 Mon Sep 17 00:00:00 2001 From: Patrick Uiterwijk Date: May 17 2017 13:54:10 +0000 Subject: Don't grab project-wide lock for issue view API calls Signed-off-by: Patrick Uiterwijk --- diff --git a/pagure/api/issue.py b/pagure/api/issue.py index 923525c..31dcfe6 100644 --- a/pagure/api/issue.py +++ b/pagure/api/issue.py @@ -27,7 +27,7 @@ from pagure.api import ( ) -def _get_repo(repo_name, username=None, namespace=None): +def _get_repo(repo_name, username=None, namespace=None, with_lock=False): """Check if repository exists and get repository name :param repo_name: name of repository :param username: @@ -37,7 +37,8 @@ def _get_repo(repo_name, username=None, namespace=None): :return: repository name """ repo = get_authorized_api_project( - SESSION, repo_name, user=username, namespace=namespace, with_lock=True) + SESSION, repo_name, user=username, namespace=namespace, + with_lock=with_lock) if repo is None: raise pagure.exceptions.APIError( @@ -193,7 +194,7 @@ def api_new_issue(repo, username=None, namespace=None): """ output = {} - repo = _get_repo(repo, username, namespace) + repo = _get_repo(repo, username, namespace, with_lock=True) _check_issue_tracker(repo) if flask.g.token.project and repo != flask.g.token.project: @@ -677,7 +678,7 @@ def api_change_status_issue(repo, issueid, username=None, namespace=None): """ output = {} - repo = _get_repo(repo, username, namespace) + repo = _get_repo(repo, username, namespace, with_lock=True) _check_issue_tracker(repo) _check_token(repo, project_token=False) @@ -795,7 +796,7 @@ def api_change_milestone_issue(repo, issueid, username=None, namespace=None): """ # noqa output = {} - repo = _get_repo(repo, username, namespace) + repo = _get_repo(repo, username, namespace, with_lock=True) _check_issue_tracker(repo) _check_token(repo) @@ -894,7 +895,7 @@ def api_comment_issue(repo, issueid, username=None, namespace=None): """ output = {} - repo = _get_repo(repo, username, namespace) + repo = _get_repo(repo, username, namespace, with_lock=True) _check_issue_tracker(repo) _check_token(repo, project_token=False) @@ -974,7 +975,7 @@ def api_assign_issue(repo, issueid, username=None, namespace=None): """ output = {} - repo = _get_repo(repo, username, namespace) + repo = _get_repo(repo, username, namespace, with_lock=True) _check_issue_tracker(repo) _check_token(repo) @@ -1072,7 +1073,7 @@ def api_subscribe_issue(repo, issueid, username=None, namespace=None): """ # noqa output = {} - repo = _get_repo(repo, username, namespace) + repo = _get_repo(repo, username, namespace, with_lock=True) _check_issue_tracker(repo) _check_token(repo) @@ -1155,7 +1156,7 @@ def api_update_custom_field( """ # noqa output = {} - repo = _get_repo(repo, username, namespace) + repo = _get_repo(repo, username, namespace, with_lock=True) _check_issue_tracker(repo) _check_token(repo)