Skip to content

Commit 17735a6

Browse files
authored
Fix: (packing) sort unconfirmed messages => order by reception_time (#751)
* Fix: (packing) sort unconfirmed messages => order by reception_time * fix test
1 parent cc12640 commit 17735a6

2 files changed

Lines changed: 14 additions & 2 deletions

File tree

src/aleph/db/accessors/messages.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,8 +272,13 @@ def get_unconfirmed_messages(
272272
)
273273
)
274274

275-
select_stmt = select(MessageDb).where(
276-
MessageDb.signature.isnot(None) & (~select_message_confirmations.exists())
275+
select_stmt = (
276+
select(MessageDb)
277+
.join(MessageStatusDb, MessageStatusDb.item_hash == MessageDb.item_hash)
278+
.where(
279+
MessageDb.signature.isnot(None) & (~select_message_confirmations.exists())
280+
)
281+
.order_by(MessageStatusDb.reception_time.asc())
277282
)
278283

279284
return (session.execute(select_stmt.limit(limit))).scalars()

tests/db/test_messages.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,13 @@ async def test_get_unconfirmed_messages(
257257
):
258258
with session_factory() as session:
259259
session.add(fixture_message)
260+
session.add(
261+
MessageStatusDb(
262+
item_hash=fixture_message.item_hash,
263+
status=MessageStatus.PROCESSED,
264+
reception_time=fixture_message.time,
265+
)
266+
)
260267
session.commit()
261268

262269
with session_factory() as session:

0 commit comments

Comments
 (0)