Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit 8254986

Browse files
committed
Fixup ID gen tests
1 parent 2cd097e commit 8254986

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

synapse/storage/util/sequence.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,8 @@ def check_consistency(
126126
if max_stream_id > last_value:
127127
logger.warning(
128128
"Postgres sequence %s is behind table %s: %d < %d",
129+
self._sequence_name,
130+
table,
129131
last_value,
130132
max_stream_id,
131133
)

tests/storage/test_id_generators.py

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -199,10 +199,17 @@ def test_multi_instance(self):
199199
first_id_gen = self._create_id_generator("first", writers=["first", "second"])
200200
second_id_gen = self._create_id_generator("second", writers=["first", "second"])
201201

202-
self.assertEqual(first_id_gen.get_positions(), {"first": 3, "second": 7})
203-
self.assertEqual(first_id_gen.get_current_token_for_writer("first"), 3)
202+
# The first ID gen will notice that it can advance its token to 7 as it
203+
# has no in progress writes...
204+
self.assertEqual(first_id_gen.get_positions(), {"first": 7, "second": 7})
205+
self.assertEqual(first_id_gen.get_current_token_for_writer("first"), 7)
204206
self.assertEqual(first_id_gen.get_current_token_for_writer("second"), 7)
205207

208+
# ... but the second ID gen doesn't know that.
209+
self.assertEqual(second_id_gen.get_positions(), {"first": 3, "second": 7})
210+
self.assertEqual(second_id_gen.get_current_token_for_writer("first"), 3)
211+
self.assertEqual(second_id_gen.get_current_token_for_writer("second"), 7)
212+
206213
# Try allocating a new ID gen and check that we only see position
207214
# advanced after we leave the context manager.
208215

@@ -211,7 +218,7 @@ async def _get_next_async():
211218
self.assertEqual(stream_id, 8)
212219

213220
self.assertEqual(
214-
first_id_gen.get_positions(), {"first": 3, "second": 7}
221+
first_id_gen.get_positions(), {"first": 7, "second": 7}
215222
)
216223

217224
self.get_success(_get_next_async())
@@ -279,7 +286,7 @@ def test_get_persisted_upto_position(self):
279286
self._insert_row_with_id("first", 3)
280287
self._insert_row_with_id("second", 5)
281288

282-
id_gen = self._create_id_generator("first", writers=["first", "second"])
289+
id_gen = self._create_id_generator("worker", writers=["first", "second"])
283290

284291
self.assertEqual(id_gen.get_positions(), {"first": 3, "second": 5})
285292

@@ -319,14 +326,14 @@ def test_get_persisted_upto_position_get_next(self):
319326

320327
id_gen = self._create_id_generator("first", writers=["first", "second"])
321328

322-
self.assertEqual(id_gen.get_positions(), {"first": 3, "second": 5})
329+
self.assertEqual(id_gen.get_positions(), {"first": 5, "second": 5})
323330

324-
self.assertEqual(id_gen.get_persisted_upto_position(), 3)
331+
self.assertEqual(id_gen.get_persisted_upto_position(), 5)
325332

326333
async def _get_next_async():
327334
async with id_gen.get_next() as stream_id:
328335
self.assertEqual(stream_id, 6)
329-
self.assertEqual(id_gen.get_persisted_upto_position(), 3)
336+
self.assertEqual(id_gen.get_persisted_upto_position(), 5)
330337

331338
self.get_success(_get_next_async())
332339

@@ -388,7 +395,7 @@ def test_writer_config_change(self):
388395
self._insert_row_with_id("second", 5)
389396

390397
# Initial config has two writers
391-
id_gen = self._create_id_generator("first", writers=["first", "second"])
398+
id_gen = self._create_id_generator("worker", writers=["first", "second"])
392399
self.assertEqual(id_gen.get_persisted_upto_position(), 3)
393400
self.assertEqual(id_gen.get_current_token_for_writer("first"), 3)
394401
self.assertEqual(id_gen.get_current_token_for_writer("second"), 5)
@@ -568,7 +575,7 @@ async def _get_next_async2():
568575

569576
self.get_success(_get_next_async2())
570577

571-
self.assertEqual(id_gen_1.get_positions(), {"first": -1, "second": -2})
578+
self.assertEqual(id_gen_1.get_positions(), {"first": -2, "second": -2})
572579
self.assertEqual(id_gen_2.get_positions(), {"first": -1, "second": -2})
573580
self.assertEqual(id_gen_1.get_persisted_upto_position(), -2)
574581
self.assertEqual(id_gen_2.get_persisted_upto_position(), -2)

0 commit comments

Comments
 (0)