#metabrainz

/

      • CatQuest
      • nelgin
        Now was ffs
      • 2021-04-29 00:01:15,126: (psycopg2.OperationalError) could not write to file "base/pgsql_tmp/pgsql_tmp50662.0": No space left on device
      • Isn't 100GB enough for the musicbrainz vm?
      • BrainzGit
        [listenbrainz-server] jdaok opened pull request #1417 (master…importer-privacy-warning): LB-802: Importer Last.FM privacy warning https://github.com/metabrainz/listenbrainz-serv...
      • nelgin
        yvanzo, it would be nice if the script checked how much space was free and you should have a good estimate of how much each process will take, build, populating the database, building the index, and whether the operation is likley to succeed or not.
      • BrainzGit
        [listenbrainz-server] jdaok closed pull request #1251 (master…LB-802): LB-802: Last.fm importer user friendliness improvements https://github.com/metabrainz/listenbrainz-serv...
      • [listenbrainz-server] jdaok opened pull request #1418 (master…importer-progress-bar): Importer Progress Bar https://github.com/metabrainz/listenbrainz-serv...
      • thomasross has quit
      • sumedh joined the channel
      • nelgin has quit
      • _lucifer
        ruaok: i looked into spark missing data. it seems incremental dumps have not been happening since 22, no dump -> no spark import. hence the missing data.
      • reosarevok
        Jeez. Found out JetBrains software doesn't clean after itself, so I had 6 GB of old cache crap
      • nelgin joined the channel
      • nelgin
        Agghhh...over 4 hours into loading the indexes and lose power...of course my UPS is bad and I've been waiting for an opportunity to swap it out. Looks like I got one :/
      • tykling_
        :|
      • nelgin
        Now I don't know if my db will be corrupt, but I expect pgsql will check its tables when it comes up?
      • Darkloke joined the channel
      • _lucifer
        Mr_Monkey: regarding the react context PR, I had taken a shot at it the last month. I didn't get time to complete it. However, I was able to get the server side up and running at that time. https://github.com/metabrainz/listenbrainz-serv...
      • The frontend and backend parts are unrelated so we can merge them separately as well. If you prefer, I can add that to the current PR otherwise I can open a different PR.
      • Mr_Monkey
        Oh nice ! Let't keep them separate _lucifer, I've got another 20 modified files to commit on that one…
      • But that's great, We'll only have to connect the two after they're done
      • _lucifer
        sure 👍
      • yup, that should be one or two line change
      • akshaaatt[m]: ping
      • akshaaatt[m]
        Hi _lucifer !
      • _lucifer
        akshaaatt[m], hi! i reviewed the tagger fix. just one change needed to add a user friendly message other than that its ready to merge and deploy.
      • akshaaatt[m]
        Okayy I'm on it!
      • _lucifer
        awesome, thanks!
      • akshaaatt[m]
        So I'll add the toast in the catch block?
      • _lucifer
        yeah that should work, just like the one that was already there
      • akshaaatt[m]
        Cool
      • _lucifer
        something like "Something went wrong! We could not select the directory"
      • akshaaatt[m]
        Okaayy
      • Done _lucifer
      • The starting with tests PR is incomplete. We can review that at last and if possible I could work on it today as per your directions
      • BrainzGit
        [musicbrainz-android] amCap1712 merged pull request #65 (master…tagger-fix): Tagger Fix https://github.com/metabrainz/musicbrainz-andro...
      • _lucifer
        i probably won't be able to get to that PR today. my intent is to merge the release PR next and deploy a new version.
      • akshaaatt[m]
        Okaayyyy. Sounds nice!
      • _lucifer
        i found few bugs in other parts of the codebase while reviewing the tagger PR
      • at some places we do not propogate failed api request errors to the UI so the UI keeps on showing loading screen
      • akshaaatt[m]
        Yeah I saw that
      • Will work on it then.
      • _lucifer
        you can see LookupRepositoryImpl for an example of how to do that
      • or CollectionRepository
      • both of those propogate errors, LoginRepository and TaggerRepository don't
      • akshaaatt[m]
        Right. I can see it
      • ruaok
        moin!
      • _lucifer: yes, in fact the dump is broken again. `/code/listenbrainz/admin/create-dumps.sh: line 23: admin/config.sh: No such file or directory`
      • was the new startup stuff released?
      • _lucifer
        no not yet, but alastairp was discussing some changes with atj yesterday about the startup stuff
      • alastairp
        just finishing these points this morning
      • but that error is even more surprising
      • ruaok
        ok, then something else is causing this.
      • atj
        that script is cursed
      • ruaok
        atj: not the scripts fault. :)
      • _lucifer
        i manually looked around the files in the container earlier today and the file was present
      • atj
        at least the errors are reasonably helpful :)
      • ruaok
        _lucifer: indeed, that file is present.
      • atj
        I note from the error the include appears to be relative
      • ruaok
        and valid.
      • atj
        so is the including script in the correct working directory for that path to resolve?
      • ruaok
        when invoked inside the container it runs.
      • atj
        is it invoked by cron in the container?
      • ruaok
        yes.
      • atj
        is the wording directory set in the cron invocation?
      • s/wording/working
      • ruaok
        no, which seems to be the problem.
      • but the crontab didn't change, so something in the script when we moved the source includes must've borked it.
      • duh, found it.
      • _lucifer
      • ruaok
        exactly.
      • atj
        :)
      • ruaok
        I'll redeploy the container once the incremental dump is done. then I'll invoke the import and stats.
      • mckean_ has quit
      • BrainzGit
        [musicbrainz-android] amCap1712 merged pull request #66 (master…add-ons): Prepare for Release https://github.com/metabrainz/musicbrainz-andro...
      • akshaaatt[m]
        Great!🥳
      • ruaok
        _lucifer: a new incremental dump is on the FTP site and I requested an incremental import, but no import happens. any ideas what might be going on?
      • duh. there is an incremental dump missing. shit.
      • ruaok requests a new dump
      • _lucifer
        yeah, i did see a request in the request consumer logs but nothing was downloaded
      • sumedh has quit
      • ruaok
        I wonder if the transmogrifier was faster if I rewrote it in C. I dislike how awfully slow it is. All that JSON serializing/deserializing.
      • _lucifer
        whats the transmogrifier?
      • ruaok
        it takes the standard postgres formatted dump and converts it to parquet format for importing into spark.
      • pretty simple, really.
      • _lucifer
        what if we moved this part to postgres assuming that's possible?
      • what if we moved this part to postgres assuming that's possible?
      • ruaok
        I dont think it is possible.
      • the PG dumps go directly to disk.
      • it might be faster if we fetched fro PG rather from disk, but I didn't want to put the strain of two complete dumps on the DB.
      • _lucifer
        makes sense. i wonder if how much performance could be gained if it were done in C because ujson utilises does it all in C under the hood.
      • however, we could probably parallelize this part of code.
      • BrainzGit
        [musicbrainz-server] reosarevok opened pull request #2078 (master…MBS-11627): MBS-11627: Don’t show "delete" link in UserList for deleted editors https://github.com/metabrainz/musicbrainz-serve...
      • _lucifer
        ruaok: what do you think say we read 8000 lines at a time from normal dump, send chunks of 1000 to 8 threads for serializing/deserializing then wait for their output and write it to the spark dump and repeat?
      • also, i just remembered let's apply for google oauth verification
      • ruaok
        _lucifer: yes, we could do that, but we have to remember that we're on a production server, so we can't impact regular traffic.
      • I'm inclined to not worry about it now. normally waiting for dumps is a non-issue.
      • let's apply for the oauth stuff after lunch, ok?
      • ruaok is about to run off.
      • _lucifer
        makes sense.
      • yeah sure.
      • Mr_Monkey
        I'll follow your lead. We can do it in a separate PR to easy reviewing.
      • That's not an english sentence. "to ease reviewing."
      • But I agree we should hold off merging 1361 until the connect services page is done.
      • _lucifer
        yup agreed, i have fixed the unit tests. I'll add some more and then get to the connect services page.
      • Mr_Monkey
        Happy to help on that one if you need it
      • _lucifer
        thanks!
      • alastairp, have you had the chance to look at the spotify rewrite or youtube PRs specifically deleting the user on revoking authorization. I wanted to run a catch by you and see if we should change some things.
      • alastairp
        let me open it up, and you can run it past me now
      • _lucifer
        cool. so the issue is we delete the user entry from external_service_oauth table but keep it in the listens_importer table if the user has externally revoked auth.
      • now to implement this, I added a `stop_import` flag https://github.com/metabrainz/listenbrainz-serv...
      • when we have to display the user's current connection status, we have to do something like this https://github.com/metabrainz/listenbrainz-serv...
      • we also have to add a bit of logic in the template to figure out the current status.
      • to delete the entry from the listens_import table, the only way is that the user unlinks manually.
      • now i wonder if this special logic is worth it, if instead of deleting the user we add a flag to listens_import table as you had suggested some time ago
      • all of this boils down to simply checking that flag.
      • alastairp
        right
      • so currently you check if there's an error by doing the outer join and seeing if there is a row in listens_importer, but no row in external_service_auth?
      • _lucifer
        yeah right
      • alastairp
        ah, but get_user_import_details first selects from external_service_oauth
      • what does listens_importer contain? this is like a request of a user to import from a given service?
      • why don't you `SELECT FROM listens_import OUTER JOIN external_service_auth` ?
      • that'd make external_service_auth.whatever null in this case, which is almost as easy as a flag
      • _lucifer
        oh interesting, that makes sense.
      • this is the listens importer table https://github.com/metabrainz/listenbrainz-serv...
      • alastairp
        yeah, right. this is what we should use as the list of services that a user has configured
      • regarding the connect/delete code - I was testing this yesterday on beta, so that looks pretty good
      • I'll try and have another detailed look through the auth changes later today
      • _lucifer
        yeah the current thing works, i was wondering if it could be simplified
      • alastairp
        our university project finishes tomorrow, so theoretically we have to deliver a bunch of documents to deliver, and barely any of them are finished :-P
      • money runs out, so we have to be finished
      • so I'm a bit tearing-my-hair-out here too
      • _lucifer
        sure, no hurry here.
      • alastairp
        but I'm aware that you're also waiting on me for this, so I'll try and get to it
      • _lucifer
        sure, if you get time, that would be nice. otherwise we can do this later as well. thanks!
      • Darkloke has quit
      • sumedh joined the channel
      • ruaok
        I hate yaml. :)
      • atj
        I like it personally, but it does include a lot of footguns.
      • "It snows a lot in False." :)
      • shivam-kapila
        Yaml. Yuuuuck
      • ruaok
        _lucifer: lets do this oauth stuff.
      • does that mean we need to keep that stuff running on a server and not mess with it?
      • _lucifer