Evergreen ILS Website

IRC log for #evergreen, 2023-10-16

| Channels | #evergreen index | Today | | Search | Google Search | Plain-Text | summary | Join Webchat

All times shown according to the server's local time.

Time Nick Message
00:01 jblyberg joined #evergreen
07:24 kworstell-isl joined #evergreen
07:56 Rogan joined #evergreen
08:05 BDorsey joined #evergreen
08:36 sandbergja joined #evergreen
08:41 mmorgan joined #evergreen
08:43 dguarrac joined #evergreen
08:57 smayo joined #evergreen
08:59 redavis joined #evergreen
09:02 mmorgan1 joined #evergreen
09:56 Bmagic @coffee [someone]
09:56 * pinesol brews and pours a cup of Espresso Nuevo, and sends it sliding down the bar to bshum
09:56 Bmagic @coffee [someone]
09:56 * pinesol brews and pours a cup of Sumatra Danau Toba, and sends it sliding down the bar to degraafk
09:56 Bmagic @coffee [someone]
09:56 * pinesol brews and pours a cup of Kenya Peaberry Deep River Estate, and sends it sliding down the bar to Christineb
09:56 Bmagic @coffee [someone]
09:56 * pinesol brews and pours a cup of Colombia Cauca, Special Micro-Lot Selection Juvenal Penna, and sends it sliding down the bar to eeevil
09:56 Bmagic @coffee [someone]
09:56 * pinesol brews and pours a cup of Ethiopia Biloya Special, and sends it sliding down the bar to redavis
09:57 Bmagic Good morning! (vietnam)
09:57 redavis mmmmm, thank you
09:59 Bmagic It's no sweat. I got up at 3am to start roasting it for you
10:08 Dyrcona joined #evergreen
10:26 mantis1 joined #evergreen
10:41 redavis Thank you for your many hours of coffee roasting sacrifice.
10:47 smayo joined #evergreen
10:57 briank joined #evergreen
11:00 Dyrcona berick: I don't know what the size of the file was at 143,000 records. The final file is 15GB with 2,251,864 bib records and 7,775,264 items. It took 18.3 hours to complete on my test system.
11:00 Dyrcona berick++
11:04 Dyrcona Hmm. I guess that export running on production explains the "processor load too high on utility server emails." It keeps 1 CPU busy all the time, and there are only 8 cpus. Load was 11.5 when I just checked.
11:04 Dyrcona Bmagic: I'm installing Rust on the CW MARS utility server today.
11:07 Dyrcona We used to have 2 utility servers.
11:19 Bmagic Dyrcona++
12:08 Christineb a cup of Kenya Peaberry Deep River Estate sounds delicious... thank you :D
12:08 jihpringle joined #evergreen
12:30 smayo joined #evergreen
12:57 Dyrcona Oof... Making "simple" changes to a program in a new (to you) programming language are not always simple: https://www.sitepoint.com/rust-global-variables/
13:01 berick in short, don't use them, unless they are static scalar vars
13:05 Dyrcona Yeah, so I want to add an option to modify ITEMS_QUERY, so I think it needs to be a RefCell and thread_local? Though, I love this quote: "it’s possible to build something that uses unsafe safely, if you know what you’re doing."
13:06 berick Dyrcona: you can add a field to ExportOptions and a matching getopt entry -- if I follow what you're doing
13:07 berick ExportOptions in this case is essentially our global vars collection
13:07 Dyrcona Right. Then I want to modify ITEMS_QUERY to add to the WHERE clause.
13:07 berick yeah, ITEMS_QUERY may need to be moved into a function that generates the SQL.
13:08 berick so it can refer to the 'ops' values
13:08 berick i started with the simplest possible approach for that bit
13:08 Dyrcona Right. Starting simple makes sense.
13:10 Dyrcona I think I'm also going to want to modify the ITEM_SUBFIELD_MAP, or at least figure out a way to skip some of the subfield b. Aspen apparently doesn't like more than 1, and I'd prefer to just send the copy circ_lib.
13:12 Dyrcona For reference, I'm trying to implement Lp 2015484 and Lp 2004587.
13:12 pinesol Launchpad bug 2015484 in Evergreen "marc_export: provide way to exclude OPAC-suppressed items" [Wishlist,Confirmed] https://launchpad.net/bugs/2015484
13:12 pinesol Launchpad bug 2004587 in Evergreen "multiple $bs in items from marc_export can confuse external systems" [Medium,Fix committed] https://launchpad.net/bugs/2004587
13:13 Dyrcona This is kind of cool. I'm jumping in, not at the deep end, but not exactly the shallow end either: mutexes, closures, and references.... I get it, just different syntax. :)
13:19 sharpsie @blame add Stop trying to make $who happen.  It's not going to happen!
13:19 pinesol sharpsie: The operation succeeded.  Blame #33 added.
13:21 Dyrcona So, I think I'll by just hardcoding my desired behavior and seeing what happens. Start simple.
13:25 jeff reminder to self: deleting a user's cat.copy.templates setting is no longer a valid way of getting their XUL-era templates to re-import. :-)
13:26 Dyrcona jeff: The code is still there. I saw it the other day. Does it no longer fire? (By the "code" I mean the conversion function.)
13:43 jeff Dyrcona: Angular vs AngularJS, I suspect.
13:45 Dyrcona jeff: Yeah... That makes sense.
13:57 sharpsie jeff: sounds like a West Wing double translator use case - import into AngJS so you can use in Angular
13:58 sharpsie it's an older code, but it checks out - I was about to clear them
13:58 kmlussier joined #evergreen
13:58 jeff at least in 3.10, loading the Holdings Template Editor from local admin probably migrates them still, without requiring a dishwasher.
13:59 sharpsie XUL... XUL... Now that's a name I've not heard in a long time... long time
13:59 smayo joined #evergreen
14:00 sharpsie what I'm saying y'all is we all need to do a Star Wars original trilogy rewatch
14:03 JBoyer I haven't stayed on top of the marc_export discourse since I was out all last week, but I am also wondering if Dyrcona's system is missing one (or more) indexes because we do several exports that range from 85 rec/s to 240 rec/s with a ~.5M export taking only 40 mins.
14:04 JBoyer Not that a new, faster exporter wouldn't be great, but I don't think that's the best effort / payoff ratio right now
14:13 berick oh we're squarely in The Distraction Zone w/ the Rust stuff
14:29 Dyrcona JBoyer: There's no way it is indexes. Did you read my latest email? It's sitting at 98% on a CPU usage. That's the Perl code, not the database. Database is on a different server in every case.
14:30 Dyrcona berick: Speaking of Rust... I think you might have introduced a bug with a recent commit when you moved where OFFSET gets addded. I got the following when using --query-file:
14:31 JBoyer Ah, still catching up here and there. Something is still bonkers with that extract though given what we're seeing here.
14:32 Dyrcona thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { kind: Db, cause: Some(DbError { severity: "ERROR", parsed_severity: Some(Error),  code: SqlState(E42601), message: "syntax error at or near \"OFFSET\"", detail:  None, hint: None, position: Some(Original(630)), where_: None, schema: None, table: None, column: None, datatype: None, constraint: None, file: Some("scan.l"), line: Some(1123), routi
14:32 Dyrcona nner_yyerror") }) }', evergreen/src/bin/marc-export.rs:398:56
14:33 Dyrcona JBoyer: --items has always been slow for us, but it's worse than ever, and it really looks like it is Perl.
14:34 berick Dyrcona: k.  mind sharing your query file?
14:35 Dyrcona berick: I'm modifying one of them. Let me try another run.
14:35 berick Dyrcona: i think i see the issue..
14:37 Dyrcona One of the queries returns 3 columns: bre.id, bre.marc, and count(acp.id). It didn't loook like the 3rd column would be an issue.
14:38 Dyrcona JBoyer: I would not be surprised if there is something wrong with the Perl versions I'm using or something, but I don't feel like I have time to deal with that. I'm under pressure to get them records last week. :)
14:40 berick the chunked processing requires ordering/limiting/offseting which adds additional restraints to the format of the query file.  for now, could just read query file as-is and avoid any paging.
14:41 JBoyer True, finding the Right Fix when you're under a Right Now deadline is a lot like being technically correct but completely unhelpful. :) I just think that *after* you can get the initial export done and transported that replacing the exporter won't necessarily be the ideal fix. (Though, for later, I'm also curious what os the super slow exporter is running on)
14:42 Dyrcona JBoyer: Both Ubuntu 22.04 and Ubuntu 20.04.
14:43 JBoyer That is super weird. :-/ Well, I'll stop dragging things off course since I don't have a lot of helpful suggestions, but good luck and I hope this is easier to figure out once you're out from under your deadline.
14:45 Dyrcona Meh. I am MORE than happy to replace Perl with Rust.
14:46 Dyrcona This is not helpful, either: thread 'main' panicked at 'error retrieving column id: invalid column `id`', /home/opensrf/.cargo/registry/src/​github.com-1ecc6299db9ec823/tokio-​postgres-0.7.10/src/row.rs:151:25
14:51 jihpringle joined #evergreen
14:52 berick Dyrcona: pushed a patch to avoid modification of the --query-file sql
14:52 berick re: id, any chance you have multiple columns resolving to the name "id"?
14:53 Dyrcona berick: Cool. I might.... I'm going to modify the query that I think is blowing up to use a CTE, and then grab bre.id and bre.marc.
14:53 Dyrcona Currently, it's actually returning acn.record, bre.marc, and the count on acp.id.
14:56 Dyrcona Dude..... I just noticed the file ends with two semicolons.....I'll bet that's it.
14:56 Dyrcona Still, I think I'll do the CTE.
14:57 berick my test file contain: SELECT id, marc FROM biblio.record_entry WHERE NOT deleted  (no semicolons needed)
14:58 berick afk for a bit
14:59 Dyrcona Yeah, ; is a habit from writing stuff for psql.
15:07 pinesol News from commits: LP2035287: Update selectors in e2e tests <https://git.evergreen-ils.org/?p=E​vergreen.git;a=commitdiff;h=f562b3​ac30a3753d63d565c2d7be4d3a7121a2fb>
15:11 Dyrcona Now, I'm cooking with gas. I got the "large" bibs file (85 records with 87,296 items) dumped to XML in under a minute. That took almost 2 hours with the Perl program the other day.
15:18 Dyrcona Using  query-file to feed the eg-marc-export, it is using a lot more RAM than before, about the same as the Perl export was using. It still uses less CPU. We'll see if that changes over time.
15:28 jeff you have 87,296 items that are spread across only 85 bibs?
15:29 Dyrcona Yes, we do.
15:29 jeff color me intrigued.
15:29 Dyrcona magazines, I assume.
15:29 Dyrcona I think the one with the most has something like 4,000 items.
15:30 Dyrcona I suppose I could run the query to count them to know for sure.
15:32 Dyrcona Yeah, the "largest" has 4,127 items.
15:32 berick Dyrcona: result of removing the paging support for --query-file
15:32 berick can be added back, but i'd need to document the format of the query file a bit more
15:33 Dyrcona berick: It stabilized around 11GB or 35.1% of RAM. Would it be better to throw ids at it?
15:33 berick Dyrcona: yes, ids would be better w/ the current code
15:34 JBoyer Yeah, serials get pretty wild if locations can't agree on a retention period. "Oh, you have 5 years of a weekly gossip rag? What's the circ look like on that one?"
15:34 Dyrcona berick: I'll give that a try in production.
15:37 adam_reid joined #evergreen
15:41 adam_reid hello all! Does anyone have experience adjusting the formatting of "Series Title" facets? In our catalogue facets are displaying along with the individual volume number. Makes using the facets mostly pointless as it won't group items from the same series properly
15:41 Dyrcona JBoyer: We have a winner! The largest one is "The New Yorker."
15:43 JBoyer Yeah, I think at one point we cut people off from adding new copies to the People Magazine record and said "use this one instead, and stop trying to merge them!"
15:43 JBoyer "we" - EGIN back in the Eg 1.2 or so days, that is.
15:44 adam_reid I figured it must be managed under "Server Administration / MARC Search/Facet Fields" but changing the XPath value under Series Title doesn't seem to affect anything
15:44 adam_reid (sorry if there is a better place to ask)
15:44 Dyrcona adam_reid: Did you do an ingest after changing the XPath?
15:45 Dyrcona I'm pretty sure you have to update the bib records or run one of the database function to regenerate the facet fields.
15:46 adam_reid I did not! I was just searching for how to ingest / update the index. Is there a good place I can start to look for how to do that?
15:47 adam_reid I did try saving the individual bib records but that didn't seem to trigger it
15:48 Dyrcona There's a command line program that you can run on a utility server (recommended) or on any machine that has Perl and can communicate with your database: pingest.pl
15:49 adam_reid excellent! (found the docs: https://docs.evergreen-ils.org/docs/3.3​/_parallel_ingest_with_pingest_pl.html)
15:49 adam_reid thanks!
15:50 Dyrcona If you have any questions, feel free to ask. I wrote the initial implemenation.
15:50 * Dyrcona grumbles: I wrote the current marc_export, too.....See what good being the author does me... ;)
15:51 adam_reid lol, thanks Dyrcona I appreciate the help
15:52 kmlussier1 joined #evergreen
15:53 Dyrcona adam_reid: You're welcome!
16:12 sleary joined #evergreen
16:13 Dyrcona Hmm... I probably didn't have to install rust on the utility vm. As long as the Rust application is built with the same or older GLIBC, it should work.....
16:15 Dyrcona I've run into that with compiled Lisp programs before....
16:15 Dyrcona BTW, I don't think Rust is a distraction. I think it could (should?) be our future. I think we should standardize on something, and Rust could be it.
16:18 sleary We have a really big problem right now with the complexity of the project vs. new dev onboarding, and I think adding Rust to the mix would make it much, much worse.
16:21 sleary We really need to weed the old interfaces before we add anything else.
16:22 sleary Even a very large developer community would struggle to maintain the number of interfaces we are juggling right now, and we are not a large community.
16:24 Dyrcona In the long run, I think it would make it easier: Just learn JavaScript and Rust.
16:25 sleary Yes. Once we get rid of the other languages and obsolete frameworks.
16:25 sleary We have to clear the lot before we can build the house.
16:26 Dyrcona rm -rf Open-ILS/ # That's one lot cleared. :)
16:26 Dyrcona I know it's not that simple.
16:26 berick sleary: ageed the UI is much higher priority.  for my part, i'm not aiming for any near-time large Rust code migration so much as getting a foot in the door.
16:27 sleary I'm counting the scripts as an interface... just one with a very narrow audience :)
16:28 Dyrcona What if the interfaces (i.e. cli options) don't change?
16:28 sleary Developing for it still requires learning the underlying stuff that did change
16:32 Dyrcona This would be a good topic for the hack-away next week.
17:00 mantis1 left #evergreen
17:06 mmorgan left #evergreen
17:17 kmlussier joined #evergreen
17:37 pinesol News from commits: LP#2036842: new reporting sources for invoice totals <https://git.evergreen-ils.org/?p=E​vergreen.git;a=commitdiff;h=4211fe​0fb06ec94a29760d683a99813f9d9ee218>
18:03 kmlussier left #evergreen
18:24 jihpringle joined #evergreen
22:33 sleary joined #evergreen

| Channels | #evergreen index | Today | | Search | Google Search | Plain-Text | summary | Join Webchat