Evergreen ILS Website

IRC log for #evergreen, 2024-08-02

| 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
01:06 briank joined #evergreen
01:06 jweston joined #evergreen
01:06 eeevil joined #evergreen
01:06 jmurray-isl joined #evergreen
06:52 berick joined #evergreen
07:16 collum joined #evergreen
07:31 kworstell-isl joined #evergreen
07:44 redavis joined #evergreen
07:58 BDorsey joined #evergreen
08:09 pinesol News from commits: Docs LP 2073411 Updating screens for SMS Messaging Page <https://git.evergreen-ils.org/?p=E​vergreen.git;a=commitdiff;h=bfd4cf​e8169f925bc7cb9da759218021c1a6a7e9>
08:14 cbrown joined #evergreen
08:35 ian1 joined #evergreen
08:46 ian1 joined #evergreen
08:47 redavis joined #evergreen
08:49 dguarrac joined #evergreen
09:09 pinesol News from commits: Docs LP2073412 Updating Circulation Limit Sets Page <https://git.evergreen-ils.org/?p=E​vergreen.git;a=commitdiff;h=a8a769​3407791cb4ec69a979bdf16165e492a98a>
09:39 pinesol News from commits: Docs LP 2073415 Updating recent staff searches page <https://git.evergreen-ils.org/?p=E​vergreen.git;a=commitdiff;h=a4c607​801461344b9ac04be64d4a313e31d31410>
09:46 Bmagic I know that Encode.pm can't be used on a multithreaded perl program but for the life of me I can't find the documentation on the issue. Anyone have an article that I can look at?
09:51 Dyrcona joined #evergreen
10:09 BDorsey_ joined #evergreen
10:09 cbrown_ joined #evergreen
10:55 Dyrcona customization--
10:57 kworstell_isl joined #evergreen
10:57 Dyrcona That 1379 db upgrade is a tricky one. If you're upgrade goes from before 3.10 to after 3.10, you have to remember to include the 1379.function.user_circ_test.sql from 3.10.
10:59 * Dyrcona plays with a branch to upgrade from 3.7.4(!) to 3.13.3(!)..  Yeah, the later ain't out, yet, but that's what I'm calling it for the sake of versioning.
11:08 Dyrcona Whoa! It's a 2.2MB upgrade file, and I'm sure it needs some editing....
11:25 Dyrcona Huh. Updates to Pg 10, but I thought it was EOL....
11:26 Bmagic Dyrcona: http://irc.evergreen-ils.org/evergreen/2024-08-02 do you know where I can find the article on the matter?
11:29 BDorsey__ joined #evergreen
11:29 cbrown joined #evergreen
11:31 Dyrcona Bmagic: Well, one way to find out is to simply try it, and watch the script die with an error message. :)
11:33 Bmagic I didn't think it would generate an error
11:33 Bmagic I thoguht it was thought of as "unsafe"
11:35 Dyrcona Perl 5 threads are garbage. It's a terrible implementation and no one uses them for anything serious. It's actually one of the main reasons Rakudo was invented, to fix threads.
11:36 Dyrcona Ask anyone involved in Perl 5 development, and they will agree with me. ;)
11:36 Dyrcona If a module in Perl is not thread safe, then it cannot be used in a threaded program There is no safe way to do that.
11:37 Bmagic right, I'm on board with that. It's the Encode.pm module that I understood to be the deal breaker
11:37 Dyrcona Yeah, Encode is not thread safe, though I don't see it mentioned in the documentation today.
11:37 Dyrcona That may have changed, but I doubt it.
11:38 Dyrcona Let me check, I might still have code hanging around where I tried to make it work...
11:38 Bmagic scottangel is playing with threads using ParallelExecutor and I mentioned how we can't use Encode.pm with threads. And that led me to ask this question, because I can't find anything online explaining why
11:39 Dyrcona Nah, doesn't look like I do.
11:40 Dyrcona Yeah, I'm not finding anything either, so try it and see. If it works, great. If not, your script blows up.
11:40 Stompro I also went down the threads+encode.pm road with marc_export.pm a few months ago.... Dyrcona tried to warn me also.
11:40 Dyrcona Bascially, Perl 5 threads should not be used, ever.
11:41 Dyrcona If you really want threads, use a different language, almost any other language, really.
11:42 Dyrcona Java, Rust, modern C++ (i.e. C++11 or later), Python, all have much better threading than Perl 5. You could even try Raku if you want to see what Perl 6 turned into.
11:43 Dyrcona I'd rather use POSIX threads in C than try to get something working with threads in Perl 5.
11:43 Bmagic ParallelExecutor sounds like it's skirting the issue by using system() commands to spawn threads
11:44 Dyrcona Bmagic: Wrong! Those are processes, not threads.... In that case you should be fine.
11:44 Dyrcona Let's keep our terminology clear. Otherwise, it leads to confusion.
11:45 Stompro Dyrcona, I just heard that in your voice, did you just say it out loud also?
11:45 Dyrcona BTW, here's an "official" answer about Perl 5 threads: https://github.com/Perl/perl5/issues/14691
11:45 Bmagic fair enough. It accomplishes our goal of running more than one execution at the same time though
11:46 Dyrcona Stompro: No, I didn't say it out load, but I did think it rather strenuously.
11:46 Dyrcona Bmagic: It does, but processes and threads are very different in terms of architecture, especially since Linux no longer implements threads on top of processes.
11:47 Bmagic My statements are framed as questions FYI. I'm exploring it with you, trying to figure out if it's safe or how to better guide scottangel
11:48 Dyrcona I don't know anything about ParallelExecutor. If it uses processes, then you're good. If it uses Perl 5 threads, then you're done. My advice is pretty much always, "Try it and see."
11:52 Dyrcona Bmagic: What module are you using? Parallel::TaskExecutor? If so, that looks OK.
11:55 * Dyrcona steps out to grab a bite to eat.
11:58 Dyrcona If you look at the source code of the module, and it does not say 'use threads;' then you are OK to go.
11:59 jihpringle joined #evergreen
12:04 Bmagic Parallel::ForkManager
12:04 Bmagic gotcha
12:13 berick Bmagic: apropos of nothing, this week I got Rust EG service workers running in k8s, one worker per pod.  haven't setup scaling yet, though.  Mostly just doing it to learn.
12:16 Dyrcona Bmagic: I think Parallel::ForkManager is OK, too, but I haven't looked at it.
12:16 Dyrcona berick++
12:17 Dyrcona I'm still reimplementing some of my personal utilities in Rust. I do that for practice when learning a new language.
12:29 collum joined #evergreen
12:55 Christineb joined #evergreen
13:24 jihpringle joined #evergreen
13:29 jonadab Makes sense.  I usually start by re-implementing tetris.
14:05 Dyrcona Oh! Got my custom db upgrade script to work with just a minor adjustment or two. Our data requires a CASCADE on one drop type in 1307, and the 1312 upgrade has to be moved to the end.
14:15 Stompro Claiming 1424 , gonna give this a try.
14:19 Stompro Dyrcona, does the claiming work any differently for something that isn't being backported to older releases... just trying to imagine what happens if 1425 is for a feature that is backported to 3.13, so then a 3.13 system has 1425 but not 1424?
14:21 Stompro Or maybe I'm jumping the gun, does setting up the sql upgrade index number happen when something moves from master -> release branch?
14:22 Stompro Looking at https://wiki.evergreen-ils.org/d​oku.php?id=dev:committing&amp;s[]=claiming
14:23 berick Stompro: the index number is set just before merging to main
14:23 berick the process is the same regardless of whether it's backported
14:24 berick release branches sometimes have gaps and that's OK
14:24 Stompro berick++ thanks.
14:30 Dyrcona yeah, and while I was not paying attention to IRC, I reviewed our config.upgrade_log and discovered that we're missing an upgrade from way back in the 700s... 0705. We don't have the permission it added in the database.
14:54 Stompro Dyrcona, I have my branch ready to go, rebased to main, sql upgrade stamped.  Can I push that to main... or is it better to cherry-pick on top of main and then push?
14:55 Stompro Branch at https://git.evergreen-ils.org/?p=workin​g/Evergreen.git;a=shortlog;h=refs/heads​/user/stompro/lp1786524_patron_loader-3
14:57 Stompro I edited all the commit messages so all the LP tags match... makes my OCD happy.
15:00 * Stompro needs to go drop off a UPS at fedex, back in 15 minutes.
15:00 Dyrcona Stompro: Ok. I'll wait.
15:01 Dyrcona What's up with Rogan not signing his commits?
15:01 Dyrcona That alone should stop this from going in.
15:02 Dyrcona I know a project *monero cough* where cryptographic signatures are required....
15:25 jihpringle joined #evergreen
15:30 Stompro Back, sorry.  Couldn't even drop off the UPS, no one ever came to the walgreens photo counter.
15:31 Stompro About the sign off, does that need to be dealt with before bug 1786524 gets committed?
15:32 pinesol Launchpad bug 1786524 in Evergreen "Add a support script for importing patrons" [Wishlist,Confirmed] https://launchpad.net/bugs/1786524 - Assigned to Josh Stompro (u-launchpad-stompro-org)
15:38 Dyrcona Stompro: Yes, because we don't allow force pushes to main.
15:38 Dyrcona They get automatically rejected.
15:40 Stompro Dyrcona, sorry, was that in response to my "How to commit a branch" or "Rogan's signoff"?
15:45 Dyrcona It was in response to Rogan needing to sign off before it's committed to main.
15:46 Dyrcona Stompro ^^
15:49 Stompro Gotcha... I'll try and watch for that in the future...
15:49 Dyrcona Stompro: The only way to add the signed-off-by to the commit now is to rebase the branch. If that is done after it goes into main, then it would have to be force-pushed and our configuration will reject that.
15:50 Dyrcona Above was as much for the logs as for Stompro.
15:50 Stompro Thanks for the extra explanation Dyrcona.
15:54 Stompro I'm guessing it would be ok for me to add it if he just comments on the bug report?
16:02 Dyrcona Yeah. That would be OK.
17:06 book` joined #evergreen
22:58 scottangel joined #evergreen
22:59 Jaysal joined #evergreen
22:59 dluch joined #evergreen

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