Evergreen ILS Website

IRC log for #evergreen, 2016-10-21

| 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
08:06 agoben joined #evergreen
08:08 csharp @weather 30033
08:08 pinesol_green csharp: Decatur, GA :: Overcast :: 61F/16C | Friday: Windy. Cloudy skies will become mostly sunny this afternoon. Cooler. High 67F. Winds NW at 20 to 30 mph. Friday Night: Clear skies. Cooler. Low 47F. Winds NW at 10 to 20 mph.
08:08 csharp that's more like it
08:14 tsbere @weather
08:14 pinesol_green tsbere: North Andover, MA :: Fog :: 60F/16C | Friday: Cloudy with occasional rain showers. Thunder possible. High 71F. Winds SE at 5 to 10 mph. Chance of rain 70%. Friday Night: Thunderstorms this evening followed by occasional showers overnight. Low around 60F. Winds NNE at 5 to 10 mph. Chance of rain 90%. Rainfall near an inch.
08:17 jeff @weather ktvc
08:17 pinesol_green jeff: Cherry Capital, MI :: Light Rain :: 45F/7C | Friday: Mostly cloudy. Slight chance of a rain shower. High 49F. Winds N at 10 to 15 mph. Friday Night: Considerable cloudiness. Low 39F. Winds N at 5 to 10 mph. | Updated: 24m ago
08:18 jeff "considerable cloudiness"
08:40 csharp @band add Considerable Cloudiness
08:40 pinesol_green csharp: As great as you are man, you'll never be greater than yourself.
08:42 gmcharlt quick heads up - part or all of Dyn.com's DNS services are experiencing a DDoS
08:43 gmcharlt and this might effect resolution of evergreen-ils.org -- will be curious to know whether anybody is experiencing difficulties there
08:43 tsbere gmcharlt: Quick test tells me that yes, I am experiencing difficulties there
08:44 jeff resolves immediately for me.
08:45 tsbere I don't think anyone here has requested the domain for a few days, thus making it so that our DNS server's cached entries expired
08:45 jeff also immediate nxdomain as appropriate when requesting a non-existant host within the domain.
08:47 jeff i'm fairly certain that the Dyn nameservers are anycasted, so that introduces a huge YMMV factor. i'm not even sure that individual data points here of success/fail are going to be very useful. :-)
08:48 tsbere jeff: I say "any data points of fail are useful as it tells us some people *will* be having a problem, and we know what to tell them" ;)
08:49 jeff okay, okay. s/individual data points/further individual data points/ perhaps. :-)
08:49 bos20k joined #evergreen
09:03 Dyrcona joined #evergreen
09:10 Dyrcona So, SIPServer question.... With Socket::Linux installed, it looks like SIPServer gets a 2 minute timeout on idle TCP connections?
09:12 jeff I can look and test, but: is there an additional question lurking in the shadows?
09:14 tsbere Dyrcona: I think it might also depend on timeout values in the SIP config, but without knowing why you are asking...
09:15 jeff Dyrcona: if you're basing the question off of the setsockopt() call that sets TCP_KEEPIDLE to 120 -- that's (i did have to look it up) " The time (in seconds) the connection needs to remain idle before TCP starts sending keepalive probes, if the socket option SO_KEEPALIVE has been set on this socket."
09:15 Dyrcona jeff | tsbere: I think I misunderstood the TCP_KEEPIDL option. I now think that corresponds to tcp_keepalive_time, yes?
09:16 jeff i guessed correctly! hooray!
09:16 Dyrcona jeff: Heh, what I just said.
09:17 Dyrcona Before I looked it up, I thought it might be an idle timeout (as in drop the connection if idle for x seconds), but that didn't quite make sense with the other settings.
09:17 bos20k joined #evergreen
09:17 Dyrcona I'm asking because, we set the other timeouts to 0.
09:17 Dyrcona Some libraries were still complaining that their self checks were getting disconnected.
09:18 Dyrcona So, I installed Socket::Linux to get the keep alive packet settings.
09:18 Dyrcona I did this on Wednesday.
09:18 Dyrcona Every night, one of the support staff sends an email with number of running SIPServers.
09:18 Dyrcona That's normally about 80 per server.
09:19 book` joined #evergreen
09:19 Dyrcona Last night, the numbers were from 19 to 27 per server.
09:20 yboston joined #evergreen
09:20 Dyrcona I was a little surprised that enabling keep alive dropped the number of SIPServers running, but it could be an anomaly related to something else.
09:22 jeff your change may have enabled detection and elimination of otherwise dead and lingering (but not in the SO_LINGER sense!) connections.
09:23 maryj joined #evergreen
09:23 Dyrcona Yeah, that's what I'm thinking. That something else was enabled by that change.
09:23 Dyrcona To me, that's a good thing, but I'm sure that I'll get questions because the numbers are different. :)
09:24 Dyrcona I've asked the support staff to check with the libraries that reported problems to see if things improved or not.
09:24 jeff yup.
09:24 miker that's exactly it
09:24 miker detection of client-side-dead sessions
09:25 miker where a firewall drops connection tracking, say, or the client just goes away without shutting down the socket
09:28 Dyrcona Yeah, and I've been asked to remove the module. :(
09:28 Dyrcona At this point, I've said there's nothing we can do about the disconnects.
09:28 Dyrcona It's a firewall or router between us and them dropping idle connections.
09:29 Dyrcona Also, self check vendors should not write software that expects to keep a single tcp connection open all day.
09:30 miker I know you know, but removing the module won't make the clients stay connected, it just won't let you know they've dropped (and waste RAM)
09:31 Dyrcona And, I'm using webchat because my client refuses to work with SASL and freenode.
09:31 Dyrcona Yeah, but the people I work for don't....
09:31 Dyrcona Maybe I'll try and convince them.
09:36 Dyrcona I suppose that I could try lowering the TCP_KEEPIDL setting. Could be that some firewall is being overly aggressive by dropping idle connections after a minute or so?
09:46 Dyrcona The git server/monitor is the only one that I can access directly.
09:46 Dyrcona Oops... Meant that for a private chat. :)
09:51 miker Dyrcona: I've seen that before (aggressive dropping). IIRC, you should be able to control TCP_KEEPIDL and friends with env vars at sipserver start time
09:52 Dyrcona miker: The values to the setsockopt call are hard coded in the Perl. I'll see if it reads the environment and if that could override the hardcoded options.
09:53 miker ah. well, probably not...
09:56 Dyrcona Nope. Doesn't use the environment internally, and if it did, I'd expect options to override the environment.
09:57 Dyrcona Woudn't be hard to do that: $tcp_keepidl_val = $ENV{TCP_KEEPIDL} || 120;
09:59 tsbere Dyrcona: At that point I would be tempted to just add to the config file. Or make a local customization.
09:59 gmcharlt Dyn is saying that they've mitigated the DDoS, by th eway
10:00 Dyrcona Well, the quick thing is to make a local customization. New config options would be the way to go for a working/enhancement branch.
10:00 tsbere gmcharlt: And, testing again, I can load things now. So yay!
10:01 * Dyrcona wonders if the DDOS had to do with the SASL authentication failures...
10:01 Dyrcona Or is that not to do with Freenode this time?
10:02 tsbere DNS DDOS was causing issues with evergreen-ils.org for some percentage of the internet
10:02 berick kicking around the idea of a best-match option for authority linking.  e.g. bib has [650 $a Zombies $v Drama], but we only have an auth for [150 $a Zombies].  wondering if this has come up before (or is in some way supported) and I'm just missing it.
10:02 Dyrcona OK. I realized that was more likely after I hit enter. :)
10:03 gmcharlt joined #evergreen
10:13 collum joined #evergreen
10:48 cgreen joined #evergreen
11:15 cgreen joined #evergreen
11:21 dans-datalogics joined #evergreen
11:30 jvwoolf joined #evergreen
11:36 cgreen Hello, all -- we have an Ubuntu server running Evergreen and the database, and it's lately been acting flaky when one tries to log in or connect to Evergreen. "Re-test[ing] the server" on the web client sometimes takes ages to successfully verify; other times, the server returns a 500 Internal Server Error. We have noticed that it tends to use up quite a bit of memory on our server, even though we have met or exceeded the recommend
11:36 cgreen It was working well for a week or so. Is there a configuration we may have incorrectly set? Any insight is appreciated, and thank you!
11:37 Christineb joined #evergreen
11:40 miker berick: for human use, it works close to that. it drops you into the authority list as close to the bib value as possible. your example should be usable. but, you're talking about machine matching, aren't you :)
11:41 miker (and not blowing away $v Drama, as well, I suppose)
11:42 miker IOW, control $a, but leave $v alone as "bib-only" data not controlled by the specific auth record
11:42 miker (unless the auth records grows a $v in the future)
11:42 berick miker: exactly
11:43 berick link to shorter record, if a new record arrives including the $v, then link to that instead
11:44 miker I think it's been thought about. the stored proc that updates bibs would need to be made smarter, I think, to avoid killing the $v on unrelated auth update
11:46 dbwells I thought at one time the intention was for the placement of subfield $0 to determine the "depth" of control.  But this is memory from way, way back, and maybe not exactly related.
11:48 miker dbwells: I don't recall that... but it doesn't mean that wasn't considered
11:49 phasefx cgreen: you have Evergreen and the database running on the same server?  500 Internal Server errors should produce useful information in the Apache logs
11:50 berick miker: right... that's a concern
11:51 berick dbwells: interesting.. "depth" certainly captures the idea
11:54 dans-datalogics phasefx: i'm working with cgreen. at this precise moment, the client's status check is returning 200s. logging in with our admin credentials is failing. which logs (and what logging level) might give us the best info for that?
11:54 brahmina joined #evergreen
11:56 phasefx dans-datalogics: all logins failing or just the admin one?
11:57 dans-datalogics phasefx: as far as i know, we just have this one account to log into the staff client at the moment.
11:58 cgreen phasefx: All logins fail in the srfsh shell
11:58 dbwells berick: The whole concept of freefloating subvisions is just problematic for basic lookup-style control, but I have a pretty cursory understanding of any confining rules which might apply to them to make control more feasible.  And yeah, the discussion I specifically recall was the '10 conference, so that was a bit ago :)
11:59 dans-datalogics phasefx: for what its worth, i see a Jabber error after a failed login attempt in openils/gateway.log -- "no one to send my message to!"
12:00 bmills joined #evergreen
12:00 csharp dans-datalogics: might be worth setting up your logs to go to a central directory/server: https://docs.google.com/document/d/1BJ7kSr​5LfPkxXRhcrYjNyPlbT9PlNFHg6zL-tyetnKA/edit
12:00 phasefx dans-datalogics: this isn't something you would normally do on a production system, but if you're the only user, I would shut down OpenSRF and stop Apache.  Make sure memcached and postgres are running.  The log files are typically at /openils/var/logs/, I would move the existing *.log files out of the way (into old/) or something like that.  Then start up OpenSRF.   grep all the logs for ERR
12:00 phasefx If no errors, then start Apache, grep the logs again.Then, tail the opensrf.sys log, and try to login
12:01 phasefx *memcached, ejabberd, and postgres, that is
12:01 miker dbwells / berick: not sure if this is something you'd see in the wild, but: bib with $a $x $v; authority with $a $v ... depths don't  match, but with smarts, we could control only what the authority /has/
12:02 Dyrcona joined #evergreen
12:08 berick miker: yeah, that's where things take an interesting turn.. scoring the matchy-ness of two fields that are not identical.
12:08 dans-datalogics phasefx: we'll do that and see what we can see
12:11 berick a suggestion that came up here was in effect to perform a left-anchored substring match on the normalized heading.  of course, that assumes the subfields are in the desired order in the record.
12:12 remingtron joined #evergreen
12:13 miker berick: that's exactly what the human interface does
12:13 miker there's an API for it and everything :)
12:15 berick miker: oh, neat.  well that's good to know.
12:16 miker supercat does it, IIRC
12:26 dans-datalogics phasefx: grepping for "ERR" has a lot of output.
12:26 dans-datalogics Session Error: router@private.localhost/open-ils.supercat IS NOT CONNECTED TO THE NETWORK!!!
12:26 dans-datalogics XMPPReader.pm:234 Jabber Exception: Disconnected from Jabber server
12:27 dans-datalogics lots of that
12:27 phasefx dans-datalogics: so sounds like there may be something misconfigured, though you said it used to work?
12:29 dans-datalogics phasefx: i would've sworn so, yeah. but at this point i'm thinking it might be better to start over than to try to find the one piece (or multiple pieces) that's wrong.
12:30 dans-datalogics fortunately, this is just exploratory right now. we won't lose anything other than time if we start fresh.
12:30 jihpringle joined #evergreen
12:30 phasefx dans-datalogics: roger that
12:31 berick gmcharlt: websockets + nginx -- did you encounter roadblocks there or was it more a case of missing tuits?
12:32 gmcharlt berick: tuits - will be working on it next week as part of 2.5.0-beta, but certainly wouldn't mind if you want to try your hand at it
12:32 berick Perry Mason and The Case of the Missing Tuits
12:32 phasefx dans-datalogics: there are scripts that will install an EG test instance on, for example, Debian Wheezy, without all the manual steps
12:32 berick gmcharlt: ok, good to know, thanks
12:34 berick may have time to help on that soon
12:39 dans-datalogics phasefx: i must've missed those. do they install opensrf as well?
12:40 dans-datalogics or the other components?
12:49 bmills joined #evergreen
12:51 bmills1 joined #evergreen
12:52 bmills1 joined #evergreen
12:58 phasefx dans-datalogics: yeap, it does the whole kit and kaboodle.  It's not part of EG proper, so don't be surprised you didn't see it.  This is the one I'm familiar with: http://git.evergreen-ils.org/?p=working​/random.git;a=blob;f=README;h=c399f570a​b4f0cfad83a01414b38b3b4bc82fa09;hb=refs​/heads/collab/phasefx/wheezy_installer    berick also updated it for Ubuntu, and is probably invoked similarly:
12:59 phasefx http://git.evergreen-ils.org/?p=working​/random.git;a=tree;h=refs/heads/collab/​berick/ubuntu-auto-installer;hb=refs/he​ads/collab/berick/ubuntu-auto-installer
13:00 dans-datalogics awesome, we'll give that a try!
13:34 miker joined #evergreen
13:34 graced joined #evergreen
13:34 Shae joined #evergreen
13:36 akilsdonk joined #evergreen
13:36 jyorio joined #evergreen
13:39 rhamby joined #evergreen
13:40 abneiman joined #evergreen
13:51 ssieb joined #evergreen
14:08 cgreen joined #evergreen
14:19 bmills joined #evergreen
14:31 Stompro miker++, thanks for the notice.  I was just on the phone with a branch who was saying "Random customers are getting host not found errors..."
14:32 miker Stompro: np, wish we could do more :(
14:42 csharp shared in #code4lib: https://twitter.com/sadserve​r/status/789524516582125568
14:44 * tsbere just ensures that all of the things his systems need from DNS are in a local DNS server to keep things more central ;)
14:45 berick the irony of not being able to load twitter.com
14:47 csharp berick: "your decision to manage /etc/hosts manually has finally paid off #thoughtleadership"
14:48 * berick looks for an /etc/hosts dump of the entire internet
14:48 csharp haha
14:49 * jeff eyes some old optical media binders
15:01 gsams odd question, is there any reason why a search facet wouldn't exactly match what it is referencing?  example: Author facet shows "Patterson, James 1947-" actual entry is "Patterson, James, 1947-"
15:02 gsams It's obviously a nitpick, but I have been asked and didn't see anything that would account for the second comma being missing.
15:02 tsbere gsams: I assume that punctuation is generally going to be ignored and may come from whichever entry created the first DB entry or something
15:03 * tsbere hasn't actually looked into how those work
15:04 gsams tsbere: The oddity for me is that there is a facet that is the correct version, but it references records that haven't yet been attached to the Authority record.
15:05 tsbere gsams: I don't think facets need the authority record linking to function
15:06 gsams those records all have the data in the $a field, whereas the authority has "Patterson, James," in $a and "1947-" in $d
15:07 gsams right, it should function regardless of authorities, but I wasn't sure if for some reason the facets strip out characters if the entry is split between subfields.
15:07 tsbere Then what you are seeing may be "trim leading/trailing punctuation off of $a before $d is appended to it" or something?
15:08 gsams tsbere:  It must be, unless someone else suggests otherwise, I think this will be the answer that I give.
15:09 gsams tsbere++ #thanks
15:19 kmlussier joined #evergreen
15:23 collum joined #evergreen
15:27 Stompro click2mail--
16:13 Bmagic urrgg registry.npmjs.org down?
16:13 tsbere may just be part of the ongoing issues
16:24 * jeff nods
16:24 jeff npmjs.org uses exclusively dynext.net nameservers.
16:28 Bmagic I see
16:47 berick cross-DST circs created between 0 and 1am getting wrong due date...  sounds so familiar, but not seeing a LP for the specifically.
16:48 tsbere around midnight opac renewals, I guess?
16:49 berick problem seems to be that now + 'X days' is not the same as now + 'seconds-in-X-days seconds' when crossing the DST boundary
16:49 berick tsbere: yeah
16:53 tsbere berick: I find that to be fairly common in pretty much all date math situations
17:04 berick maybe we could shove the interval math into the DB so we don't have to use interval_to_seconds.
17:14 miker or use seconds_to_interval where appropriate?
17:21 berick miker: not sure I follow.  we have an interval from the circ duration.
17:23 berick to recap:  now() + '28 days'::interval is not the same as now() + '2419200 seconds'::interval when now() is within 28 days of the DST boundary.
17:23 * berick opens an LP
17:23 miker berick: I see what you mean
17:23 miker and yep, they're not
17:25 miker I wonder if we just need to look at the date::time api. see if there's a way to do the same thing with as little code change as possible
17:26 miker datetime... no :s
17:26 berick miker: agreed. was just poking around there
17:26 bmills joined #evergreen
17:28 miker (my worry is the possibility of moving everything to the db. not because that's bad, but because the current code is so heavily tested)
17:30 berick yeah, i'm right there with you
17:33 miker or, just tell patrons that, yeah, you lose a day in the fall but you get it back in the spring! ;)
17:33 finnx left #evergreen
17:34 berick hah
17:40 berick easily reproduced in DateTime.  ->add(days => ...) understands DST boundaries, ->add(seconds => ...) as expected does not.
17:41 berick or rather is not affected by DST
17:42 berick so maybe an interval_to_components function, that breaks it down into months/days/etc that we can be passwed to ->add(...)
17:45 berick which brings us back to seconds_to_interval..  :)  so, maybe a version of that which returns a hash (month =>.., days => ..., etc.) instead of a string.
17:45 berick heh, or just get the string and split it
17:45 berick miker++ # i'm getting there
17:50 miker berick: could we just split and reverse?
17:51 berick miker: yeah, splitting is where I ended up (2 lines up) :)
17:52 miker the reverse would order the parts as we need them. stash in a hash if the api requires a hashref
17:53 berick yeah, api wants a hash
17:57 miker berick++
18:07 finnx joined #evergreen
19:06 graced joined #evergreen
19:06 Shae joined #evergreen
19:06 dbwells joined #evergreen
19:06 remingtron joined #evergreen
19:06 Stompro joined #evergreen
19:06 tsbere joined #evergreen
19:07 sandbergja joined #evergreen
19:07 Callender joined #evergreen
19:07 Bmagic joined #evergreen
19:07 jeff joined #evergreen
19:07 berick joined #evergreen
19:07 book` joined #evergreen
19:07 miker joined #evergreen
19:07 ssieb joined #evergreen
19:07 jyorio joined #evergreen
19:07 jihpringle joined #evergreen
19:07 phasefx joined #evergreen
19:08 Christineb joined #evergreen
19:08 dcook joined #evergreen
19:08 csharp joined #evergreen
19:08 abneiman joined #evergreen
19:08 rhamby joined #evergreen
19:08 gsams joined #evergreen
19:08 ejk joined #evergreen
19:08 sard joined #evergreen
19:13 bmills joined #evergreen
19:28 wsmoak joined #evergreen
19:48 jeffdavis wait, did you guys decide that you need to put the string down, split it and reverse it?
20:56 dbs joined #evergreen
21:02 ssieb joined #evergreen

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