Evergreen ILS Website

IRC log for #evergreen, 2022-01-08

| 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
05:42 jonadab joined #evergreen
06:01 pinesol News from qatests: Testing Success <http://testing.evergreen-ils.org/~live>
12:00 miker joined #evergreen
12:05 gmcharlt joined #evergreen
12:11 Dyrcona joined #evergreen
12:12 Dyrcona I know that practically no one is paying attention today, but I'm working on something and want to "talk" about it, even if only to myself.
12:14 Dyrcona So, I'm modifying some code to use savepoints, but subtransactions can be bad (https://postgres.ai/blog/20210831-postgr​esql-subtransactions-considered-harmful) in large, busy databases with replication. (Hello, CW MARS!)
12:15 Dyrcona Instead, I could split the work into multiple transactions with xact_commit where I would have used release savepoint, but each commit forces a write to the xlog, which is also expensive.
12:18 Dyrcona I've considered adding a storage function or even a stored procedure, but using BEGIN / EXCEPTION WHEN ... / END also creates a substransaction.
12:21 Dyrcona I suppose I could write a storage function to use upsert. Does that work on errors caused by triggers? I guess I can give it a try.
12:29 Dyrcona Nope. Doesn't work on a trigger function: ERROR:  constraint in ON CONFLICT clause has no associated index
12:31 Dyrcona So, I could catch that with EXCEPTION WHEN, but there we are back to subtransactions. I might as well use savepoint and see what happens.
12:31 Dyrcona We only use savepoint in one other place that I can find in the Perl code, and that's in booking.
12:34 Dyrcona I don't really have time to benchmark the options, and I have a hard time simulating production loads in my development environment, so....
12:42 Dyrcona Y'know, the documentation doesn't say that ROLLBACK TO SAVEPOINT frees resources in the way that RELEASE SAVEPOINT does, but it also doesn't say that it doesn't, and complicated examples are hard to find.
12:54 Dyrcona My hunch is that we use savepoint so little that this will not have a detrimental effect.
12:54 jonadab joined #evergreen
12:55 Dyrcona Most of the applications that have had problems with it use substransactions even when it's not necessary.
12:59 Dyrcona Ah, I missed this in the documenation for rollback to savepoint: The savepoint remains valid and can be rolled back to again later, if needed.
13:00 Dyrcona This changes how I'll create multiple savepoints.
13:03 Dyrcona Hmm. If I release it and set it again after each succesful update, then I only need 1 save point name, so the default would work.
13:17 Dyrcona @later tell csharp_ I was looking at your upgrade script on Friday, and you don't have to run pingest.pl from the Evergreen source tree. It gets installed in /openils/bin/.
13:17 pinesol Dyrcona: The operation succeeded.
13:35 Dyrcona Hmm... CStoreEditor::release_savepoint doesn't seem to be working with named savepoints, unless I'm messing up the name.....
13:39 Dyrcona Huh? set_savepoint doesn't seem to get run. At least, I don't see the log statement.
13:40 Dyrcona hmm. maybe it doesn't work with always_xact?
13:46 * Dyrcona waits on eg_db_config for the umpteenth time.....silly typos....
13:49 Dyrcona Yeahp. Have to use xact_begin.
13:55 Dyrcona Ugh....
13:55 Dyrcona Trying to split a commit during rebase.
13:56 Dyrcona I never remember exactly how.
13:57 Dyrcona git reset HEAD~
13:57 Dyrcona In case you're wondering.
13:59 Dyrcona Well, I still manged to mess it up.
14:17 csharp_ Dyrcona: thanks for the info!
14:22 Dyrcona csharp_: You're welcome.
14:24 Dyrcona I believe I have something that works with savepoint. After 1 more test run with 1 item at a time, I'll take a break. After that, I'll write a program to test a mix of items that should fail and succeed. If that works, I'll make the necessary changes to the staff client, and then update the release notes and squash the branch again.
14:26 Dyrcona Yeah, tests still work. Maybe I'll add the test of multiple copies to the live test file rather than write a whole new program....
16:07 Dyrcona So, I'm returning an array ref in the back end call. Are there examples of using such a thing in AngularJS?
16:13 Dyrcona I think I can just use it as an array. We'll see.
16:32 Dyrcona Anyone know if I can set values in a toast? I though I could just assign a field on $scope.
16:40 Dyrcona git commit message: "A fix for the fix" :)
16:41 Dyrcona Eh, nope. nToast.open doesn't seem to work.
16:42 Dyrcona "ngToast.open is not a function"
16:47 Dyrcona Well, now my toast is empty....
16:54 Dyrcona I'll let this go for now and I might look into it later. I've already gone over time.
17:53 mantis joined #evergreen
18:00 pinesol News from qatests: Failed Installing AngularJS web client <http://testing.evergreen-ils.org/~live//arch​ive/2022-01/2022-01-08_16:00:02/test.28.html>
18:04 jvwoolf1 joined #evergreen
18:32 JBoyer Oops, accidentally posted this on the feeds channel. So, if you are annoyed like I am about that stupid mess in the mile-long log above it appears to be a forgotten line  that was supposed to be removed from the colors package: https://github.com/Marak/color​s.js/blob/master/lib/index.js
18:32 JBoyer I wonder how many more dependencies he pulled in to use .zalgo on that. 🙄
19:56 mantis JBoyer: we're running our upgrade and running into the same log issue.  Do you know what the exact directory is to apply this fix?
22:57 jvwoolf1 left #evergreen

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