Fix race conditions in database connection (#662)
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Tue, 9 May 2023 23:31:28 +0000 (01:31 +0200)
committerGitHub <noreply@github.com>
Tue, 9 May 2023 23:31:28 +0000 (01:31 +0200)
commit357975eba9d39d1d2b029b5b53b9876dc1617a64
tree924974ba1b0d80ac503c6c568bf58acb21907460
parent4007539225cfdaa228d1b5503f8a2a798504ec93
Fix race conditions in database connection (#662)

* fix race conditions in db additions and match logic

* extend spotify timeout

* do not crash on m4a files

* small fix for non working playlist based radio streams

* ignore unavailable player in config

* cleanup hash methods

* some low hanging fruit in preventing race conditions

* ditch databases package - use aiosqlite directly

* use hash for itemmapping

* no need for locking the provider mappoings table

* restore sync of all items

* fix audio streaming

* small bug in qobuz

* fix locking logic

* improve readability by using guards

* lint
20 files changed:
music_assistant/common/models/media_items.py
music_assistant/constants.py
music_assistant/server/controllers/cache.py
music_assistant/server/controllers/config.py
music_assistant/server/controllers/media/albums.py
music_assistant/server/controllers/media/artists.py
music_assistant/server/controllers/media/base.py
music_assistant/server/controllers/media/playlists.py
music_assistant/server/controllers/media/radio.py
music_assistant/server/controllers/media/tracks.py
music_assistant/server/controllers/music.py
music_assistant/server/helpers/audio.py
music_assistant/server/helpers/compare.py
music_assistant/server/helpers/database.py
music_assistant/server/helpers/tags.py
music_assistant/server/models/music_provider.py
music_assistant/server/providers/qobuz/__init__.py
music_assistant/server/providers/spotify/__init__.py
pyproject.toml
requirements_all.txt