Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 53 Current »

[13:07:25 CDT(-0500)] <sjungling> hey guys, since upgrading to 4.0.5 yesterday, our LDAP server has been having stability issues. our networking guys see that each application instance is creating 11+ connections to our LDAP server throughout the day. we have connection pooling enable for LDAP, but i was wondering if anyone else has had issues w/ LDAP on 4.0.x

[13:07:51 CDT(-0500)] <EricDalquist> what did you upgrade from

[13:08:02 CDT(-0500)] <EricDalquist> and no, we haven't but the ldap code hasn't really changed since 3.0

[13:08:13 CDT(-0500)] <sjungling> we came from 2.6

[13:08:47 CDT(-0500)] <EricDalquist> so my first guess would be persondirectory caching

[13:08:59 CDT(-0500)] <sjungling> yeah… we're not using it as far as I can tell

[13:09:02 CDT(-0500)] <EricDalquist> it was just pointed out that the default person dir config doesn't have any caching enabled

[13:09:03 CDT(-0500)] <sjungling> (caching that is)

[13:09:07 CDT(-0500)] <athena> yeah

[13:09:09 CDT(-0500)] <EricDalquist> and that would cause a lot of load on the attribute sources

[13:09:17 CDT(-0500)] <athena> i think we need to fix the default configurations

[13:09:20 CDT(-0500)] <athena> and get that documented

[13:09:29 CDT(-0500)] <athena> i bet a bunch of people are running w/o caching at this point

[13:09:41 CDT(-0500)] <EricDalquist> yeah

[13:09:45 CDT(-0500)] <EricDalquist> so here is a big example: https://wiki.jasig.org/download/attachments/27525146/personDirectoryContext.xml?version=1&amp;modificationDate=1256668239118

[13:10:14 CDT(-0500)] <EricDalquist> and I created https://issues.jasig.org/browse/UP-3555 as a reminder

[13:10:26 CDT(-0500)] <EricDalquist> maybe I can get to that this week

[13:10:33 CDT(-0500)] <EricDalquist> I will for sure before 4.0.7

[13:10:43 CDT(-0500)] <EricDalquist> and we can make an announcement about it too

[13:11:52 CDT(-0500)] <sjungling> sweet. i'll start converting over my config to use caching

[13:12:06 CDT(-0500)] <EricDalquist> you'll need to add the corresponding caches in ehcache.xml

[13:12:17 CDT(-0500)] <EricDalquist> in general even short timeouts are valuable

[13:12:24 CDT(-0500)] <EricDalquist> like 5 min

[13:12:36 CDT(-0500)] <EricDalquist> time out == TTL

[13:13:19 CDT(-0500)] <sjungling> there an example of how to mod ehcache.xml?

[13:13:50 CDT(-0500)] <EricDalquist> it is pretty straight forward, just copy one of the <cache> elements and change the name/size/ttl to what you need

[13:14:30 CDT(-0500)] <sjungling> gotcha

[13:47:06 CDT(-0500)] <sjungling> took a stab at implementing caching in personDirectoryContext.xml (https://gist.github.com/c13e7049cb3685b17abb) but am seeing the error below when deploying.

[13:47:06 CDT(-0500)] <sjungling> "[org.jasig.portal.utils.cache.PersonDirectoryCacheKeyGenerator]: Bean property 'useAllAttributes' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?"

[13:55:32 CDT(-0500)] <EricDalquist> just remove that

[13:55:38 CDT(-0500)] <EricDalquist> that <property>

[13:55:44 CDT(-0500)] <EricDalquist> I think the example needs updating

[13:56:51 CDT(-0500)] <sjungling> kk. so the userAttributeCacheKeyGenerator will just have ignoreEmptyAttributes as the only prop?

[13:57:30 CDT(-0500)] <EricDalquist> yes

[13:57:31 CDT(-0500)] <EricDalquist> <bean id="userAttributeCacheKeyGenerator" class="org.jasig.portal.utils.cache.PersonDirectoryCacheKeyGenerator">

[13:57:31 CDT(-0500)] <EricDalquist> <property name="ignoreEmptyAttributes" value="true" />

[13:57:31 CDT(-0500)] <EricDalquist> </bean>

[14:02:25 CDT(-0500)] <sjungling> k. resolved that error and uncovered another error => https://gist.github.com/e17f60bc8fa75d7d6b61

[14:09:58 CDT(-0500)] <sjungling> hrm. looks like there was a missing cache from ehcache.xml, lets see if that makes a difference

[14:21:37 CDT(-0500)] <sjungling> blerg. still the same thing

[14:47:03 CDT(-0500)] <EricDalquist> hrm

[14:47:10 CDT(-0500)] <EricDalquist> I'm back sjungling I'll take a quick peek

[14:48:07 CDT(-0500)] <sjungling> ty. just updated https://gist.github.com/c13e7049cb3685b17abb

[14:48:22 CDT(-0500)] <sjungling> (to reflect the removed property from userAttributeCacheKeyGenerator)

[14:48:35 CDT(-0500)] <EricDalquist> ah ok

[14:48:47 CDT(-0500)] <EricDalquist> so look at line 202

[14:48:52 CDT(-0500)] <EricDalquist> <property name="cacheFactory" ref="cacheFactory"/>

[14:49:02 CDT(-0500)] <EricDalquist> then look at line 237

[14:49:13 CDT(-0500)] <EricDalquist> you have a few MapCacheFactoryBeans that are missing the cacheFactory property

[14:50:09 CDT(-0500)] <sjungling> missing lines added

[14:58:52 CDT(-0500)] <drewwills> hey folks... does anyone know of schools besides OHIO that are actively using the Emergency Alert portlet in prod?

[15:21:44 CDT(-0500)] <sjungling> @EricDalquist ok, after a few attempts (needed to comment out some unused beans) my personDirectoryContext wound up looking like this: https://gist.github.com/c13e7049cb3685b17abb

[15:21:57 CDT(-0500)] <sjungling> which now throws a different error https://gist.github.com/ecd0816cf8ab819ec075

[15:22:35 CDT(-0500)] <EricDalquist> hrm

[15:22:58 CDT(-0500)] <sjungling> just tacked on ehcache.xml to https://gist.github.com/c13e7049cb3685b17abb

[15:23:38 CDT(-0500)] <EricDalquist> something weird is going on ...

[15:24:17 CDT(-0500)] <EricDalquist> I just realized that in 4.0.5 it appears that MapCAcheFactoryBean has:

[15:24:17 CDT(-0500)] <EricDalquist> @Autowired

[15:24:17 CDT(-0500)] <EricDalquist> public void setCacheFactory(CacheFactory cacheFactory) {

[15:24:25 CDT(-0500)] <EricDalquist> so the cache factory should be getting created correctly

[15:26:41 CDT(-0500)] <EricDalquist> just to satiate my curiosity ... try going to uportal-war/src/main/resources/properties/contexts/channelContainerContext.xml

[15:26:46 CDT(-0500)] <sjungling> i upgraded to 4.0.6 this AM

[15:26:51 CDT(-0500)] <EricDalquist> oh

[15:26:52 CDT(-0500)] <EricDalquist> ok

[15:26:57 CDT(-0500)] <EricDalquist> so this is all 4.0.6

[15:27:05 CDT(-0500)] <sjungling> per the other issue w/ Oracle & Event Logging

[15:27:08 CDT(-0500)] <sjungling> correct

[15:27:12 CDT(-0500)] <EricDalquist> ok

[15:27:16 CDT(-0500)] <sjungling> sorry, should have stated that earlier

[15:27:41 CDT(-0500)] <EricDalquist> no problem

[15:28:42 CDT(-0500)] <sjungling> here's channelContainer for ref https://gist.github.com/c13e7049cb3685b17abb#file_channel_container_context.xml

[15:29:12 CDT(-0500)] <EricDalquist> yeah

[15:29:13 CDT(-0500)] <EricDalquist> that is right

[15:29:27 CDT(-0500)] <EricDalquist> and honestly you shouldn't have needed the other cacheManager properties either

[15:29:37 CDT(-0500)] <EricDalquist> but for some reason CacheManager isn't getting injected

[15:29:41 CDT(-0500)] <EricDalquist> which is ... weirdc

[15:31:52 CDT(-0500)] <sjungling> would more info from uPortal.log help?

[15:31:53 CDT(-0500)] <EricDalquist> did youhave any issues merging with 4.0.6?

[15:31:56 CDT(-0500)] <EricDalquist> it might

[15:32:15 CDT(-0500)] <EricDalquist> this was starting correctly before you made your personDirectoryContext.xml mods?

[15:32:50 CDT(-0500)] <sjungling> correct

[15:32:55 CDT(-0500)] <sjungling> i have 4.0.6 running on a dev server

[15:33:12 CDT(-0500)] <sjungling> but it was after attempting to move personDirs over to caching that i started seeing these errors

[15:33:18 CDT(-0500)] <sjungling> 4.0.6 merged automatically

[15:33:22 CDT(-0500)] <EricDalquist> hrm

[15:33:32 CDT(-0500)] <sjungling> it did report a few conflicts:

[15:33:32 CDT(-0500)] <sjungling> Conflicts:

[15:33:32 CDT(-0500)] <sjungling> uportal-ear/pom.xml

[15:33:32 CDT(-0500)] <sjungling> uportal-war/src/main/resources/properties/contexts/datasourceContext.xml

[15:33:32 CDT(-0500)] <sjungling> uportal-war/src/main/resources/properties/contexts/personDirectoryContext.xml

[15:33:33 CDT(-0500)] <sjungling> but git automerged

[15:33:57 CDT(-0500)] <EricDalquist> ok

[15:34:18 CDT(-0500)] <EricDalquist> can do a gist that would let me view the diff of your person dir context

[15:34:22 CDT(-0500)] <EricDalquist> so create a new one

[15:34:25 CDT(-0500)] <EricDalquist> paste your functional config

[15:34:33 CDT(-0500)] <EricDalquist> and functional ehcache.xml conf

[15:34:34 CDT(-0500)] <EricDalquist> and save that

[15:34:39 CDT(-0500)] <EricDalquist> then paste in the new versions of each

[15:34:47 CDT(-0500)] <EricDalquist> I think that will let me view a diff of the two

[15:35:38 CDT(-0500)] <sjungling> https://gist.github.com/5128335a8ffa2e59b41b

[15:35:46 CDT(-0500)] <sjungling> that's the last working

[15:37:04 CDT(-0500)] <sjungling> and here's the diff from the attempts at caching https://gist.github.com/70b72004773272372639

[15:40:04 CDT(-0500)] <chris_cousquer> hi athena

[15:40:18 CDT(-0500)] * athena waves

[15:40:29 CDT(-0500)] <EricDalquist> sjungling: I am at a loss as to what is going on here

[15:40:39 CDT(-0500)] <EricDalquist> can you try just the ehcache.xml changes

[15:40:46 CDT(-0500)] <EricDalquist> and see if it all starts correctly

[15:40:54 CDT(-0500)] <EricDalquist> sorry I don't have better answers for tyou

[15:41:50 CDT(-0500)] <chris_cousquer> @athena We find what's going wrong with NEWSPLT-65 in other language than english

[15:41:50 CDT(-0500)] <sjungling> np, clean deploying now

[15:42:40 CDT(-0500)] <chris_cousquer> it's not a bug from AntiSami, it's fluid

[15:42:45 CDT(-0500)] <athena> yes

[15:42:51 CDT(-0500)] <athena> ok, i know exactly the bug you're talking about

[15:42:59 CDT(-0500)] <athena> it's really annoying and even shows up in english w/ special characters

[15:43:04 CDT(-0500)] <athena> do you know if antisamy has a patch for it now

[15:43:05 CDT(-0500)] <athena> ?

[15:43:12 CDT(-0500)] <athena> there's been some discussion in that community about it

[15:43:18 CDT(-0500)] <chris_cousquer> no it's not antiSami

[15:43:29 CDT(-0500)] <chris_cousquer> it's fluid

[15:43:49 CDT(-0500)] <athena> oh oh

[15:43:50 CDT(-0500)] <athena> sorry

[15:43:51 CDT(-0500)] <athena> ok

[15:43:54 CDT(-0500)] <athena> hmm

[15:44:09 CDT(-0500)] <athena> so one possible solution is that we have a close-to-finished alternate backbone implementation

[15:44:22 CDT(-0500)] <chris_cousquer> it comes from fluid.XMLEncode

[15:44:22 CDT(-0500)] <chris_cousquer> https://github.com/fluid-project/infusion/blob/master/src/webapp/framework/renderer/js/fluidParser.js#L417

[15:45:57 CDT(-0500)] <athena> ahh interesting!

[15:46:01 CDT(-0500)] <chris_cousquer> first, every times you have a title, a description in a rss feed

[15:46:11 CDT(-0500)] <athena> so two things: 1. should mention it to fluid and see what they have to say about it

[15:46:20 CDT(-0500)] <athena> and 2. might try out that alternate branch and see how it works

[15:46:25 CDT(-0500)] <chris_cousquer> it apply 5 times the replace function

[15:46:47 CDT(-0500)] <chris_cousquer> so it's slow

[15:47:07 CDT(-0500)] <sjungling> @EricDalquist looks like clean deployed & is up an running w/o issue with the modified ehcache.xml

[15:47:14 CDT(-0500)] <EricDalquist> great

[15:48:28 CDT(-0500)] <chris_cousquer> second, this may be have develop to fix & in url string

[15:48:39 CDT(-0500)] <EricDalquist> at this point I'd apply the cache wrappers in personDirectoryContext one at a time

[15:48:43 CDT(-0500)] <EricDalquist> and try

[15:48:47 CDT(-0500)] <EricDalquist> to see if we can narrow this down

[15:48:52 CDT(-0500)] <EricDalquist> since nothing is jumping out at me here

[15:50:56 CDT(-0500)] <EricDalquist> ok I have to run but I'll try to be back online in ~ 40 minutes

[15:51:02 CDT(-0500)] <sjungling> same here

[15:51:04 CDT(-0500)] <EricDalquist> I'll also read the chat logs

[15:51:16 CDT(-0500)] <athena> chris_cousquer: try out the https://github.com/Jasig/NewsReaderPortlet/tree/NEWSPLT-67 branch

[15:51:18 CDT(-0500)] <sjungling> thanks for your help

[15:51:24 CDT(-0500)] <chris_cousquer> so at UPMC we have patch fluid.XMLEncode to return only : return text; and it seems to work for the all portal

[15:51:47 CDT(-0500)] <EricDalquist> no problem sjungling we'll get this figured out (smile)

[15:52:24 CDT(-0500)] <athena> that's good to know, chris_cousquer

[15:55:40 CDT(-0500)] <drewwills> EricDalquist and sjungling... you're probably way ahead of me (i'm catching up on the discussion)... but could there be potential issues with @Autowired on FactoryBean impls? https://jira.springsource.org/browse/SPR-4935

[15:56:19 CDT(-0500)] <drewwills> in my head i can imagine them each trying to do their work in the same magic time

[15:58:22 CDT(-0500)] <chris_cousquer> so I don't know if it's really a bug of fluid or the way we use fluid in newsreaderportlet, athena. I need to do more tests tomorrow and We will try the branch

[15:58:32 CDT(-0500)] <athena> excellent - let me know how it goes

[15:58:44 CDT(-0500)] <athena> i can tell you the title in mobile is sort of broken in that branch still, but i think the rest of it shoudl work

[15:59:12 CDT(-0500)] <chris_cousquer> ok

[16:04:45 CDT(-0500)] <sjungling1> here's something interesting…our OSA found that our Portal apps are querying our LDAP servers for the `guest` user a crazy amount of times… there a way to not search LDAP for the `guest` user?

[16:17:01 CDT(-0500)] <drewwills> yes sjungling1, you could use the RegexGatewayPersonAttributeDao... and also good caching would mitigate that I suppose

[16:20:36 CDT(-0500)] <sjungling1> @drewwills kk. working on the caching right now

[16:22:38 CDT(-0500)] <drewwills> also take a quick look at the IRC logs while you were briefly disconnected: https://wiki.jasig.org/display/UPC/uportal+IRC+Logs

[16:22:54 CDT(-0500)] <drewwills> i posted something, but i think my timing was pretty poor

[16:23:34 CDT(-0500)] <sjungling1> w/r/t @Autowired?

[16:24:05 CDT(-0500)] <drewwills> yes

[16:25:19 CDT(-0500)] <drewwills> i wouldn't call it a promising lead, though... it's not clear to me why that wouldn't be an error all the time, if that hypothesis was correct

[16:25:26 CDT(-0500)] <sjungling1> not sure it was related. think i got my personDirectory working w/ caching…

[16:25:27 CDT(-0500)] <sjungling1> https://gist.github.com/6fca3d482a378f72ef65

[16:25:56 CDT(-0500)] <sjungling1> rolled back to a working config and instead of trying to follow Eric's example, just started uncommenting

[16:26:06 CDT(-0500)] <sjungling1> and that seems to deploy

[16:26:55 CDT(-0500)] <drewwills> ah roger

[16:27:14 CDT(-0500)] <sjungling1> if you could provide a sanity check on that gist, i'd appreciate it

[16:28:09 CDT(-0500)] <sjungling1> as i understand line #80 is calling the cachingMergedPersonAttributeDao which in turn wraps the mergedPersonAttributeDao that I had previously been using?

[16:28:54 CDT(-0500)] <sjungling1> and all of that gets cached under the org.jasig.services.persondir.USER_INFO.merged object?

[16:31:01 CDT(-0500)] <drewwills> wow, you're a pro (wink)

[16:31:20 CDT(-0500)] <sjungling> was i right?

[16:31:24 CDT(-0500)] <drewwills> it's a lot to look at... I can't promise I'm not overlookign something

[16:31:35 CDT(-0500)] <drewwills> yes, that should be accurate

[16:31:49 CDT(-0500)] <drewwills> also nice catch on the cascading impl...

[16:31:54 CDT(-0500)] <sjungling> 'cause, full disclosure, i'm not a Java developer… more of an implementer of Java :-P

[16:32:04 CDT(-0500)] <sjungling> ah… needed Unicon help for that cascading piece

[16:32:26 CDT(-0500)] <drewwills> which you need if you want to chain emplid into cms_student_group, as apparently you do

[16:32:33 CDT(-0500)] <sjungling> bingo

[16:32:59 CDT(-0500)] <drewwills> I remember you, we've met before... I've been on your campus

[16:33:04 CDT(-0500)] <sjungling> guessing that since org.jasig.services.persondir.USER_INFO.merged already exists in ehcache.xml that i don't need to make any mods there

[16:33:27 CDT(-0500)] <drewwills> that should be accurate

[16:33:29 CDT(-0500)] <sjungling> jeez, was that… 7 years ago?

[16:33:51 CDT(-0500)] <drewwills> it might be... i like, helped CSU chico upgrade off 2.x

[16:34:04 CDT(-0500)] <drewwills> maybe even 2.5.x to 2.6.x

[16:34:17 CDT(-0500)] <sjungling> ah yeah… something along those lines

[16:34:33 CDT(-0500)] <drewwills> offices upstairs in the library

[16:35:03 CDT(-0500)] <drewwills> i still get pictures of p.berry's cats on FB

[16:35:10 CDT(-0500)] <sjungling> moved a few years back to the same floor as the data center, but we're slated to move back to the lib next spring

[16:35:24 CDT(-0500)] <sjungling> haha… he was trying to get people to unfollow him but it had the reverse effect

[16:35:32 CDT(-0500)] <drewwills> heh

[16:36:48 CDT(-0500)] <sjungling> alright, pushing out that update personDirectoryContext to our dev server… let's see if i can replicate the magic that was happening on my laptop

  • No labels