[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&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