atj: haproxy is good at load balancing, we use it too for different things, but, we use openresty for historical reasons, our gateways do much more than load balancing. That said, we are hitting the limits of this approach, hence current discussions
atj
ruaok: generally KISS is the best option, so if you can get away with IP RR then that's ideal. However writing code to reliably detect application state and invoke IP failovers via a third party API sounds less than trivial to me.
I'm sure zas will be able to manage it though :)
ruaok
Don't get us wrong.. we're lazy. We want kiss. We just havent figured out how to get there.
aerozol has quit
I think we may need to move that wiki page somewhere where others can read it too, so we can get input from folks like atj
atj
ruaok: IME sometimes KISS isn't possible, and by trying to implement it you end up with something more fragile and complex than a better but slightly more involved solution
zas
the thing is that KISS doesn't work well along uber complex problems we are tacking with... like handling a lot of traffic, on lowest resources possible (hardware & humans), using only open source & free software, while providing high performance & high reliability
atj
"uber complex" seems a little extreme, but I guess I'm missing something
are infrastructure costs a significant part of your budget?
zas
nope, if you are considering infrastructure in terms of servers & bandwidth
lucifer
zas: ruaok: they are using this https://github.com/nginx-proxy/docker-gen/blob/... . don't think it is easy at all to modify this without modifying bunch of other stuff. will try to find a workaround.
zas
lucifer: this template doesn't match the output you posted
you want to insert something in location / {} ?
lucifer
right, i had posted a subsection of the output only.
zas: yeah that's what I meant. It's good that you're not resource constrained in that area, but obviously you need a horizontally scalable solution.
zas
atj: yes, definitively. We still battle against SPoFs, and a long history
atj
zas: to be honest, having lots of additional logic at the gateway/load balancer level is less than ideal. Not sure how feasible it would be to try and reduce/remove that.
zas
atj: I totally agree, this is why we want to redesign that (among plenty of other reasons)
atj
Unfortunately I guess that will require changes at the application level :)
zas
well, that's part of the problem, every move we do always involves a ton of sub problems ;) but we are used to that, it just takes time
lucifer: got it?
lucifer
zas: yes, thanks! trying it now
monkey
lucifer: Is this comment still valid? Do we still have issue submitting MBID and MSID together for pinning a recording?
I know there's been some discussion on the subject the past few days, just checking if this should still be commented out
lucifer
right, we know how to fix this now. just need to implement it.
monkey is excited to see MBIDs used instead of MSIDs everywhere on the front-end
alastairp
thanks spotify for putting Frank Sinatra - Stardust on my Release Radar
a real great recently released song
riksucks
lucifer , ruaok : I created a working version of missing mb data page locally and I tried to use it for a day to see how useful it is. I realised that many are false positives, and that the names of the tracks or the albums are stored as a slightly different name. Should there also be some sort of button to report false positives? Maybe a modal with a textinput box in it?
lucifer
riksucks: not sure what you mean by false positives. can you show an example?
so now, the end user will know that, oh okay so no need to add, but the missing mb data page will still have that entry
and may clog the page, and hence hinder UX
you feel what I am saying lucifer? I feel like that we need to remove these false positives from LB once the user realises that yeah the release exists
lucifer
i understand the issue. thinking about what's the best way to handle this.
riksucks
also monkey, akshat you can comment on the UI, its responsive, but if you would like to make me do some changes you can offer feedback
lucifer
if data exists and it didn't get mapped then that's an issue on the mapping writer i guess.
riksucks
yes
lucifer
we can remove this reported data somehow but the next week will regenerate the data and add it back
alternatively, we create a separate table to store the reported data and delete it from the missing data every week after a new set has been generated
maybe ruaok or alastairp have better suggestions?
riksucks
hmm true, but someone has to check it regularly right. But I think tasks like these can't be automated, at least all of them
alastairp
hi, can someone give me a higher-level overview of this?
it seems that LB doesn't have a mapping? but it actually is in MB
what lucifer said sounds good, and I came up with basically the same thing before I read the comment!
lucifer
We have a missing mb data table in LB which contains some listen data that the user submitted but could not be mapped. It is generated by spark weekly.
the intent is to add a page for each user and so that they can go to MB and and that the data.
now the issue is some of the data is already present in MB but there still are listens in the missing MB data table which could not be mapped to it.
alastairp
1) allow manual mappings, use this all throughout LB at the same level as automatic mapping, 2) if a manual mapping is different to an automatic mapping, prefer it, 3) if at some later stage an automatic mapping is added that is the same, don't delete the manual one (in case the auto mapping changes and becomes wrong in the future), 4) possibly in the future use manual mapping as feedback for the automapper
so the missing data page should have "I know this is in MB, the id is x" and "add this to MB"
lucifer
makes sense
riksucks
mhm yes this is better, also I wanted to ask, we can have that autcompleting search bar thingy in LB right
because manually pasting the ID is not very rewarding, I can maybe use that search thingy that MB uses that will show results, and you can click it, and voila, manual mapping done
is that implementable? or will I run into some cors hell (I am not familiar with MB codebase)
lucifer
the autocomplete search bar is done using typesense. ruaok can tell if its usable for this use case.
not a cors issue but whether typesense have the needed data and indexes for this.
riksucks
I see, I will add a manual entry of id and the search bar thingy in a nice modal ig. Does that sound right?
lucifer
you mean the playlist add track search completion, right? that does not use MB website actually.
riksucks
yes, like when I was playing around with MB, I was typing the name of song and it was autocompleting for me
I really liked that
MB probably has some endpoints I guess that we can use for this typesense thing
lucifer
typesense is a part of LB setup actually. it uses the data from MB database but is a part of LB.
riksucks
ohhh
lucifer
ruaok can create some endpoints if needed. but there might be other things to consider.
riksucks
yes
ruaok is not really here
lucifer
no worries, nothing needed urgently :)
ruaok
Typesense is pretty slow. We need to be careful how we use it.
lucifer
indeed.
ruaok
Adding data to MB? That might be ok. Good reason.
lucifer
thoughts on manual mapping idea as alastairp suggested above
riksucks
no worries. till then I have lot of other work to do, I havent written tests and also, I can till then add the feature of manually putting the ID thing. typesense is more of UX sugar that encourages more and more users to add data to mb, which is why I asked
lucifer
(we can discuss later if you are not available currently)
riksucks
yes, let's discuss when everyone is free
also lucifer, idk much of how the mapping and stuff is done, I will go over the codebase and then pester you to explain me later on lol. I hope that's okay. right now most of the spark stuff is wizardry to me, so please be patient with me :D
Guess no point hotfixing beta, we can release on next beta update
CatQuest
hi reosarevok
akshat
riksucks: thanks for your work, it looks good to me. But yeah I guess lucifer and others have provided you with a better insight into how to deal with this. Excited for your work btw!
CatQuest
are you avail in 1-2 hours time t owork on adding instruments?
MRiddickW joined the channel
lucifer
alastairp: do you know how to make docker obey /etc/hosts ?
alastairp
not sure what you mean
lucifer
i have added `127.0.0.1 coverartarchive.org` to my `/etc/hosts`. my browser sees it. but the acme proxy docker container resolves coverartarchive.org to the actual url running in Hetzner.
alastairp
is this on your local setup, or something that you're deploying?
lucifer
local
alastairp
what thing is trying to connect to coverartarchive.org?
you're running acme proxy locally?
lucifer
acme proxy container to verify certs
yes
alastairp
(in short, no I don't really know how to do this)
remember also that in a container 127.0.01 isn't what you think it is
i'll try to try this out with similarity.ab on bono instead then.
it should have the necessary dns records in plcae
zas
bitmap, ruaok: I just finished the deployment of serviceregistrator, we shouldn't have any registrator running anywhere anymore.
ruaok
very good
lucifer
alastairp: also, did you get a chance to look at those LB PRs?
zas
now that gitzconsul & serviceregistror are deployed, we can think about deploying new instances of consul (on different ports) along gitzconsul + serviceregistrator feeding the new cluster (we can easily run instances of those using different ports)
then we can switch containers to use new consul (switching port used by consul-template in those containers)
still a long way
I'll work on that next week
basically we'll run things in parallel for a while, but both consul clusters should be in sync
alastairp
lucifer: I'm working on it now!
lucifer
ah cool, thanks!
alastairp
lucifer: what are you trying to achieve with the host stuff?
lucifer
alastairp: i wanted to test the referer redirect thing locally before doing it on purple.
if the referer belongs to one of those radios in the list, then serve a static json response pointing to the cover art ruaok uploaded yesterday otherwise proxy pass to actual caa backend.
but when i bring up the containers to test, it gives me a no dns record found error (if i use lucifer.caa) or an invalid response error (if i use caa)
MRiddickW has quit
monkey
phw: Hi ! I'm looking at PR #1607 again with alastairp, and we're wondering if from the Rhythmbox LB plugin you have access to a version number (and if so, is that plugin version or Rhythmbox version?)