FreshRSS / FreshRSS

A free, self-hostable news aggregator…
https://freshrss.org
GNU Affero General Public License v3.0
9.54k stars 816 forks source link

[Bug] Single Article Cannot be Marked As Read #6257

Open spencerhughes opened 5 months ago

spencerhughes commented 5 months ago

Describe the bug

There is a single article in a single feed in my FreshRSS instance that will not stay marked as read. If the article is read or is marked as read, when the page reloads or another feed is selected the article appears as unread again. This behaviour corresponds with an error in the logs:

FreshRSS[544]: [spencer] [Tue, 02 Apr 2024 10:12:31 -0400] [error] --- SQL error FreshRSS_EntryDAOSQLite::markRead A ["23505",7,"ERROR: duplicate key value violates unique constraint \"spencer_entry_id_feed_guid_key\"\nDETAIL: Key (id_feed, guid)=(13, https:\/\/www.smbc-comics.com\/comic\/the-rub) already exists."]

I can likely remedy this myself by manually editing the database, but I'd prefer to only do that as a last resort.

To Reproduce

I am unsure how to reproduce this error.

Expected behavior

The article should retain it's read status when being marked as read.

FreshRSS version

1.23.1

Environment information

Additional context

No response

Alkarex commented 5 months ago

I believe we might have seen another similar example before. Have you updated your PostgreSQL major version recently?

spencerhughes commented 5 months ago

No, I've been using Postgres 13 via the postgres:13-alpine Docker image for a long while.

Alkarex commented 5 months ago

I do not know how that can happen, because the database constraints are handled by PostgreSQL. Could you double-check whether you actually have 2 articles with the same feed ID and GUID?