Evergreen ILS Website

IRC log for #evergreen, 2024-02-15

| 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:56 collum joined #evergreen
01:20 collum joined #evergreen
01:57 collum joined #evergreen
02:00 book` joined #evergreen
02:35 collum joined #evergreen
03:11 collum joined #evergreen
03:30 collum joined #evergreen
04:09 collum joined #evergreen
04:46 collum joined #evergreen
05:23 collum joined #evergreen
05:44 collum joined #evergreen
06:20 collum joined #evergreen
06:27 collum joined #evergreen
08:04 BDorsey joined #evergreen
08:04 redavis joined #evergreen
08:30 Dyrcona joined #evergreen
08:42 mmorgan joined #evergreen
08:45 mantis joined #evergreen
08:49 dguarrac joined #evergreen
09:02 Dyrcona "Mild Picante." Either it's mild or it's picante. It's not both. :)
09:14 kmlussier joined #evergreen
09:14 kmlussier Dyrcona: Hot, but not too hot?
09:14 kmlussier Speaking of hot things...
09:15 kmlussier @coffee [someone]
09:15 * pinesol brews and pours a cup of Ethiopia Yirgacheffe, and sends it sliding down the bar to troy
09:15 kmlussier @tea [someone]
09:15 * pinesol brews and pours a pot of Earl Grey Decaffeinated Black Tea, and sends it sliding down the bar to phasefx (http://ratetea.com/tea/big​elow/earl-grey-decaf/87/)
09:24 Dyrcona So, I'm thinking about proposing a new service: open-ils.auditor. It would be used to manage auditor tables and do things like delete old rows, and possibly vacuum the tables. The more that I think about it, though, the trickier it gets.
09:25 * Dyrcona wonders if it is even possible to do a vacuum through cstore? I've never tried.
09:34 Rogan I'd joke you should just rewrite cstore if necessary but even I'm not that flippant.
09:34 Dyrcona Rogan++
09:37 collum joined #evergreen
09:38 Dyrcona At worst, cstore would probably just require a new method to call a process other than a stored procedure or function.
09:41 Dyrcona If creating a new service seems impractical, I am considering adding some database functions that can purge old auditor table data and vacuum the tables. We have processes doing this via SQL, and I'm sure that most sites do. It could be useful added to the schema and then a cronscript could be scheduled to trigger them.
09:42 Dyrcona The database functions would likely get added as part of the new schema anyway. Storage calls could be added to run them if cstore can't.
09:45 sandbergja joined #evergreen
09:47 Dyrcona hmm... yeah. Add a parameter to the stored procedure(s) to run the vacuum if true. Have storage calls to run the stored procedures. open-ils.auditor methods just call the storage methods. And none of this should be exposed to the public router.
09:48 Dyrcona srfsh scripts could be run via cron to periodically clean up the auditor tables.
10:19 JBoyer Something I've had in the back of my mind for a while is a housecleaning script that could handle cleanup for multiple things: auditor, report output retention, offline uploads, removing expired staged patrons, etc. No reason it couldn't just quiz opensrf.settings for the db connection info and go about whatever business we decide to give it.
10:20 JBoyer That's about as far as I've taken the idea though, because *gestures around to a chorus of buzzing noises*
10:22 Dyrcona JBoyer: yeah. I'm only thinking about auditor right now because we had a deadlock with an auditor cleanup script this week. it seems like something we ought to include with Evergreen if someone wants to use it or not. The other cleanups would be good, too.
10:24 Dyrcona I could see the reporter cleanup being its own thing with settings in open-ils.reporter in opensrf.xml. I didn't think about adding settings for the auditor cleanup there, but it might make sense.
10:24 * Dyrcona hunts for the cwmars script to remove old report output.
10:25 Dyrcona Also, I get the buzzing noises, too. I've got 4 different conversations going on right now, including this one. :)
10:29 kworstell-isl joined #evergreen
10:30 redavis_reboot joined #evergreen
10:34 pinesol News from commits: LP#2053245: fix Angular staff client test failure <https://git.evergreen-ils.org/?p=E​vergreen.git;a=commitdiff;h=9aa81e​3a89ff8631f5e026081a069e033a719d9e>
10:51 stephengwills joined #evergreen
10:56 collum joined #evergreen
11:07 Dyrcona One thing that has come up in internal CW MARS discussion is that we need different intervals to clean data from different auditor tables. We keep 13 months on the biblio record entry history because we use it for a report. We keep 6 months on most tables. Then there's the hold request history where we need to keep 3 months or less because we purge certain holds at 3 months for privacy reasons. (NB: 6 months for most things was consi
11:07 Dyrcona ered a decent compromise between privacy and needing data to investigate problems reported by members.)
11:09 Dyrcona So, configuring that becomes a question. My first thought was org unit setting, but now I think a new table is required. It's not really an org. unit thing. It's global, and it needs to map a table to a duration. There could be a default setting somewhere.
11:11 Dyrcona A new configuration table means a new staff client interface, though it could be built from fm-editor (or whatever it is called).
11:13 Dyrcona Hm... If I add open-ils.auditor, I could also add an interface to create/drop auditor tables, and that could take care of setting up the config entries.....
11:14 Bmagic Dyrcona++
11:15 Dyrcona <gopher>This is gonna run into money.</gopher> :)
11:15 collum joined #evergreen
11:15 Bmagic paper is looking better and better
11:16 Dyrcona Bmagic: This doesn't solve our immediate problem, but I'm going to solve our immediate problem with some of this in mind, so the transition will be easy if my scribbles here ever become reality.
11:16 Bmagic I'm excited
11:17 Dyrcona Yeah, when people ask me about library automation lately (which they almost never do), I usually reply with "What's wrong with pen and paper?"
11:17 Bmagic lol
11:17 Bmagic answer "you can't erase pen"
11:18 Dyrcona Well, use a pencil... :)
11:19 Bmagic Knowing that's going to be their reply, you'll have to update your standard reply with pencil :)
11:19 Dyrcona Yeah, guess I will.
11:19 * mmorgan muses on 'pen'~'hardcoded'
11:20 Bmagic $disks_price > $paper_price ? 'use paper' : 'use computers'
11:21 Dyrcona Have you factored XML into the $disks_price? :)
11:22 Bmagic $disks_price > ($paper_price - ($pencil_use * 5) + ($pen_use *-10) ) ? 'use paper' : 'use computers';
11:22 Bmagic there, I did it
11:22 Dyrcona Heh.
11:24 Dyrcona pen: write once read many. pencil: write many, read many, erase until the paper gets a hole. (Don't mention erasable ink. The paper wears out too fast.)
11:24 Bmagic use 100 pound :)
11:25 Dyrcona Wow! How do carry that around? :) Also, postage.... :)
11:26 Bmagic https://en.wikipedia.org/wiki/Grammage
11:27 Dyrcona I know... It's four times as thick as 25 pound bond, which is nice stuff. Most is 20 pound.
11:28 Dyrcona The joke is, it is heavier paper. :)
11:28 Bmagic :)
11:28 Bmagic looks like we have a new variiable for our equation
11:28 Dyrcona Yeahp.
11:30 * Dyrcona is concerned that the cafe downstairs has not sent out a menu for today, nor have they said they are closed. I hope that means that they are open and the menu is the same as yesterday.
11:30 Bmagic I hope so too :)
11:31 Dyrcona Serious question: Where should a table to track auditor table retention go? The config schema?
11:31 Bmagic I've never seen such a thing, let me know if you find it
11:32 Dyrcona Well, I am going to make it.
11:32 redavis joined #evergreen
11:32 Dyrcona config.auditor_data_retention ( id sequence ..., table_name text, retention_interval interval);
11:33 Dyrcona Also, how should a default interval be set, and should there even be a default value?
11:34 Bmagic 2 years is pretty conservative I would say
11:34 Bmagic the real answer should be a function of table size rather than age
11:34 Dyrcona Well, I was thinking more along the lines of an internal flag or org setting or a table name of 'default' or special id in the table.
11:35 Dyrcona Bmagic: The idea is to give local sites a place where they can choose and set their values.
11:35 Bmagic why delete the last 10 rows in the table even though they are 2 years old?
11:36 Bmagic when I say last 10 rows, I mean the table has a total of 10 rows in it and after delete, it'd be an empty table
11:36 Dyrcona Well, there are issues of privacy and relevance in some cases. For us, it was not about table size.
11:36 Bmagic that's true. I'm speaking with a devops hat on
11:36 Dyrcona Yeah, I get that. If the table is empty after delete, then you probably don't need that auditor any more.
11:37 Dyrcona If the audited data hasn't changed in 2 years, then the table is probably obsolete.
11:37 Stompro We normally purge by keeping the last x entries for each record, so that might be another option.
11:38 Bmagic yeah, which takes us to a neat idea: completely automated auditor. Audit the whole database, and through time, trim the audit tables down to just those tables that are getting changed a lot
11:38 Dyrcona Stompro: That's a lot more complicated.
11:38 Dyrcona Bmagic: No.
11:39 Bmagic haha
11:39 Dyrcona Sometimes too much automation is too much automation. :)
11:39 * eeevil lobs https://www.postgresql.org/docs/6.3/c0503.htm at Dyrcona and Bmagic and runs away
11:40 Bmagic it's more like what people probably want. They don't know they want the history until they do.
11:40 Dyrcona eeevil++
11:40 Bmagic eeevil++
11:41 Dyrcona Bmagic | Stompro: I'm thinking of adding some basic functionality to Evergreen that would be off by default. If sites want to continue to use their current solutions, they will be forced into the Evergreen way.
11:41 Bmagic Dyrcona: sounds good to me. This is an area of the system that is lacking IMO
11:42 Dyrcona That said, an option to keep the last X records could be useful. It could be set to 0. I wonder what kind of impact it would have on performance during clean up, though.
11:43 Dyrcona "It could be set to 0." Means that sites that just want to clear by age could set it to 0. Other sites could set it to whatever value they want. I'm also thinking it isn't necessarily an either/or. You clean up by date, but still keep the last X records even if they're older. That's where it gets complicated and might get slow.
11:44 berick we do a combo of delete older than X and keep at most Y.  just on the copy auditor for now since it's a beast.
11:44 eeevil fwiw, we do have precedent for "time horizon, or min number of old rows, whichever retains more" in the circ aging setup, IIRC. I personally care more about the last X edits of a row than the edits overs the last Y months, from a troubleshooting perspective
11:45 Dyrcona Stompro++ berick++ eeevil++ Bmagic++
11:45 Dyrcona So, for the community code, I'll have to make a provision to keep x rows per id.
11:46 * Dyrcona isn't promising anything gets done timely either.
11:47 Stompro We normally get rid of everything older than x, and also trim based on number of entries for asset.copy, just to trim down those popular items that have circulated a ton recently.
12:00 jihpringle joined #evergreen
12:06 kworstell-isl joined #evergreen
12:27 collum joined #evergreen
13:07 kworstell-isl joined #evergreen
13:16 kworstell-isl joined #evergreen
13:40 csharp_ @band add Classic Rookie Mistake
13:40 pinesol csharp_: Band 'Classic Rookie Mistake' added to list
13:44 csharp_ @band is my favorite band, I don't care what [someone] says
13:44 csharp_ pinesol: ahem
13:44 pinesol csharp_: I just wanted to let you know that you mean a lot to me
13:44 csharp_ @band is my favorite band, I don't care what [someone] says
13:45 csharp_ pinesol: your dum
13:45 pinesol csharp_: You're going to have to answer to the Coca-Cola company.
13:45 Dyrcona Oof... I'm trying to move some acq auditor tables from the acq schema to the auditor schema, and the existing table columns do not agree with the columns in the table created by create_auditor().
13:46 csharp_ ah, I guess update_auditors() doesn't know about acq tables?
13:46 Dyrcona [band] is my favorite band, and I don't care what pinesol says.
13:46 csharp_ @band
13:46 pinesol csharp_: Amish Cheese
13:46 Dyrcona Well, that doesn't work either.
13:47 Dyrcona @who is my favorite [band]
13:47 pinesol csharp_ is your favorite Cookie Smuggler.
13:47 Dyrcona Ha!
13:47 csharp_ @band rules
13:47 pinesol csharp_: Faraday Cage
13:47 csharp_ huh - doesn't like any text after the command
13:47 csharp_ I forgot about Cookie Smuggler
13:48 csharp_ kmlussier++
13:48 kmlussier csharp_: What, what? Did I do something to get karma?
13:49 csharp_ kmlussier: you smuggled cookies into the EG conference, so yeah!
13:49 Dyrcona csharp_: update_auditors only looks at the auditor schema. I'm trying to move these old audit tables because I consider their existence to be a mistake.
13:50 kmlussier Oh, lol. Still living off of my good deeds from nine months ago.
13:50 Dyrcona kmlussier++ tuits++
13:51 * Dyrcona should open a Lp bug to eliminate the acq auditor functions.
13:53 Dyrcona csharp_: I could adapt fix_columns to a do block that hits these two tables. That might work for my purposes.
13:59 Dyrcona Well, my test database is now a mess.
14:01 Dyrcona Grr. It's not that simple.... Of course it's not that simple......
14:05 Dyrcona Well, that did not fix anything.
14:06 Dyrcona because columns are still in different orders......
14:12 Dyrcona Ok. It's working now. I have to specify the columns in the order that they appear in the new auditor table.
14:19 Dyrcona ugh... I'm going to have to do this again on a different schema version.
14:20 _collum joined #evergreen
14:23 Dyrcona So, the insert ... select takes longer when you don't truncate the source table first.
14:29 Dyrcona Looks like the schema hasn't really changed between the two releases that I have test data for.
14:33 csharp_ gmcharlt_: Rogan: in the Zoom waiting room for board meeting in case you can see this
14:33 csharp_ or kmlussier or redavis
14:33 Rogan csharp_: I'll mention it
14:33 csharp_ Rogan: thank you
14:41 collum joined #evergreen
14:49 collum joined #evergreen
15:03 Dyrcona heh. Test it on a database that hasn't had a refresh in over 6 months and all the rows disappear! That's a 100% space savings on that 1 table alone. :)
15:17 Bmagic space good; cougar bad
15:20 jeff space good.
15:20 jeff sadly, this update wasn't nearly as exciting as it could have been: Introducing new Space Manager capabilities in Google Chat
15:22 * Dyrcona got the Stim upgrade.... Aahhhhh....
15:29 Dyrcona @decide tonight or next week
15:29 pinesol Dyrcona: go with tonight
15:30 Dyrcona Why not? It won't make a difference.
15:31 Dyrcona I wonder if shoving 8.8 million rows around will wreak havoc on the streaming replication.... Maybe I should delete most of the rows first, or will that make a difference, since the delete also needs to be replicated.
15:41 Dyrcona Yeah. I think we should do away with acq.create_acq_auditor.
15:46 collum joined #evergreen
15:49 Dyrcona Bmagic: I've scheduled the SQL update to move the acq audit tables for 9:00 PM EST tonight. We'll see if PostgreSQL loses its mind, thought I doubt it.
15:49 Dyrcona s/thought/though/
15:51 Bmagic Dyrcona: https://imgur.com/a/05CngrU
15:51 Dyrcona heh.
15:52 Dyrcona Well, it's tested as far as it works.... I'm just not sure if the streaming replication is gong to like it.
15:52 Dyrcona I mean, I ran it on 4 databases..... :)
15:53 Bmagic alright, I retract my link
15:54 mantis left #evergreen
16:05 jihpringle joined #evergreen
16:15 * Dyrcona prepares to go home.
16:15 Dyrcona Catch ya'll later!
16:17 collum joined #evergreen
16:43 collum joined #evergreen
16:45 stephengwills left #evergreen
16:57 mmorgan1 joined #evergreen
17:09 mmorgan1 left #evergreen
17:36 Bmagic does anyone have an automated process for "clearing" vandelay.session_tracker rows that are stuck "active" ?
17:37 Bmagic I was thinking about a cron job to simply update the state to "error" when the session is older than say, 1 week, but never got switched to complete
17:52 kmlussier left #evergreen
18:06 collum joined #evergreen
18:24 collum joined #evergreen
18:32 jihpringle joined #evergreen
19:36 jihpringle joined #evergreen

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