| Time |
Nick |
Message |
| 00:23 |
|
sandbergja joined #evergreen |
| 08:37 |
|
mmorgan joined #evergreen |
| 09:13 |
|
Dyrcona joined #evergreen |
| 09:24 |
eeevil |
Dyrcona: re your <link> adventure yesterday, there are some related code comments at the top of a2f2ff1523aea50f4bfc2a3f29f1776336f3a398 that may be helpful when adding/adjusting fields and links |
| 09:24 |
eeevil |
and yes, if there's not a column behind the field, it MUST be marked virtual |
| 09:28 |
|
mmorgan1 joined #evergreen |
| 09:28 |
Dyrcona |
eeevil: Yeah, I remembered your second comment when it failed on me the first time. |
| 09:29 |
Dyrcona |
Meaning, my brain said, "Of course it needs to be virtual. The field doesn't actually exist." |
| 09:30 |
|
mmorgan joined #evergreen |
| 09:30 |
Dyrcona |
I'm expreimenting with it some more. I may change the field and link to be called renewal and make it a "might_have." I suspect that it's never going to return more than 1 renewal. |
| 09:48 |
|
mmorgan1 joined #evergreen |
| 09:50 |
Dyrcona |
Hm... I'm trying to use idlist with cstoreeditor->search_action_circulation with a prcud personality, and I'm getting objects bacK: my $circulations = $e->search_action_circulation([{stop_fines=>'RENEW'},{idlist=>1,limit=>1000}]); |
| 09:51 |
* Dyrcona |
tries it with cstore. |
| 09:53 |
Dyrcona |
Huh. Not working there, either. I thought idlist worked with search_... . |
| 09:53 |
Dyrcona |
In that case, I'll change my approach to this test. |
| 10:10 |
Dyrcona |
Gonna take a while to go through 5.1 million circulations, 1000 at a time. :) |
| 10:13 |
Dyrcona |
I probably don't need to go through all of them to find out out what I wan to know. |
| 10:22 |
eeevil |
for idlist, I think you want this: $e->search_action_circulation([{stop_fines=>'RENEW'},{limit=>1000}],{idlist=>1}); |
| 10:23 |
eeevil |
(me personally, I'd prefer if we had $e->id_list_action_circulation rather than overloading search, but here we are) |
| 10:30 |
Dyrcona |
eeevil: Oh. That's probably correct. I just blew my services up with this thing. |
| 10:32 |
Dyrcona |
Ugh. and I killed my tmux pane, so I have to type my command line all over again. |
| 10:35 |
Dyrcona |
eeevil: I switched to just fleshing the renewals during the search and it's working for what I'm trying to do. I just want to see if it ever returns more than 1. I'm 99.999% sure that it never will. |
| 10:38 |
eeevil |
Dyrcona: did you search for any code using the field to store, say, all subsequent renewals for a circ in the biz-logic layer? (though, if there was no field before, that wouldn't be a thing... so probably nm) |
| 10:57 |
Dyrcona |
If there are any, they're not working. |
| 10:58 |
Dyrcona |
I can look but it would be a complicated regexp. |
| 11:00 |
Dyrcona |
Looking at the link definition, it can never return more than 1 row anyway. |
| 11:03 |
|
Christineb joined #evergreen |
| 11:16 |
Dyrcona |
Huh. my tmux pane keeps getting killed. I wonder if I'm using up all the ram or something. |
| 11:18 |
Dyrcona |
Yeahp. oom-killer took my cstore process AND my tmux process. |
| 11:18 |
Dyrcona |
I suspect we have a memory leak in cstore. |
| 11:20 |
Dyrcona |
eeevil: I tried the following regexp with a multiline, recursive pcregrep search of the Perl code and came up with nothing: ["']?flesh_fields["'].*?=>.*?["']?circ["']?.*?=>.*?\{[^}]+["']renewals["'] |
| 11:33 |
|
jihpringle joined #evergreen |
| 11:41 |
|
kmlussier joined #evergreen |
| 11:46 |
kmlussier |
Does Evergreen have a way to automatically assess a fee to a patron account for a library card? I couldn't find anything, but wanted to make sure I'm not missing anything. |
| 11:54 |
csharp_ |
kmlussier: we've gotten the same request before, I think, but there's not currently a way |
| 11:54 |
csharp_ |
should be simple to add imho |
| 11:54 |
kmlussier |
csharp++ |
| 11:54 |
kmlussier |
csharp_: Thanks for confirming! |
| 11:55 |
Dyrcona |
You can probably do it with an action trigger. I think people have set up a welcome message, you could do something like that but add a fee. |
| 11:56 |
Dyrcona |
Well, that would still probably require new code for the reactor, so never mind. |
| 11:56 |
csharp_ |
Dyrcona: that approach occurred to me, as did a YAOUS |
| 11:56 |
kmlussier |
Dyrcona++ #For thinking through the possibilities! |
| 11:57 |
kmlussier |
csharp_: If we were to implement one, we would prefer that it be based on something more granular, like permission groups. |
| 11:57 |
csharp_ |
maybe the setting could be an array of perm group ids? |
| 11:58 |
csharp_ |
spitballing |
| 11:58 |
Dyrcona |
Yeah, I was going to say it would probably depend on the profile. |
| 11:58 |
kmlussier |
csharp_: That would work. |
| 11:59 |
kmlussier |
In our case, it would never be a high enough priority to try to develop it, though. Charging for library cards is generally frowned upon in these parts. |
| 11:59 |
Dyrcona |
In that case, you'd probably want 2 settings: one for the amount and for the list. |
| 11:59 |
csharp_ |
not sure if the settings UI would let you have a user-friendly dropdown or if that would be additional development |
| 11:59 |
Dyrcona |
A lot of libraries still charge out of state patrons for a card. |
| 12:01 |
Dyrcona |
Hmm.. Then what if I want to charge $20 for this card and $30 for that card? |
| 12:01 |
kmlussier |
Dyrcona: In this case, the question came up in a discussion around decertifed municipalities. The topic du jour. |
| 12:02 |
Dyrcona |
Oh, yeah.... :( |
| 12:02 |
kmlussier |
decertified, even. |
| 12:02 |
kmlussier |
Hey, it's Friday! You know what that means when I'm in IRC! |
| 12:02 |
kmlussier |
@dessert [someone] |
| 12:02 |
* pinesol |
grabs some Syntactic Sugar for akilsdonk |
| 12:03 |
kmlussier |
@coffee [someone] |
| 12:03 |
* pinesol |
brews and pours a cup of El Salvador Los Planes Pacamara, and sends it sliding down the bar to dluch |
| 12:03 |
kmlussier |
@tea [someone] |
| 12:03 |
* pinesol |
brews and pours a pot of Wuyi Mountain Big Red Robe, and sends it sliding down the bar to JBoyer (http://ratetea.com/tea/verdant/wuyi-mountain-big-red-robe/7311/) |
| 12:03 |
Dyrcona |
I'm not sure that I'd go the route of charging non-certified library patrons. I'd just block them. That's what [I think] the MBLC wants. |
| 12:04 |
Dyrcona |
Maybe if they're from one of the two towns that never had a public library, or is it only 1? |
| 12:06 |
Dyrcona |
Been a while since I looked, but IIRC, there's 1 town in Mass that never had a public library and less than 5 that never applied for state aid. |
| 12:06 |
kmlussier |
Dyrcona: The MBLC doesn't express a preference. Once they become decertified, a library can decide to lend, not lend, or charge to lend. |
| 12:07 |
kmlussier |
There is a CW MARS that charges to lend, and one of our directors found that policy. |
| 12:07 |
Dyrcona |
Well, OK. I was possibly [mis]remembering something someone said. |
| 12:08 |
Dyrcona |
Yeah. Some of us would prefer that they just don't lend. |
| 12:09 |
Dyrcona |
Not sure that the consortium has an official policy on that. Not sure that we can, either. |
| 12:09 |
kmlussier |
Dyrcona: It's much easier for configuration purposes! |
| 12:09 |
Dyrcona |
Well, if they give them a card with the CWMARS library as the home_ou, it works. We can also restrict some permission groups to local use only. |
| 12:10 |
Dyrcona |
We have used a decertified patron group before. |
| 12:11 |
kmlussier |
Dyrcona: You have a policy, but it basically says it's a local library decision. |
| 12:12 |
jeff |
"the policy is that there is no policy" :-) |
| 12:12 |
Dyrcona |
jeff++ |
| 12:12 |
csharp_ |
one could theoretically add a card_fee column to permission.grp_tree (nullable) |
| 12:12 |
kmlussier |
jeff: Our attorney could explain to you why it's important to have a policy, even if it ends up being a local library decision. :) |
| 12:13 |
Dyrcona |
csharp_: I was thinking about that, but then libraries would have to have their own permissions groups if the fees are different. |
| 12:13 |
csharp_ |
ah - always seeing it from the PINES/monolithic policies perspective :-) |
| 12:14 |
Dyrcona |
OK. I'm going to see if adding an 'undef $circulations;' to my Perl script makes the crashes go away. |
| 12:17 |
csharp_ |
might not be the best way, but instead of YAOUS, create a actor.card_fee table that could have columns for library, perm_grp, amount, and a boolean automatically charge field? |
| 12:17 |
Dyrcona |
Oh, wait. That script won't work since I updated the IDL again. |
| 12:17 |
Dyrcona |
That would be the most flexible way to do it. |
| 12:20 |
csharp_ |
maybe a "generate fee" checkbox in the patron registration UI? thinking of ways to 1) prevent multiple charges and 2) allow staff a way to not charge |
| 12:21 |
csharp_ |
and maybe "account fee" is a better way to think of it since replacement library cards also have a cost in our case |
| 12:24 |
kmlussier |
csharp_: If a library has chosen to charge a fee, I think there would be interest in preventing staff from using the option in #2 |
| 12:26 |
csharp_ |
just thinking of the use case where the staff have to go back and make a change to the account and re-save - probably other ways to prevent that |
| 12:27 |
kmlussier |
Have the fee apply at the time the privilege expiration is set? |
| 12:28 |
csharp_ |
hmm - that feels more action-triggery to me - but I'm throwing lots of spaghetti at the wall |
| 12:28 |
csharp_ |
also have Covid brain :-/ |
| 12:28 |
csharp_ |
actually off sick, but bored |
| 12:28 |
csharp_ |
maybe A/T is the right way |
| 12:29 |
csharp_ |
the rest seems sane to me - account fee table, etc. |
| 12:29 |
Dyrcona |
I think you'd apply the fee at account creation, and that does feel action triggery. |
| 12:30 |
csharp_ |
one A/T to handle initial registration, one to handle expirations, one to handle notices about expirations |
| 12:30 |
csharp_ |
or more than one if you're sending reminders |
| 12:32 |
Dyrcona |
Nothing has to be done to expire accounts. They just expire. You might wan the reminder notices, and then possibly another fee when the account is renewed. |
| 12:34 |
csharp_ |
yeah, that makes more sense so you're not auto-charging for something the patron may not do |
| 12:34 |
csharp_ |
it does need to be active |
| 12:47 |
|
jihpringle joined #evergreen |
| 12:52 |
Dyrcona |
undef $cirulcations' does not appear to help. |
| 12:58 |
|
kmlussier1 joined #evergreen |
| 12:58 |
|
kmlussier1 left #evergreen |
| 13:01 |
Dyrcona |
Think I'll run that again and see if it's the drone or Perl that's using all the memory. |
| 13:05 |
JBoyer |
Re: AT I think that the on-create trigger is easy enough, and when staff click the "update expire[sic] date" button it could fire off another trigger for a renewal. |
| 13:06 |
JBoyer |
And so long as it's not abused, staff could just change the date manually to avoid adding an additional bill. |
| 13:17 |
Dyrcona |
The memory leak (if any) is definitely in cstore. My drones keep getting larger while the Perl progam's vsz goes up a little and then back down. |
| 13:17 |
|
mmorgan joined #evergreen |
| 13:19 |
Dyrcona |
One of the drones is using over 1GB of vsz. |
| 13:19 |
Dyrcona |
berick How 'bout we implement rstore in Rust as a replacement for cstore and pcrud? |
| 13:34 |
Dyrcona |
The drones are all using about 3GB each. |
| 13:39 |
berick |
Dyrcona: does the basics https://github.com/kcls/evergreen-universe-rs/blob/main/evergreen-services/store/src/methods.rs |
| 13:42 |
Dyrcona |
I haven't updated my clone of that repo in a while. I should have a look. |
| 13:42 |
Dyrcona |
berick: I think there's a memory leak in cstore, at least with Redis. I'm testing the same thing with Ejabberd to see if the problem is more general. |
| 13:48 |
jeffdavis |
I'm getting "connection refused" when I try to visit git.evergreen-ils.org in a browser. git pull works fine |
| 13:49 |
Dyrcona |
speaking of oom-killer. jeffdavis++ |
| 13:49 |
Dyrcona |
I'm going to reboot git.evergreen-ils.org to make sure everything comes back up correctly. |
| 13:53 |
Dyrcona |
systemctl status says it's all good. |
| 13:59 |
jeffdavis |
Dyrcona++ |
| 13:59 |
jeffdavis |
working for me now, thanks! |
| 14:05 |
|
mmorgan1 joined #evergreen |
| 14:36 |
berick |
Dyrcona: mem leak in cstore+redis wouldn't be the craziest thing in the world. running latest opensrf main I assume? |
| 14:36 |
berick |
cruising along OK here w/ max cstore requests at 2k |
| 14:37 |
Dyrcona |
berick: Yeahp. I see it with Ejabberd, too, but it leaks much less memory. |
| 14:37 |
Dyrcona |
max cstore requests is 1000 on both machines. |
| 14:38 |
Dyrcona |
I'll make some notes and write it up on Lp. |
| 14:38 |
Dyrcona |
Might see if I can get valgrind to tell me what's wrong or figure it out with some clever macros. |
| 14:43 |
Bmagic |
Dyrcona++ |
| 15:20 |
Dyrcona |
I've started a bug write up in my text editor. I'm going to let this simmer and have another look next week before posting it. I would like to have a place tin the code to point at. |
| 15:25 |
|
mmorgan joined #evergreen |
| 15:50 |
|
jihpringle joined #evergreen |
| 16:59 |
|
mmorgan left #evergreen |