Evergreen ILS Website

IRC log for #evergreen, 2023-10-11

| 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
07:18 collum joined #evergreen
07:41 BDorsey joined #evergreen
08:21 kworstell-isl joined #evergreen
08:31 shulabear joined #evergreen
08:31 bott-grpl joined #evergreen
08:32 mmorgan joined #evergreen
09:03 mantis1 joined #evergreen
09:23 Dyrcona joined #evergreen
09:29 BDorsey joined #evergreen
09:39 sandbergja joined #evergreen
10:22 Stompro gmcharlt++ thanks for the great suggestions for fieldmapper usage.
10:33 Dyrcona Y'know, the way GMail handles message threads is sometimes nice, sometimes bothersome, and downright dangerous to a person's career.
10:34 dguarrac joined #evergreen
10:36 mmorgan :)
10:43 Dyrcona i have one email chain with 3 different conversations going on, and that is not unusual.
10:44 Dyrcona Well, different, but related....They're mostly digressions on subtopics of the main chain.
10:44 Dyrcona I can see how doing a replay all on the wrong email in such a situation could get someone in trouble. :)
10:45 Dyrcona s/replay/reply/
10:45 Dyrcona Anyway, anyone else having a fun morning? We turned on Quipu e-renewals for e-card accounts in production today and found some things that slipped through.
10:46 mmorgan Yes, those threads can get tangled. I've certainly missed messages a few times because they got sucked into an old or unrelated thread.
10:47 Dyrcona Yeah.
10:47 mmorgan Dyrcona: Interesting!
10:47 Dyrcona In fact, I missed something this morning that way.
10:49 jeff if only there were a standard way for email clients to tie replies into their related threads, without needing to rely on weak heuristics like subject lines... </sarcasm>
10:50 Dyrcona Well, the issues were minor and mostly caused by my having 8 to 10 different branches on 3 different Evergreen "versions" scattered in 5 repositories across 3 different machines, and a couple of those repositories are not Evergreen, but for the way MOBIUS does virtual machines. Something was bound to get missed somewhere.
10:50 jeff I'm not sure which is worse: Gmail completely disregarding the established standards, or clients that used the standards successfully but in ways that were less apparent to the end user, resulting in unintentional mis-threading. Probably a wash at first, though it would have been nice to have reached a better place in the 20 years since.
10:51 Dyrcona That, and Gmail is a web application. I'm becoming less and less fond of those. ;)
10:52 Dyrcona I suppose the Gmail app on the phone isn't(?) a web application. It's hard to tell. ;)
10:52 mmorgan Dyrcona: Glad the issues were minor! Were you missing updates to files?
10:53 briank joined #evergreen
10:54 Dyrcona mmorgan: Yes for the most part. Or, rather, the updates were missing parts, or in one case had code that should have been removed.
10:55 Dyrcona The template fix was easy: put it in the repository, push it, pull it on the server, wait for the hour to tick around for Bmagic's sync script to run.
10:55 mmorgan Ah, gotcha. Glad the fix was easy.
10:55 Dyrcona The change to a new file: WWW/EGCatLoader/Ecard.pm will have to wait for new docker images.
10:58 Dyrcona BTW, most of what I'm talking about is in the working repository if you want to have a look: collab/dyrcona/lp1902937-quipu-integration+erenew, user/dyrcona/cwmars_custom_rel_3_7_4, user/dyrcona/cwmars_custom_rel_3_10_3+erenew, and a couple of others. Then there are things in private repositories.
10:59 mmorgan Dyrcona++
10:59 mmorgan Thanks, we'll have a look!
11:02 Dyrcona I should check that last branch. It probably needs the patch I made this morning.
11:02 Dyrcona We will also likely never use it in produciton....
11:05 Dyrcona It might need more patches than just that one.... I'll leave it for now.
11:14 kmlussier joined #evergreen
11:18 Dyrcona So, going back to yesterday's conversation about MARC export, I wonder if that commit really was the problem. I reverted that one and two others, then started a new export. It has been running for almost 21 hours and only exported about 340,000 records. I estimate it should export about 1.7 million.
11:20 Dyrcona At that rate, it will still take roughly 5 days to export them all. This is one a test system, but it's an old production database server and it's "configured." The hardware is no slouch. I guess I will have to dump queries and run them through EXPLAIN.
11:28 Dyrcona Y'know what. I think I'll stop this export, back out the entire feature and go again.
11:29 jeff if it's similar behavior as yesterday and most of the resource usage appears to be marc_export using CPU, I'd suspect inefficiency in the MARC record manipulation or in dealing with the relatively large amount of data in memory from the use of fetchall_ on such a large dataset.
11:29 jeff even if it's not swapping, dealing with that large a data structure might be giving Perl / DBI a challenge.
11:30 jeff (both of those are just guesses, though. I don't have time this week to experiment to test the theories.) :-)
11:30 Dyrcona jeff: That might be it. Maybe it's actually the other patch that I pushed yesterday to manipulate the 852?
11:30 jeff I like your idea of next step, though. Especially if you've exported a set this large before without issue.
11:31 Dyrcona Well, "without issue" is up for debate....
11:31 jeff heh.
11:32 Dyrcona I don't think I'll revert the commit. I'm going to change the options to avoid both the 852 manipulation and the exclusion of hidden items. It might just be my hardware.
11:32 jeff improving marc_export so that it using paging instead of using fetchall_ DBI methods would probably count as an "improve it for everyone" thing as you mentioned before. Probably would help Calvin's issue as reported on the mailing list recently, as well.
11:33 jeff s/it using/it's using/ or s/it using/it uses/ :-P
11:33 jeff (you get the idea)
11:34 Dyrcona The main loop(s) use fetchrow_hashref. It uses fetchall_* in a couple of places when getting items, etc.
11:36 Dyrcona I wonder if DBI isn't grabbing everything all at once anyway. My latest run had RSS of 9546368, 29.0% of RAM. I think RSS is reported in kb (i.e. 1000 bytes).
11:37 bott-grpl joined #evergreen
11:37 jeff Yeah. It's been a while since I looked at that DBI behavior, I might be wrong in placing all the blame on fetchall_ methods.
11:39 jeff I know I've been surprised by Perl and/or Python memory usage when dealing with large resultsets before, only to have the docs explain why what I was seeing was perfectly expected. :-)
11:39 Dyrcona :)
11:41 Dyrcona I wonder if some kind of in-database procedure or cursor might help? I remember back in Sybase days being told "Don't user cursors; they're slow." Only to find out that read only cursors were pretty efficient. It was update cursors one wanted to avoid.
11:42 Dyrcona Anyway, I started another run. I'll it go overnight and see what happens.
11:51 Dyrcona jeff: I do think DBI is getting all the data into RAM. I'm watching the RAM usage go up, and the file is still zero bytes.
11:52 Dyrcona I'm using `ps -o etime,pcpu,rss,pmem $pid` to monitor.
12:00 jeff Yeah, I'm pretty sure that the DBD::Pg driver reads results into memory on execute(). Solution can be to use your own paging (with ORDER BY and LIMIT and some logic in the WHERE to start where the last page left off (like id > last id)), or there's a nested while() loop example using a declared cursor in the DBD::Pg docs, but I don't know if there's pitfalls lurking there.
12:02 jeff I think that there have been a few copy template conversion bugs, including at least one dealing with stat cats. I'm looking for one where converted templates attempt to set an invalid stat cat due to the template containing JSON like: "statcats":{"24":-1}
12:04 jeff probably affects at least 3.7, and while it's likely (but not certainly) fixed, I'm curious to see the discussion and see if it's a fix requiring manual updating of templates or not. Ring any bells for anyone here?
12:06 Dyrcona We had copy template issues going from XUL to 3.0 and the web staff client.
12:07 Dyrcona I was looking at the code for Angular and AngularJS the other day, and it looks to me like they store them differently.
12:07 jeff it's similar to bug 1788680 but not quite.
12:07 pinesol Launchpad bug 1788680 in Evergreen 3.3 "Null statcats break copy templates" [High,Fix released] https://launchpad.net/bugs/1788680
12:07 jihpringle joined #evergreen
12:08 Dyrcona We're on 3.7, and I think it stores fleshed JSON objects. The Angular client looks like it only stores stat cat ids.
12:08 jeff I may resort to empirical testing. Copy affected JSON to a 3.10 system and re-test there. :-)
12:08 Dyrcona I didn't make a not of the line numbers. I didn't think I'd want to look at it again.
12:09 Dyrcona On 3.7, it looks like it includes everything in the template including alerts. I seem to recall in master, it ONLY looks at stat cats an only puts in the ID. This may come up again on Friday, so I think I'll have another look.
12:14 Dyrcona I should have made notes.
12:24 Dyrcona jeff: Line 2574 in Open-ILS/web/js/ui/default​/staff/cat/volcopy/app.js. It looks like th AngularJS editor saves any fleshed object as a fleshed object, despite the comment about call numbers and stat cats.
12:29 Dyrcona jeff: Also the if block at line 641 in Open-ILS/src/eg2/src/app/staff/cat​/volcopy/copy-attrs.component.ts. This looks like it stores fleshed stat cats and the id for anything else.
12:32 Dyrcona Hope that helps!
12:32 kmlussier joined #evergreen
12:37 jihpringle jeff: we've had to have our libraries remake their templates a few times since over the years
12:38 jihpringle there were some recent bugs/fixes around templates and stat cats
12:38 jihpringle https://bugs.launchpad.net/evergreen/+bug/1999696
12:38 pinesol Launchpad bug 1999696 in Evergreen 3.9 "Holdings Templates not working with stat cat data" [Undecided,Fix released]
12:38 Dyrcona We had lots of issues going from XUL to the web client.
12:39 jihpringle same, and we also had issues going from angularjs to angular
12:39 Dyrcona Yeah. We have not upgraded because of those issues.
12:40 jihpringle the new alert messages have also caused some funky template issues - https://bugs.launchpad.net/evergreen/+bug/2022349
12:40 pinesol Launchpad bug 2022349 in Evergreen "Remove old-style copy/item alerts" [Medium,Confirmed]
12:56 Dyrcona Everyone have a good rest of your day (or night)! I'm taking off early.
13:11 mmorgan jeff: I'm familiar with 1788680, but have seen other issues with stat cats in templates, too.
13:11 mmorgan Mostly templates trying to apply stat cat entries that no longer exist.
13:11 collum joined #evergreen
13:13 mmorgan I think I've seen the -1 once or twice, too. Maybe that was an attempt to remove the stat cat value?
13:13 jihpringle joined #evergreen
13:17 mmorgan We're not yet using the angular holdings editor, but in testing, are becoming aware of things lurking in templates that get applied and saved in items in Angular, but were ignored in angularjs. Like the copy alerts in 2022349
13:28 redavis joined #evergreen
13:32 eby https://docs.paradedb.com/blog/introducing_bm25
13:34 jeff I tested one of the "statcats":{"24":-1} templates on a 3.10 system and while it did set the stat cat in question to "unset" (likely the original template's intent/origin), it did so in a way that was successful, and allowed the item to be saved. On 3.7, the behavior was that the stat cat was invalid and failed to save.
13:36 jeff eby: saw that ("pg_bm25: Elastic-Quality Full Text Search Inside Postgres"). Also saw some comments at https://news.ycombinator.com/item?id=37809126 from a few days ago that I bookmarked for later.
13:37 jeff (the "24" in my template fragment isn't significant, it's just the ID of a copy stat cat here)
13:56 mantis1 left #evergreen
14:24 berick eby: neat.
14:24 berick also neat https://github.com/quickwit-oss/tantivy
15:20 BDorsey_ joined #evergreen
16:04 jihpringle joined #evergreen
16:12 kmlussier joined #evergreen
17:16 mmorgan left #evergreen
20:45 Rogan joined #evergreen

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