CyferShepard / Jellystat

Jellystat is a free and open source Statistics App for Jellyfin
MIT License
1.1k stars 33 forks source link

Complete Sync with Jellyfin never completes successfully, several problems because of that? #178

Open Glynax opened 8 months ago

Glynax commented 8 months ago

Describe the bug A clear and concise description of what the bug is. I -think- all of these issues are related to the complete sync never finishing. I'm not entirely sure but I think all my historical data and stats are from the import playback reporting plugin data, I can't tell. Sorry for the incoming wall of text.

Environment Details (please complete the following information):

To Reproduce Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error So initially I gave it about a week to let jellystat churn through my admittedly large libraries. And then I noticed in the logs the complete sync failed with a blank box when expanded. Well now that log is missing and any time I try to start the complete sync it just ignores the command and does nothing. Nothing in the logs when I click on it either. The issue is most if not all of my libraries are off. Significantly. I know there's gonna be a few discrepancies for things I just haven't caught in jellyfin yet but for example all the TOTALLY empty libraries in the attached pictures below.

Expected behavior A clear and concise description of what you expected to happen. I'm expecting the libraries to match jellyfins so I can start working on fixing whatever doesn't match up with plex. Also why are my "most active users" all blank in name? It's almost like the watch statistics are only updating for that one anime that DID happen to sync. I'm honestly not sure if the watch statistics are working at all because nothing seems to update except my recently added and I see live sessions most of the day. Also unsure why but I don't always get an IP address for sessions in jellystat

Screenshots If applicable, add screenshots to help explain your problem.

Task Logs If applicable, add Task Logs for your problem.

Jellystat container logs

[JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31) [JELLYSTAT]: Error occurred while executing query: numeric field overflow TypeError: Cannot read properties of undefined (reading 'filter') at /app/backend/tasks/ActivityMonitor.js:160:20 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Timeout._onTimeout (/app/backend/tasks/ActivityMonitor.js:157:31)

Container Logs If applicable, add Container Logs for your problem.

DB container logs

2024-03-20 02:51:13.619 UTC [174340] STATEMENT: SELECT FROM jf_recent_playback_activity(1) 2024-03-20 02:51:14.606 UTC [174341] ERROR: numeric field overflow 2024-03-20 02:51:14.606 UTC [174341] DETAIL: A field with precision 10, scale 2 must round to an absolute value less than 10^8. 2024-03-20 02:51:14.606 UTC [174341] CONTEXT: SQL statement "WITH rankedactivities AS ( SELECT COALESCE(i."RunTimeTicks", e."RunTimeTicks") AS "RunTimeTicks", ((a."PlaybackDuration" 10000000)::numeric(100,0) / COALESCE(i."RunTimeTicks"::numeric(100,0), e."RunTimeTicks"::numeric(100,0), 1.0) 100::numeric)::numeric(10,2) AS "Progress", a."Id", a."IsPaused", a."UserId", a."UserName", a."Client", a."DeviceName", a."DeviceId", a."ApplicationVersion", a."NowPlayingItemId", a."NowPlayingItemName", a."SeasonId", a."SeriesName", a."EpisodeId", a."PlaybackDuration", a."ActivityDateInserted", a."PlayMethod", a."MediaStreams", a."TranscodingInfo", a."PlayState", a."OriginalContainer", a."RemoteEndPoint", a."ServerId", a.imported, row_number() OVER (PARTITION BY a."NowPlayingItemId",a."EpisodeId",a."UserId" ORDER BY a."ActivityDateInserted" DESC) AS rownum FROM jf_playback_activity a LEFT JOIN jf_library_items i ON a."NowPlayingItemId" = i."Id" LEFT JOIN jf_library_episodes e ON a."EpisodeId" = e."EpisodeId" WHERE a."ActivityDateInserted" > (CURRENT_TIMESTAMP - (hour_offset || ' hours')::interval) ORDER BY a."ActivityDateInserted" DESC ) SELECT FROM rankedactivities WHERE rankedactivities.rownum = 1" PL/pgSQL function jf_recent_playback_activity(integer) line 3 at RETURN QUERY 2024-03-20 02:51:14.606 UTC [174341] STATEMENT: SELECT FROM jf_recent_playback_activity(1) 2024-03-20 02:51:15.607 UTC [174344] ERROR: numeric field overflow 2024-03-20 02:51:15.607 UTC [174344] DETAIL: A field with precision 10, scale 2 must round to an absolute value less than 10^8. 2024-03-20 02:51:15.607 UTC [174344] CONTEXT: SQL statement "WITH rankedactivities AS ( SELECT COALESCE(i."RunTimeTicks", e."RunTimeTicks") AS "RunTimeTicks", ((a."PlaybackDuration" 10000000)::numeric(100,0) / COALESCE(i."RunTimeTicks"::numeric(100,0), e."RunTimeTicks"::numeric(100,0), 1.0) 100::numeric)::numeric(10,2) AS "Progress", a."Id", a."IsPaused", a."UserId", a."UserName", a."Client", a."DeviceName", a."DeviceId", a."ApplicationVersion", a."NowPlayingItemId", a."NowPlayingItemName", a."SeasonId", a."SeriesName", a."EpisodeId", a."PlaybackDuration", a."ActivityDateInserted", a."PlayMethod", a."MediaStreams", a."TranscodingInfo", a."PlayState", a."OriginalContainer", a."RemoteEndPoint", a."ServerId", a.imported, row_number() OVER (PARTITION BY a."NowPlayingItemId",a."EpisodeId",a."UserId" ORDER BY a."ActivityDateInserted" DESC) AS rownum FROM jf_playback_activity a LEFT JOIN jf_library_items i ON a."NowPlayingItemId" = i."Id" LEFT JOIN jf_library_episodes e ON a."EpisodeId" = e."EpisodeId" WHERE a."ActivityDateInserted" > (CURRENT_TIMESTAMP - (hour_offset || ' hours')::interval) ORDER BY a."ActivityDateInserted" DESC ) SELECT FROM rankedactivities WHERE rankedactivities.rownum = 1" PL/pgSQL function jf_recent_playback_activity(integer) line 3 at RETURN QUERY 2024-03-20 02:51:15.607 UTC [174344] STATEMENT: SELECT FROM jf_recent_playback_activity(1) 2024-03-20 02:51:16.603 UTC [174343] ERROR: numeric field overflow 2024-03-20 02:51:16.603 UTC [174343] DETAIL: A field with precision 10, scale 2 must round to an absolute value less than 10^8. 2024-03-20 02:51:16.603 UTC [174343] CONTEXT: SQL statement "WITH rankedactivities AS ( SELECT COALESCE(i."RunTimeTicks", e."RunTimeTicks") AS "RunTimeTicks", ((a."PlaybackDuration" 10000000)::numeric(100,0) / COALESCE(i."RunTimeTicks"::numeric(100,0), e."RunTimeTicks"::numeric(100,0), 1.0) 100::numeric)::numeric(10,2) AS "Progress", a."Id", a."IsPaused", a."UserId", a."UserName", a."Client", a."DeviceName", a."DeviceId", a."ApplicationVersion", a."NowPlayingItemId", a."NowPlayingItemName", a."SeasonId", a."SeriesName", a."EpisodeId", a."PlaybackDuration", a."ActivityDateInserted", a."PlayMethod", a."MediaStreams", a."TranscodingInfo", a."PlayState", a."OriginalContainer", a."RemoteEndPoint", a."ServerId", a.imported, row_number() OVER (PARTITION BY a."NowPlayingItemId",a."EpisodeId",a."UserId" ORDER BY a."ActivityDateInserted" DESC) AS rownum FROM jf_playback_activity a LEFT JOIN jf_library_items i ON a."NowPlayingItemId" = i."Id" LEFT JOIN jf_library_episodes e ON a."EpisodeId" = e."EpisodeId" WHERE a."ActivityDateInserted" > (CURRENT_TIMESTAMP - (hour_offset || ' hours')::interval) ORDER BY a."ActivityDateInserted" DESC ) SELECT FROM rankedactivities WHERE rankedactivities.rownum = 1" PL/pgSQL function jf_recent_playback_activity(integer) line 3 at RETURN QUERY 2024-03-20 02:51:16.603 UTC [174343] STATEMENT: SELECT FROM jf_recent_playback_activity(1) 2024-03-20 02:51:17.593 UTC [174342] ERROR: numeric field overflow 2024-03-20 02:51:17.593 UTC [174342] DETAIL: A field with precision 10, scale 2 must round to an absolute value less than 10^8. 2024-03-20 02:51:17.593 UTC [174342] CONTEXT: SQL statement "WITH rankedactivities AS ( SELECT COALESCE(i."RunTimeTicks", e."RunTimeTicks") AS "RunTimeTicks", ((a."PlaybackDuration" 10000000)::numeric(100,0) / COALESCE(i."RunTimeTicks"::numeric(100,0), e."RunTimeTicks"::numeric(100,0), 1.0) 100::numeric)::numeric(10,2) AS "Progress", a."Id", a."IsPaused", a."UserId", a."UserName", a."Client", a."DeviceName", a."DeviceId", a."ApplicationVersion", a."NowPlayingItemId", a."NowPlayingItemName", a."SeasonId", a."SeriesName", a."EpisodeId", a."PlaybackDuration", a."ActivityDateInserted", a."PlayMethod", a."MediaStreams", a."TranscodingInfo", a."PlayState", a."OriginalContainer", a."RemoteEndPoint", a."ServerId", a.imported, row_number() OVER (PARTITION BY a."NowPlayingItemId",a."EpisodeId",a."UserId" ORDER BY a."ActivityDateInserted" DESC) AS rownum FROM jf_playback_activity a LEFT JOIN jf_library_items i ON a."NowPlayingItemId" = i."Id" LEFT JOIN jf_library_episodes e ON a."EpisodeId" = e."EpisodeId" WHERE a."ActivityDateInserted" > (CURRENT_TIMESTAMP - (hour_offset || ' hours')::interval) ORDER BY a."ActivityDateInserted" DESC ) SELECT FROM rankedactivities WHERE rankedactivities.rownum = 1" PL/pgSQL function jf_recent_playback_activity(integer) line 3 at RETURN QUERY 2024-03-20 02:51:17.593 UTC [174342] STATEMENT: SELECT FROM jf_recent_playback_activity(1) 2024-03-20 02:51:18.613 UTC [174345] ERROR: numeric field overflow 2024-03-20 02:51:18.613 UTC [174345] DETAIL: A field with precision 10, scale 2 must round to an absolute value less than 10^8. 2024-03-20 02:51:18.613 UTC [174345] CONTEXT: SQL statement "WITH rankedactivities AS ( SELECT COALESCE(i."RunTimeTicks", e."RunTimeTicks") AS "RunTimeTicks", ((a."PlaybackDuration" 10000000)::numeric(100,0) / COALESCE(i."RunTimeTicks"::numeric(100,0), e."RunTimeTicks"::numeric(100,0), 1.0) 100::numeric)::numeric(10,2) AS "Progress", a."Id", a."IsPaused", a."UserId", a."UserName", a."Client", a."DeviceName", a."DeviceId", a."ApplicationVersion", a."NowPlayingItemId", a."NowPlayingItemName", a."SeasonId", a."SeriesName", a."EpisodeId", a."PlaybackDuration", a."ActivityDateInserted", a."PlayMethod", a."MediaStreams", a."TranscodingInfo", a."PlayState", a."OriginalContainer", a."RemoteEndPoint", a."ServerId", a.imported, row_number() OVER (PARTITION BY a."NowPlayingItemId",a."EpisodeId",a."UserId" ORDER BY a."ActivityDateInserted" DESC) AS rownum FROM jf_playback_activity a LEFT JOIN jf_library_items i ON a."NowPlayingItemId" = i."Id" LEFT JOIN jf_library_episodes e ON a."EpisodeId" = e."EpisodeId" WHERE a."ActivityDateInserted" > (CURRENT_TIMESTAMP - (hour_offset || ' hours')::interval) ORDER BY a."ActivityDateInserted" DESC ) SELECT FROM rankedactivities WHERE rankedactivities.rownum = 1" PL/pgSQL function jf_recent_playback_activity(integer) line 3 at RETURN QUERY 2024-03-20 02:51:18.613 UTC [174345] STATEMENT: SELECT FROM jf_recent_playback_activity(1) 2024-03-20 02:51:19.603 UTC [174346] ERROR: numeric field overflow 2024-03-20 02:51:19.603 UTC [174346] DETAIL: A field with precision 10, scale 2 must round to an absolute value less than 10^8. 2024-03-20 02:51:19.603 UTC [174346] CONTEXT: SQL statement "WITH rankedactivities AS ( SELECT COALESCE(i."RunTimeTicks", e."RunTimeTicks") AS "RunTimeTicks", ((a."PlaybackDuration" 10000000)::numeric(100,0) / COALESCE(i."RunTimeTicks"::numeric(100,0), e."RunTimeTicks"::numeric(100,0), 1.0) 100::numeric)::numeric(10,2) AS "Progress", a."Id", a."IsPaused", a."UserId", a."UserName", a."Client", a."DeviceName", a."DeviceId", a."ApplicationVersion", a."NowPlayingItemId", a."NowPlayingItemName", a."SeasonId", a."SeriesName", a."EpisodeId", a."PlaybackDuration", a."ActivityDateInserted", a."PlayMethod", a."MediaStreams", a."TranscodingInfo", a."PlayState", a."OriginalContainer", a."RemoteEndPoint", a."ServerId", a.imported, row_number() OVER (PARTITION BY a."NowPlayingItemId",a."EpisodeId",a."UserId" ORDER BY a."ActivityDateInserted" DESC) AS rownum FROM jf_playback_activity a LEFT JOIN jf_library_items i ON a."NowPlayingItemId" = i."Id" LEFT JOIN jf_library_episodes e ON a."EpisodeId" = e."EpisodeId" WHERE a."ActivityDateInserted" > (CURRENT_TIMESTAMP - (hour_offset || ' hours')::interval) ORDER BY a."ActivityDateInserted" DESC ) SELECT FROM rankedactivities WHERE rankedactivities.rownum = 1" PL/pgSQL function jf_recent_playback_activity(integer) line 3 at RETURN QUERY 2024-03-20 02:51:19.603 UTC [174346] STATEMENT: SELECT FROM jf_recent_playback_activity(1) 2024-03-20 02:51:20.610 UTC [174348] ERROR: numeric field overflow 2024-03-20 02:51:20.610 UTC [174348] DETAIL: A field with precision 10, scale 2 must round to an absolute value less than 10^8. 2024-03-20 02:51:20.610 UTC [174348] CONTEXT: SQL statement "WITH rankedactivities AS ( SELECT COALESCE(i."RunTimeTicks", e."RunTimeTicks") AS "RunTimeTicks", ((a."PlaybackDuration" 10000000)::numeric(100,0) / COALESCE(i."RunTimeTicks"::numeric(100,0), e."RunTimeTicks"::numeric(100,0), 1.0) 100::numeric)::numeric(10,2) AS "Progress", a."Id", a."IsPaused", a."UserId", a."UserName", a."Client", a."DeviceName", a."DeviceId", a."ApplicationVersion", a."NowPlayingItemId", a."NowPlayingItemName", a."SeasonId", a."SeriesName", a."EpisodeId", a."PlaybackDuration", a."ActivityDateInserted", a."PlayMethod", a."MediaStreams", a."TranscodingInfo", a."PlayState", a."OriginalContainer", a."RemoteEndPoint", a."ServerId", a.imported, row_number() OVER (PARTITION BY a."NowPlayingItemId",a."EpisodeId",a."UserId" ORDER BY a."ActivityDateInserted" DESC) AS rownum FROM jf_playback_activity a LEFT JOIN jf_library_items i ON a."NowPlayingItemId" = i."Id" LEFT JOIN jf_library_episodes e ON a."EpisodeId" = e."EpisodeId" WHERE a."ActivityDateInserted" > (CURRENT_TIMESTAMP - (hour_offset || ' hours')::interval) ORDER BY a."ActivityDateInserted" DESC ) SELECT FROM rankedactivities WHERE rankedactivities.rownum = 1" PL/pgSQL function jf_recent_playback_activity(integer) line 3 at RETURN QUERY 2024-03-20 02:51:20.610 UTC [174348] STATEMENT: SELECT FROM jf_recent_playback_activity(1) 2024-03-20 02:51:21.612 UTC [174349] ERROR: numeric field overflow 2024-03-20 02:51:21.612 UTC [174349] DETAIL: A field with precision 10, scale 2 must round to an absolute value less than 10^8. 2024-03-20 02:51:21.612 UTC [174349] CONTEXT: SQL statement "WITH rankedactivities AS ( SELECT COALESCE(i."RunTimeTicks", e."RunTimeTicks") AS "RunTimeTicks", ((a."PlaybackDuration" 10000000)::numeric(100,0) / COALESCE(i."RunTimeTicks"::numeric(100,0), e."RunTimeTicks"::numeric(100,0), 1.0) 100::numeric)::numeric(10,2) AS "Progress", a."Id", a."IsPaused", a."UserId", a."UserName", a."Client", a."DeviceName", a."DeviceId", a."ApplicationVersion", a."NowPlayingItemId", a."NowPlayingItemName", a."SeasonId", a."SeriesName", a."EpisodeId", a."PlaybackDuration", a."ActivityDateInserted", a."PlayMethod", a."MediaStreams", a."TranscodingInfo", a."PlayState", a."OriginalContainer", a."RemoteEndPoint", a."ServerId", a.imported, row_number() OVER (PARTITION BY a."NowPlayingItemId",a."EpisodeId",a."UserId" ORDER BY a."ActivityDateInserted" DESC) AS rownum FROM jf_playback_activity a LEFT JOIN jf_library_items i ON a."NowPlayingItemId" = i."Id" LEFT JOIN jf_library_episodes e ON a."EpisodeId" = e."EpisodeId" WHERE a."ActivityDateInserted" > (CURRENT_TIMESTAMP - (hour_offset || ' hours')::interval) ORDER BY a."ActivityDateInserted" DESC ) SELECT FROM rankedactivities WHERE rankedactivities.rownum = 1" PL/pgSQL function jf_recent_playback_activity(integer) line 3 at RETURN QUERY 2024-03-20 02:51:21.612 UTC [174349] STATEMENT: SELECT FROM jf_recent_playback_activity(1) 2024-03-20 02:51:22.617 UTC [174350] ERROR: numeric field overflow 2024-03-20 02:51:22.617 UTC [174350] DETAIL: A field with precision 10, scale 2 must round to an absolute value less than 10^8. 2024-03-20 02:51:22.617 UTC [174350] CONTEXT: SQL statement "WITH rankedactivities AS ( SELECT COALESCE(i."RunTimeTicks", e."RunTimeTicks") AS "RunTimeTicks", ((a."PlaybackDuration" 10000000)::numeric(100,0) / COALESCE(i."RunTimeTicks"::numeric(100,0), e."RunTimeTicks"::numeric(100,0), 1.0) 100::numeric)::numeric(10,2) AS "Progress", a."Id", a."IsPaused", a."UserId", a."UserName", a."Client", a."DeviceName", a."DeviceId", a."ApplicationVersion", a."NowPlayingItemId", a."NowPlayingItemName", a."SeasonId", a."SeriesName", a."EpisodeId", a."PlaybackDuration", a."ActivityDateInserted", a."PlayMethod", a."MediaStreams", a."TranscodingInfo", a."PlayState", a."OriginalContainer", a."RemoteEndPoint", a."ServerId", a.imported, row_number() OVER (PARTITION BY a."NowPlayingItemId",a."EpisodeId",a."UserId" ORDER BY a."ActivityDateInserted" DESC) AS rownum FROM jf_playback_activity a LEFT JOIN jf_library_items i ON a."NowPlayingItemId" = i."Id" LEFT JOIN jf_library_episodes e ON a."EpisodeId" = e."EpisodeId" WHERE a."ActivityDateInserted" > (CURRENT_TIMESTAMP - (hour_offset || ' hours')::interval) ORDER BY a."ActivityDateInserted" DESC ) SELECT FROM rankedactivities WHERE rankedactivities.rownum = 1" PL/pgSQL function jf_recent_playback_activity(integer) line 3 at RETURN QUERY 2024-03-20 02:51:22.617 UTC [174350] STATEMENT: SELECT FROM jf_recent_playback_activity(1) 2024-03-20 02:51:23.605 UTC [174351] ERROR: numeric field overflow 2024-03-20 02:51:23.605 UTC [174351] DETAIL: A field with precision 10, scale 2 must round to an absolute value less than 10^8. 2024-03-20 02:51:23.605 UTC [174351] CONTEXT: SQL statement "WITH rankedactivities AS ( SELECT COALESCE(i."RunTimeTicks", e."RunTimeTicks") AS "RunTimeTicks", ((a."PlaybackDuration" 10000000)::numeric(100,0) / COALESCE(i."RunTimeTicks"::numeric(100,0), e."RunTimeTicks"::numeric(100,0), 1.0) 100::numeric)::numeric(10,2) AS "Progress", a."Id", a."IsPaused", a."UserId", a."UserName", a."Client", a."DeviceName", a."DeviceId", a."ApplicationVersion", a."NowPlayingItemId", a."NowPlayingItemName", a."SeasonId", a."SeriesName", a."EpisodeId", a."PlaybackDuration", a."ActivityDateInserted", a."PlayMethod", a."MediaStreams", a."TranscodingInfo", a."PlayState", a."OriginalContainer", a."RemoteEndPoint", a."ServerId", a.imported, row_number() OVER (PARTITION BY a."NowPlayingItemId",a."EpisodeId",a."UserId" ORDER BY a."ActivityDateInserted" DESC) AS rownum FROM jf_playback_activity a LEFT JOIN jf_library_items i ON a."NowPlayingItemId" = i."Id" LEFT JOIN jf_library_episodes e ON a."EpisodeId" = e."EpisodeId" WHERE a."ActivityDateInserted" > (CURRENT_TIMESTAMP - (hour_offset || ' hours')::interval) ORDER BY a."ActivityDateInserted" DESC ) SELECT FROM rankedactivities WHERE rankedactivities.rownum = 1" PL/pgSQL function jf_recent_playback_activity(integer) line 3 at RETURN QUERY 2024-03-20 02:51:23.605 UTC [174351] STATEMENT: SELECT FROM jf_recent_playback_activity(1) 2024-03-20 02:51:24.607 UTC [174352] ERROR: numeric field overflow 2024-03-20 02:51:24.607 UTC [174352] DETAIL: A field with precision 10, scale 2 must round to an absolute value less than 10^8. 2024-03-20 02:51:24.607 UTC [174352] CONTEXT: SQL statement "WITH rankedactivities AS ( SELECT COALESCE(i."RunTimeTicks", e."RunTimeTicks") AS "RunTimeTicks", ((a."PlaybackDuration" 10000000)::numeric(100,0) / COALESCE(i."RunTimeTicks"::numeric(100,0), e."RunTimeTicks"::numeric(100,0), 1.0) 100::numeric)::numeric(10,2) AS "Progress", a."Id", a."IsPaused", a."UserId", a."UserName", a."Client", a."DeviceName", a."DeviceId", a."ApplicationVersion", a."NowPlayingItemId", a."NowPlayingItemName", a."SeasonId", a."SeriesName", a."EpisodeId", a."PlaybackDuration", a."ActivityDateInserted", a."PlayMethod", a."MediaStreams", a."TranscodingInfo", a."PlayState", a."OriginalContainer", a."RemoteEndPoint", a."ServerId", a.imported, row_number() OVER (PARTITION BY a."NowPlayingItemId",a."EpisodeId",a."UserId" ORDER BY a."ActivityDateInserted" DESC) AS rownum FROM jf_playback_activity a LEFT JOIN jf_library_items i ON a."NowPlayingItemId" = i."Id" LEFT JOIN jf_library_episodes e ON a."EpisodeId" = e."EpisodeId" WHERE a."ActivityDateInserted" > (CURRENT_TIMESTAMP - (hour_offset || ' hours')::interval) ORDER BY a."ActivityDateInserted" DESC ) SELECT FROM rankedactivities WHERE rankedactivities.rownum = 1" PL/pgSQL function jf_recent_playback_activity(integer) line 3 at RETURN QUERY 2024-03-20 02:51:24.607 UTC [174352] STATEMENT: SELECT * FROM jf_recent_playback_activity(1)

Additional context Add any other context about the problem here. image image image image image image image image

Glynax commented 6 months ago

I just want to note I've seen a few more things but I am unsure if they are related to this issue or not. For example image Those 2000 plays are definitely not right. I don't know what glitched out but I don't think my servers even been up long enough for one of those to be possible let alone two. By two specific people. They aren't watching those shows 24/7 not even every day image Going into the activity it seems like dozens (perhaps all of them) are just duplicates of this one episode with the same exact timestamp and information. User. IP, everything's the same.

Also I'm not sure if this is intended but apparently I have too many libraries to fit inside this box image