This has been cross posted to github as a bug report, you can view my uploaded gif showing the issue there (image was too large to upload here):
opened 04:22PM - 15 Feb 23 UTC
needs more info
**What happened**: Successfully created playlist, but it won't play saying Playl… ist not found. When I try to edit/delete the playlist it gives the same error
**What you expected to happen**:
Play the list successfully
**How to reproduce it (as minimally and precisely as possible)**:
Add list with a couple of dashboards, then try to play the playlist and get an error every time.
**Anything else we need to know?**:
**Environment**: docker
- Grafana version: v9.3.6 (978237e7cb)
- Data source type & version: N/A
- OS Grafana is installed on: docker image grafana/grafana:latest
- User OS & Browser: Chrome
- Grafana plugins: not releavnt
- Others:
![grafana](https://user-images.githubusercontent.com/88781432/219088560-4e4207e9-b0aa-4a5e-a93a-535bf8084e47.gif)
Below is the logs of the error
```
logger=context userId=1 orgId=1 uname=admin t=2023-02-15T16:23:30.122333495Z level=error msg="Playlist not found" error="Playlist not found" traceID=
logger=context userId=1 orgId=1 uname=admin t=2023-02-15T16:23:30.123118776Z level=info msg="Request Completed" method=GET path=/api/playlists/1 status=404 remote_addr=10.10.100.1 time_ms=3 duration=3.6022ms size=46 referer=https://grafana.domain.org/playlists/play/1 handler=/api/playlists/:uid
logger=context userId=1 orgId=1 uname=admin t=2023-02-15T16:23:35.546556423Z level=error msg="Playlist not found" error="Playlist not found" traceID=
logger=context userId=1 orgId=1 uname=admin t=2023-02-15T16:23:35.546679607Z level=info msg="Request Completed" method=GET path=/api/playlists/1 status=404 remote_addr=10.10.100.1 time_ms=1 duration=1.648177ms size=46 referer=https://grafana.domain.org/playlists/edit/1 handler=/api/playlists/:uid
logger=context userId=1 orgId=1 uname=admin t=2023-02-15T16:23:37.884611113Z level=info msg="Request Completed" method=GET path=/api/live/ws status=-1 remote_addr=10.10.100.1 time_ms=9 duration=9.32184ms size=0 referer= handler=/api/live/ws
logger=context userId=1 orgId=1 uname=admin t=2023-02-15T16:23:42.716635229Z level=error msg="Playlist not found" error="Playlist not found" traceID=
logger=context userId=1 orgId=1 uname=admin t=2023-02-15T16:23:42.716766455Z level=info msg="Request Completed" method=DELETE path=/api/playlists/1 status=404 remote_addr=10.10.100.1 time_ms=0 duration=912.507µs size=46 referer=https://grafana.domain.org/playlists handler=/api/playlists/:uid
logger=context userId=1 orgId=1 uname=admin t=2023-02-15T16:23:46.815033446Z level=info msg="Request Completed" method=GET path=/api/live/ws status=-1 remote_addr=10.10.100.1 time_ms=1 duration=1.621784ms size=0 referer= handler=/api/live/ws
```
Chrome console gives me these errors:
```
fetch.js:32 GET https://grafana.rsu87.org/api/playlists/1 404
(anonymous) @ fetch.js:32
e._trySubscribe @ Observable.js:38
(anonymous) @ Observable.js:32
a @ errorContext.js:19
e.subscribe @ Observable.js:23
s @ mergeInternals.js:53
(anonymous) @ mergeMap.js:14
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ share.js:60
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ filter.js:6
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ tap.js:15
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
y @ mergeInternals.js:19
g @ mergeInternals.js:14
s._next @ OperatorSubscriber.js:11
t.next @ Subscriber.js:34
(anonymous) @ innerFrom.js:51
e._trySubscribe @ Observable.js:38
(anonymous) @ Observable.js:32
a @ errorContext.js:19
e.subscribe @ Observable.js:23
s @ mergeInternals.js:53
(anonymous) @ mergeMap.js:14
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ catchError.js:9
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ takeUntil.js:8
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ throwIfEmpty.js:8
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ backend_srv.ts:99
(anonymous) @ Subscriber.js:123
t._next @ Subscriber.js:63
t.next @ Subscriber.js:34
(anonymous) @ filter.js:6
s._next @ OperatorSubscriber.js:11
t.next @ Subscriber.js:34
(anonymous) @ Subject.js:38
a @ errorContext.js:19
t.next @ Subject.js:30
(anonymous) @ ResponseQueue.ts:30
(anonymous) @ Subscriber.js:123
t._next @ Subscriber.js:63
t.next @ Subscriber.js:34
(anonymous) @ Subject.js:38
a @ errorContext.js:19
t.next @ Subject.js:30
(anonymous) @ ResponseQueue.ts:35
(anonymous) @ FetchQueueWorker.ts:54
(anonymous) @ Subscriber.js:123
t._next @ Subscriber.js:63
t.next @ Subscriber.js:34
(anonymous) @ mergeInternals.js:25
s._next @ OperatorSubscriber.js:11
t.next @ Subscriber.js:34
(anonymous) @ innerFrom.js:51
e._trySubscribe @ Observable.js:38
(anonymous) @ Observable.js:32
a @ errorContext.js:19
e.subscribe @ Observable.js:23
y @ mergeInternals.js:19
g @ mergeInternals.js:14
s._next @ OperatorSubscriber.js:11
t.next @ Subscriber.js:34
(anonymous) @ filter.js:6
s._next @ OperatorSubscriber.js:11
t.next @ Subscriber.js:34
(anonymous) @ Subject.js:38
a @ errorContext.js:19
t.next @ Subject.js:30
(anonymous) @ FetchQueue.ts:76
(anonymous) @ FetchQueue.ts:55
(anonymous) @ Subscriber.js:123
t._next @ Subscriber.js:63
t.next @ Subscriber.js:34
(anonymous) @ Subject.js:38
a @ errorContext.js:19
t.next @ Subject.js:30
(anonymous) @ FetchQueue.ts:59
(anonymous) @ backend_srv.ts:104
e._trySubscribe @ Observable.js:38
(anonymous) @ Observable.js:32
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ map.js:6
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ lastValueFrom.js:7
o @ lastValueFrom.js:4
request @ backend_srv.ts:79
get @ backend_srv.ts:391
start @ PlaylistSrv.ts:82
r @ PlaylistStartPage.tsx:8
rs @ react-dom.production.min.js:157
Wi @ react-dom.production.min.js:267
Sc @ react-dom.production.min.js:250
kc @ react-dom.production.min.js:250
wc @ react-dom.production.min.js:250
hc @ react-dom.production.min.js:243
(anonymous) @ react-dom.production.min.js:123
t.unstable_runWithPriority @ scheduler.production.min.js:18
Ho @ react-dom.production.min.js:122
Vo @ react-dom.production.min.js:123
Zo @ react-dom.production.min.js:122
lc @ react-dom.production.min.js:237
enqueueSetState @ react-dom.production.min.js:133
g.setState @ react.production.min.js:12
t @ index.js:205
(anonymous) @ index.js:215
Promise.then (async)
n._loadModule @ index.js:214
n.componentWillMount @ index.js:168
va @ react-dom.production.min.js:138
Bs @ react-dom.production.min.js:181
Wi @ react-dom.production.min.js:269
Sc @ react-dom.production.min.js:250
kc @ react-dom.production.min.js:250
wc @ react-dom.production.min.js:250
hc @ react-dom.production.min.js:243
(anonymous) @ react-dom.production.min.js:123
t.unstable_runWithPriority @ scheduler.production.min.js:18
Ho @ react-dom.production.min.js:122
Vo @ react-dom.production.min.js:123
Zo @ react-dom.production.min.js:122
ze @ react-dom.production.min.js:292
$t @ react-dom.production.min.js:73
/playlists/play/1:1 Uncaught (in promise) {status: 404, statusText: '', data: {…}, config: {…}}
```
What Grafana version and what operating system are you using?
Docker latest image, grafana v 9.3.6
What are you trying to achieve?
Trying to create and play playlists
How are you trying to achieve it?
Normal method
What happened?
Getting playlist not found error when I try to play, edit, or delete a playlist
What did you expect to happen?
Expect to play, edit, delete list after created.
Did you receive any errors in the Grafana UI or in related logs? If so, please tell us exactly what they were.
No errors in UI besides Playlist not found
Chrome console gives these errors:
fetch.js:32 GET https://grafana.rsu87.org/api/playlists/1 404
(anonymous) @ fetch.js:32
e._trySubscribe @ Observable.js:38
(anonymous) @ Observable.js:32
a @ errorContext.js:19
e.subscribe @ Observable.js:23
s @ mergeInternals.js:53
(anonymous) @ mergeMap.js:14
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ share.js:60
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ filter.js:6
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ tap.js:15
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
y @ mergeInternals.js:19
g @ mergeInternals.js:14
s._next @ OperatorSubscriber.js:11
t.next @ Subscriber.js:34
(anonymous) @ innerFrom.js:51
e._trySubscribe @ Observable.js:38
(anonymous) @ Observable.js:32
a @ errorContext.js:19
e.subscribe @ Observable.js:23
s @ mergeInternals.js:53
(anonymous) @ mergeMap.js:14
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ catchError.js:9
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ takeUntil.js:8
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ throwIfEmpty.js:8
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ backend_srv.ts:99
(anonymous) @ Subscriber.js:123
t._next @ Subscriber.js:63
t.next @ Subscriber.js:34
(anonymous) @ filter.js:6
s._next @ OperatorSubscriber.js:11
t.next @ Subscriber.js:34
(anonymous) @ Subject.js:38
a @ errorContext.js:19
t.next @ Subject.js:30
(anonymous) @ ResponseQueue.ts:30
(anonymous) @ Subscriber.js:123
t._next @ Subscriber.js:63
t.next @ Subscriber.js:34
(anonymous) @ Subject.js:38
a @ errorContext.js:19
t.next @ Subject.js:30
(anonymous) @ ResponseQueue.ts:35
(anonymous) @ FetchQueueWorker.ts:54
(anonymous) @ Subscriber.js:123
t._next @ Subscriber.js:63
t.next @ Subscriber.js:34
(anonymous) @ mergeInternals.js:25
s._next @ OperatorSubscriber.js:11
t.next @ Subscriber.js:34
(anonymous) @ innerFrom.js:51
e._trySubscribe @ Observable.js:38
(anonymous) @ Observable.js:32
a @ errorContext.js:19
e.subscribe @ Observable.js:23
y @ mergeInternals.js:19
g @ mergeInternals.js:14
s._next @ OperatorSubscriber.js:11
t.next @ Subscriber.js:34
(anonymous) @ filter.js:6
s._next @ OperatorSubscriber.js:11
t.next @ Subscriber.js:34
(anonymous) @ Subject.js:38
a @ errorContext.js:19
t.next @ Subject.js:30
(anonymous) @ FetchQueue.ts:76
(anonymous) @ FetchQueue.ts:55
(anonymous) @ Subscriber.js:123
t._next @ Subscriber.js:63
t.next @ Subscriber.js:34
(anonymous) @ Subject.js:38
a @ errorContext.js:19
t.next @ Subject.js:30
(anonymous) @ FetchQueue.ts:59
(anonymous) @ backend_srv.ts:104
e._trySubscribe @ Observable.js:38
(anonymous) @ Observable.js:32
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ map.js:6
(anonymous) @ lift.js:10
(anonymous) @ Observable.js:27
a @ errorContext.js:19
e.subscribe @ Observable.js:23
(anonymous) @ lastValueFrom.js:7
o @ lastValueFrom.js:4
request @ backend_srv.ts:79
get @ backend_srv.ts:391
start @ PlaylistSrv.ts:82
r @ PlaylistStartPage.tsx:8
rs @ react-dom.production.min.js:157
Wi @ react-dom.production.min.js:267
Sc @ react-dom.production.min.js:250
kc @ react-dom.production.min.js:250
wc @ react-dom.production.min.js:250
hc @ react-dom.production.min.js:243
(anonymous) @ react-dom.production.min.js:123
t.unstable_runWithPriority @ scheduler.production.min.js:18
Ho @ react-dom.production.min.js:122
Vo @ react-dom.production.min.js:123
Zo @ react-dom.production.min.js:122
lc @ react-dom.production.min.js:237
enqueueSetState @ react-dom.production.min.js:133
g.setState @ react.production.min.js:12
t @ index.js:205
(anonymous) @ index.js:215
Promise.then (async)
n._loadModule @ index.js:214
n.componentWillMount @ index.js:168
va @ react-dom.production.min.js:138
Bs @ react-dom.production.min.js:181
Wi @ react-dom.production.min.js:269
Sc @ react-dom.production.min.js:250
kc @ react-dom.production.min.js:250
wc @ react-dom.production.min.js:250
hc @ react-dom.production.min.js:243
(anonymous) @ react-dom.production.min.js:123
t.unstable_runWithPriority @ scheduler.production.min.js:18
Ho @ react-dom.production.min.js:122
Vo @ react-dom.production.min.js:123
Zo @ react-dom.production.min.js:122
ze @ react-dom.production.min.js:292
$t @ react-dom.production.min.js:73
/playlists/play/1:1 Uncaught (in promise) {status: 404, statusText: '', data: {…}, config: {…}}
I have downgraded to 8.5.16 and still the same issue.
Also, using the api gives me the same error:
curl --location --request DELETE 'https://grafana.domain.org/api/playlists/2' --header 'Authorization: Basic redacted'
result:
{
"message": "Playlist not found",
"traceID": ""
}
Turns out this was my fault. I had improperly mounted a docker volume.