Evergreen ILS Website

IRC log for #evergreen, 2022-07-22

| 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
06:56 rjackson_isl_hom joined #evergreen
07:31 rfrasur joined #evergreen
07:39 collum joined #evergreen
07:49 BDorsey joined #evergreen
07:52 rjackson_isl_hom joined #evergreen
08:08 mantis1 joined #evergreen
08:56 Dyrcona joined #evergreen
10:09 jvwoolf joined #evergreen
11:35 rfrasur_ joined #evergreen
11:36 rfrasur_ joined #evergreen
11:38 BAMkubasa joined #evergreen
11:42 BAMkubasa Is the difference between action.transit_copy and action.hold_transit_copy that transit_copy is a record of things moving to and fro, while action.hold_transit_copy is specifically things that are headed one direction to fill a hold?
11:43 BAMkubasa I'm trying to figure out if I'm correctly basing my resource sharing statistics on action.hold_transit_copy where hold is not null, and why in 47k cases, action.hold_transit_copy.hold is in fact null
11:46 rfrasur_ joined #evergreen
11:53 BDorsey joined #evergreen
11:53 Dyrcona BAMkubasa: That is exactly correct. There will be entries in action.transit_copy for everything in transit. The action.hold_transit_copy has only those that are going to fill holds and includes the id of the hold that they are going to fill.
11:54 BAMkubasa yay! thanks
11:54 BAMkubasa any idea why the hold field may be blank at odd times in action.hold_transit_copy?
11:55 berick BAMkubasa: if the hold was aged/deleted
11:56 BAMkubasa gotcha. only 0.6% in our database
12:09 rfrasur joined #evergreen
12:11 jihpringle joined #evergreen
12:24 rfrasur joined #evergreen
12:34 collum joined #evergreen
12:35 collum joined #evergreen
12:38 rfrasur joined #evergreen
15:42 Bmagic is this function in tt2's ctx.get_ccvm created on the fly?
15:42 berick Bmagic: yes
15:42 Bmagic so when you pass an ID number into that function, the code eventually runs a sql query against config.coded_value_map ?
15:44 berick Bmagic: right, it creates a editor call that results in a cstore query
15:45 Bmagic for some reason, it's returning nothing, but when I query that table, for the ID number that the code is passing, there is stuff. I wonder if I have a fm_IDL issue
15:46 Dyrcona Bmagic: It's created in the loop at about line 346 in EGCatloader::Util.
15:47 Bmagic thanks, I think* the function exists in the stack, but it's not returning anything..... or maybe the function doesn't exist
15:47 Dyrcona You might have an IDL issue.
15:48 Dyrcona It loops through the IDL classes creating the helper functions.
15:48 Bmagic is there a sanity check util somewhere for fm_IDL.xml ?
15:50 Dyrcona Well, you can use xmllint from libxml2-utils to see if it valid.
15:51 Dyrcona Was the CCVM created recently? It could be the cache value is empty.
15:53 Bmagic hmm, cache value?
15:54 Dyrcona Looks like the get_{idl} function ends up calling the list function and looks through the list in memcached, so if the entry was made recently, there's a chance it might not show up. I could also be misunderstanding the code.
15:55 Dyrcona Yeah. Looks like the autogenerated functions use memcached.
15:55 Bmagic memcached could be returning the value without querying the db...
15:55 Bmagic interesting
15:56 Dyrcona Right. If the key exists and points to an empty value you could see what you're seeing I think.
15:56 Bmagic I suppose I could confirm that with a clever query against memcached.... any help on that syntax?
15:57 berick Bmagic: have you reloaded Apache?
15:57 Bmagic yes
15:57 berick i think it only uses memcache for certain types of values
15:57 berick otherwise, just a locally cached value
15:58 Bmagic browser cache? apache cache maybe?
15:58 Bmagic on a test machine, the variable looks like this: $VAR1 = bless( [569,'icon_format','eaudio','E-audi​o',undef,'t','E-audio','f',undef], 'Fieldmapper::config::coded_value_map' );node
15:59 Dyrcona The memcache key looks like "EGWeb.$locale.$hint." where $locale is the current locale (probably en-US) and $hint is the IDL classs: ccvm.
15:59 Bmagic but on the broken system: $VAR1 = ''
16:00 Dyrcona The list will have list appended, so : "EGWeb.en-US.ccvm.list" or something like that.
16:02 Dyrcona I'm not sure what the locale is going to look like.
16:02 Bmagic telnet into 11211 on the memcached server. then issue this command: "get EGWeb.en-US.ccvm.list" ?
16:03 Dyrcona You can try that. I've not looked up keys very often in memcached.
16:04 Bmagic that must not be the keyname
16:06 Bmagic get egweb.en-us.ccvm.list get EGWeb.en-US.list get EGweb.list  yields nada
16:06 Dyrcona I'm not sure what the locale is gonna be. try EGWeb..ccvm.list.
16:11 Bmagic I see what you mean
16:11 Bmagic I've tried a lot of combo's
16:13 Bmagic it looks like the code ends the key with another period. but that doesn't hit either
16:13 Dyrcona Well, list is added after the period for the list data.
16:14 Dyrcona If it's missing in the cached list that would explain it.
16:15 Dyrcona The key may be modified on its way through $memcache->get_cache
16:15 Bmagic hmmm
16:16 Dyrcona The get function is created around line 379 in master it looks like.
16:16 Dyrcona It's definitely using cache.
16:16 Bmagic agreed, I guess I can always restart memcached
16:17 berick memcdump --servers 127.0.0.1:11211
16:17 berick (change to suit)
16:17 Dyrcona :)
16:18 Dyrcona The reason I was saying to look at the list key is because on line 382, it searches the list if it doesn't find the key directly in the cache.
16:19 Dyrcona But yeah, memcdump should dump it all.
16:19 Bmagic oh yeah memcdump... looking into that
16:20 Bmagic bingo: EGWeb.en_us.ccvm.list
16:20 Dyrcona Ah. local is lowercase.
16:21 Dyrcona locale, even... Good to know.
16:21 Bmagic that key doesn't exist on the broken system
16:22 Bmagic and if that key doesn't exist.... the code breaks?
16:23 Dyrcona So, the code in EGWeb is looking the values up in memcached and if there's something there, it's not looking it up in the database, so yeah.
16:24 Dyrcona So, if it's not in the list, I don't think you can look it up using $ctx->get_ccvm.
16:25 Bmagic the code makes me feel like if the key doesn't exist, it would create it?
16:27 Dyrcona It builds the list_ccvm function, then the get_ccvm function. The latter looks things up in the list function. If the data is not in the list, then get can't retrieve it.
16:28 Dyrcona I could be wrong, but that's how I read it.
16:30 Bmagic sounds good to me. I'll just have to wait till night
16:31 Dyrcona If you empty out the list key, it might reload. I think it works like that. berick would know better than I.
16:31 Bmagic that key isn't in the cache
16:32 Bmagic it exists on my test system, but not on the broken system
16:37 berick the only thing that would prevent it from getting added to the cache is if the value for the requested ID is in the process-level cache
16:37 berick but if you reload Apache, then that should be moot
16:37 berick may restart apache instead *shrug*
16:38 Bmagic I've restarted apache2 on the brick that I'm working with
16:38 berick ... and in order for it to get into the process cache, it would have to have gone through the memcache steps anyway
16:38 berick so, yeah, it should be in the cache regardless
16:43 Dyrcona I'm thinking the memcahed list was made before this particular ccvm entry existed, so this key never made it to memcached. There's probably some magic going on with cache map that I don't understand, though.
16:44 Bmagic if the memcached server ran out of memory, maybe that key was evicted. The stats report that there have been some evictions during it's runtime
16:45 Bmagic evictions: 1848042
16:51 Dyrcona Could be, but the code is looking in the EGWeb.en-us.ccvm.list, so if it's not there, I don't know how it would get loaded.
17:02 * Dyrcona calls it a week.
17:34 Bmagic berick: any thoughts on using that messagebee code for autorenewal notices?
17:36 Bmagic I think I need to create a new xml template, one that brings in the json data from udata
17:38 berick Bmagic: yes, just started doing that in fact.
17:38 Bmagic oh nice
17:39 * berick finds the patch
17:39 Bmagic oh, so it's done
17:45 berick Bmagic: https://github.com/berick/evergreen-xml-notices/​commit/6b0b2e9c25e1e025971d07992a9f03178982d350
17:45 berick yeah, we're live
17:45 Bmagic berick++
17:52 Bmagic gnight all! Have a great 2 weeks. Have a good bug squashing next week. I'm out till August 1st.

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