Merge ~niedbalski/ubuntu/+source/keystone:fix-1649616-ocata into ~ubuntu-server-dev/ubuntu/+source/keystone:stable/ocata

Proposed by Jorge Niedbalski
Status: Needs review
Proposed branch: ~niedbalski/ubuntu/+source/keystone:fix-1649616-ocata
Merge into: ~ubuntu-server-dev/ubuntu/+source/keystone:stable/ocata
Diff against target: 71 lines (+49/-0)
3 files modified
debian/changelog (+7/-0)
debian/patches/0001-Make-flushing-tokens-more-robust.patch (+41/-0)
debian/patches/series (+1/-0)
Reviewer Review Type Date Requested Status
Corey Bryant Pending
James Page Pending
Review via email: mp+324871@code.launchpad.net

Description of the change

    Cherry-picked fix for LP: #1649616.

To post a comment you must log in.
72473a1... by Jorge Niedbalski

Merge branch 'stable/ocata' of git+ssh://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/keystone into fix-1649616-ocata

Signed-off-by: Jorge Niedbalski <email address hidden>

Unmerged commits

72473a1... by Jorge Niedbalski

Merge branch 'stable/ocata' of git+ssh://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/keystone into fix-1649616-ocata

Signed-off-by: Jorge Niedbalski <email address hidden>

8e7bb2a... by Jorge Niedbalski

Cherry-picked fix for LP: #1649616.

Signed-off-by: Jorge Niedbalski <email address hidden>

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index bf5874a..8bd3cf9 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,10 @@
6+keystone (2:11.0.0-0ubuntu2) zesty; urgency=high
7+
8+ * d/patches/0001-Make-flushing-tokens-more-robust.patch: Fixes
9+ LP: #1649616.
10+
11+ -- Jorge Niedbalski <jorge.niedbalski@canonical.com> Wed, 31 May 2017 11:13:15 -0400
12+
13 keystone (2:11.0.0-0ubuntu1.1) zesty; urgency=medium
14
15 * d/keystone.conf: Fix typo in combined log format (LP: #1671509).
16diff --git a/debian/patches/0001-Make-flushing-tokens-more-robust.patch b/debian/patches/0001-Make-flushing-tokens-more-robust.patch
17new file mode 100644
18index 0000000..c36a00f
19--- /dev/null
20+++ b/debian/patches/0001-Make-flushing-tokens-more-robust.patch
21@@ -0,0 +1,41 @@
22+From 9c542d9d47b1223580baa8373b1856f4d9401617 Mon Sep 17 00:00:00 2001
23+From: Peter Sabaini <peter.sabaini@canonical.com>
24+Date: Thu, 6 Apr 2017 23:06:29 +0200
25+Subject: [PATCH] Make flushing tokens more robust
26+
27+Commit token flushes between batches in order to lower resource
28+consumption and make flushing more robust for replication
29+
30+Change-Id: I9be37e420353a336a8acd820eadd47d4bcf7324f
31+Closes-Bug: #1649616
32+---
33+ keystone/token/persistence/backends/sql.py | 6 ++++++
34+ 1 file changed, 6 insertions(+)
35+
36+diff --git a/keystone/token/persistence/backends/sql.py b/keystone/token/persistence/backends/sql.py
37+index ca89009..982ca31 100644
38+--- a/keystone/token/persistence/backends/sql.py
39++++ b/keystone/token/persistence/backends/sql.py
40+@@ -277,6 +277,8 @@ class Token(token.persistence.TokenDriverBase):
41+
42+ def flush_expired_tokens(self):
43+ with sql.session_for_write() as session:
44++ # Turn off autocommit, as it doesn't work well with batch delete
45++ session.autocommit = False
46+ dialect = session.bind.dialect.name
47+ expiry_range_func = self._expiry_range_strategy(dialect)
48+ query = session.query(TokenModel.expires)
49+@@ -286,6 +288,10 @@ class Token(token.persistence.TokenDriverBase):
50+ delete_query = query.filter(TokenModel.expires <=
51+ expiry_time)
52+ row_count = delete_query.delete(synchronize_session=False)
53++ # Explicitly commit each batch so as to free up
54++ # resources early. We do not actually need
55++ # transactional semantics here.
56++ session.commit()
57+ total_removed += row_count
58+ LOG.debug('Removed %d total expired tokens', total_removed)
59+
60+--
61+2.7.4
62+
63diff --git a/debian/patches/series b/debian/patches/series
64index 538cc44..87733b5 100644
65--- a/debian/patches/series
66+++ b/debian/patches/series
67@@ -1,3 +1,4 @@
68+0001-Make-flushing-tokens-more-robust.patch
69 sql_connection.patch
70 ubuntu-test-overrides.patch
71 default-log-dir.patch

Subscribers

People subscribed via source and target branches