That None comes from an internal process, gcrk. lucifer is going to fix that now. hopefully that fixes the problem we saw earlier.
2021-06-16 16751, 2021
gcrk
alright, so I will stop debugging :)
2021-06-16 16724, 2021
ruaok
we *think* that is the problem. we'll have to confirm that .
2021-06-16 16722, 2021
lucifer
outsidecontext: gcrk: could you share the json payload from funkwhale debug output for which the mbid was "None" in LB? that would help me debug and validate the fix faster.
2021-06-16 16756, 2021
outsidecontext
lucifer: I can't because I could not reproduce the issue, but maybe gcrk can
2021-06-16 16730, 2021
lucifer
ah ok.
2021-06-16 16708, 2021
lucifer
gcrk: just listening to the same file would sending its log should do methinks.
2021-06-16 16737, 2021
ruaok wonders if alastairp's brain is leaking out yet
2021-06-16 16753, 2021
alastairp
gnnngh
2021-06-16 16700, 2021
ruaok
heh
2021-06-16 16725, 2021
alastairp
it's mostly things like "I can't have the fan on in my office because the noise comes through if I need to talk, so I'm melting"
2021-06-16 16747, 2021
ruaok hands alastairp a cheap manual fan from the china shop
2021-06-16 16758, 2021
alastairp
actually, that's not a bad idea
2021-06-16 16719, 2021
texke` joined the channel
2021-06-16 16727, 2021
ruaok
I carry one with me starting this time of year
2021-06-16 16736, 2021
ruaok
esp if I need to wait for a metro
2021-06-16 16738, 2021
alastairp
nah, things are going well. I don't need to give much input, and the feedback from the reviewers has been pretty good til now
2021-06-16 16753, 2021
alastairp
we have about 4-5 hours to present 3 years of work, so not like we can get into much detail in any of it
2021-06-16 16704, 2021
texke has quit
2021-06-16 16706, 2021
texke` is now known as texke
2021-06-16 16736, 2021
gcrk
lucifer, I would, but currently my storage backend is down and I cannot play any file
2021-06-16 16738, 2021
ruaok
yep, I still hate influx.
2021-06-16 16717, 2021
ruaok
lucifer: mapping writer is now running with 3 threads, doing 40 listens/s
2021-06-16 16747, 2021
ruaok
128 days to complete the mapping.
2021-06-16 16701, 2021
lucifer
gcrk: ah ok! no worries.
2021-06-16 16745, 2021
lucifer
ruaok: oh nice! :DD that's much better. also, i had taken a look at the query you shared, no idea on how to speed that up but thanks for trying.
(more seriously - neat, every bit helps, probably :) )
2021-06-16 16741, 2021
lucifer
outsidecontext: could it possibly be an older version of the plugin? i am viewing those 5000 rows which have "None" mbid and a large number of them have that "source": "P" thing.
2021-06-16 16711, 2021
outsidecontext
unlikely. there is basically only one version, the entire commit history is exactly 2 commits :D
2021-06-16 16709, 2021
outsidecontext
the very initial version did send "recording_mbid" even if it was empty, so you could have received "recording_mbid": null in the JSON
2021-06-16 16737, 2021
outsidecontext
I guess source "P" is something else then
2021-06-16 16756, 2021
lucifer
right, that's the issue according to my current hypothesis.
2021-06-16 16745, 2021
lucifer
if recording_mbid is None, then it passes as a valid mbid and at a later step gets serialized into json where it become "None".
2021-06-16 16718, 2021
outsidecontext
the screenshot monkey shared earlier shows the payload from what gcrk had listened to, but the source is not visible in that view
2021-06-16 16740, 2021
outsidecontext
or it does not show the payload, but the data you have in the LB database actually
2021-06-16 16747, 2021
lucifer
right, that was the frontend view. i am checking the data in db.
2021-06-16 16706, 2021
outsidecontext
can you see if that one also had source P?
2021-06-16 16712, 2021
lucifer
yes it has
2021-06-16 16728, 2021
lucifer
let me clean up the file and i'll share it with you.
2021-06-16 16706, 2021
outsidecontext
ok, that definitely must be a bug elsewhere. the FW plugin never sent anything else then "Funkwhale" as source
gcrk: lucifer and I found something. the issue happens if you configure the Last.fm plugin in FW using the compatibility endpoint in ListenBrainz. If you instead configure the actual ListenBrainz plugin it will work as expected.
2021-06-16 16713, 2021
outsidecontext
It's a bug on LB side, probably with the last.fm compatibility proxy, but lucifer knows better
2021-06-16 16717, 2021
lucifer
ruaok: gcrk: outsidecontext: i tried some things with the LB api again and wasn't able to reproduce the issue. The issue only exists when using a Last.fm plugin to submit using the proxy api.
2021-06-16 16701, 2021
ruaok
oddly specific.
2021-06-16 16724, 2021
lucifer
that too when using the deprecated api compat endpoint.
that's with the audioscrobbler 1.2 API. don't know whether this also is a problem with 2.0
2021-06-16 16748, 2021
outsidecontext
but probably yes
2021-06-16 16700, 2021
outsidecontext
but that also means it is not funkwhale specific but affects all clients using the compat proxy
2021-06-16 16714, 2021
outsidecontext
at least if they send an empty value for MBID, which they probably should not do
2021-06-16 16730, 2021
yyoung joined the channel
2021-06-16 16757, 2021
lucifer
ruaok: there's another issue though. if the payload contains recording_mbid: null or "" we retain it even in the LB api. should we do something about it?
2021-06-16 16733, 2021
ruaok
I think we should drop the key if empty/null
2021-06-16 16734, 2021
lucifer
makes sense. we also have a lot data in the db which already has such mbid fields so we should modify that as well methinks.
are there plans to make acousticbrainz binaries for arm/arm64?
2021-06-16 16750, 2021
lucifer
alastairp: ^
2021-06-16 16715, 2021
lucifer
outsidecontext: i see, i think we do handle it correctly. the issue is something more subtle. i'll setup a funkwhale instance and try to reproduce the issue with the proxy api.
but i am still not sure how this went through our checks.
2021-06-16 16710, 2021
lucifer
ok! i see that now. we do not validate proxy api listens.
2021-06-16 16710, 2021
lucifer
time to dig into the AS spec and see how to propogate errors. 😞
2021-06-16 16719, 2021
outsidecontext
lucifer: or don't fail but ignore the faulty MBID. not sure, but given the many clients out there that's maybe safer?
2021-06-16 16736, 2021
outsidecontext
especially considering this is legacy API
2021-06-16 16711, 2021
outsidecontext
also last.fm itself seems to accept such requests
2021-06-16 16719, 2021
lucifer
yeah, i am not sure if much of the clients using legacy apis are even maintained.
2021-06-16 16726, 2021
outsidecontext
this
2021-06-16 16736, 2021
lucifer
last.fm probably doesn't verify mbids so it accepts the invalid stuff. we process this during msid calculation so its somewhat of an issue.
2021-06-16 16704, 2021
lucifer
considering all this, its probably best to drop invalid mbid fields but still accept the listens.
2021-06-16 16711, 2021
lucifer
ruaok: any suggestions?
2021-06-16 16715, 2021
outsidecontext
I think so
2021-06-16 16756, 2021
alastairp
tandy[m]: hi, good question. We had a look at building binaries for raspberry pi, but it didn't have sse support at the time we were looking and this had a potential to result in different calculation. we should definitely look at more "mainstream" arm chips, especially M1 but have no timeline for that yet
2021-06-16 16707, 2021
ruaok
lucifer: agreed, drop invalid MBIDs, accept listens.
2021-06-16 16741, 2021
lucifer
👍
2021-06-16 16721, 2021
nulachi joined the channel
2021-06-16 16705, 2021
tandy[m]
<alastairp "tandy: hi, good question. We had"> fair enough, i was interested in being able to run it on my server which i use to manage my music (an sbc similar to a pi, pine64 rockpro64)
2021-06-16 16755, 2021
kepstin
well, "sse" is a specific intel-architecture extension, arm chip floating point vector extensions are something different.
2021-06-16 16736, 2021
kepstin
getting bit-exact floating point is a real pain across architectures. Things that really need it often end up using software floating point in order to get exact behaviour :/
2021-06-16 16728, 2021
kepstin
(this is about acousticbrainz?)
2021-06-16 16704, 2021
kepstin
i think even on x86 platforms, different compiler versions or optimizations were causing variations in the floating point output which is why binaries were provided in the first place.
ruaok: opening a ticket for fixing existing listens, a simple update query would lock the entire table methinks degrading services so we'll have to come up with a better solution.
2021-06-16 16752, 2021
zas
bitmap, alastairp, ruaok: we lack of disk space on williams, can you check if you have stuff you can remove?
2021-06-16 16715, 2021
ruaok
lucifer: how many rows are affected?
2021-06-16 16752, 2021
ruaok
zas: I already cleaned up.
2021-06-16 16755, 2021
zas
ok, thanks
2021-06-16 16700, 2021
alastairp
zas: nothing I can see from my end
2021-06-16 16732, 2021
lucifer
ruaok: 5000 rows have mbid "None". probably many other have mbid null or "".
2021-06-16 16749, 2021
zas
bitmap, yvanzo: please have a look at williams
2021-06-16 16756, 2021
ruaok
I doubt updating 5000 rows would lock the whole table.
2021-06-16 16758, 2021
bitmap
ok
2021-06-16 16720, 2021
ruaok
but if you write a script to update row by row, it should be fine.
2021-06-16 16731, 2021
zas
ruaok: no news from hetzner, right?
2021-06-16 16739, 2021
ruaok
nothing.
2021-06-16 16746, 2021
ruaok
long 1-2 days wait time we're waiting.
2021-06-16 16757, 2021
lucifer
ah row by row makes sense.
2021-06-16 16704, 2021
ruaok
I guess our beer swilling friends have a different sense of time than we do
2021-06-16 16726, 2021
bitmap
zas: I should probably limit the number of concurrent backups stored to 1 until we have more space
2021-06-16 16730, 2021
lucifer
i was wondering why we didn't start migrating williams as boingo was cleared out days ago :)