[00:16:06 EST(-0500)] * esm (n=esm@207-53-193-126.dynamic-dsl.qis.net) has joined ##uportal
[00:16:38 EST(-0500)] * jayshao (n=jayshao@pool-68-239-246-163.nwrk.east.verizon.net) has joined ##uportal
[00:46:44 EST(-0500)] * jayshao (n=jayshao@pool-68-239-246-163.nwrk.east.verizon.net) has joined ##uportal
[06:19:17 EST(-0500)] * jayshao (n=jayshao@68.239.246.163) has joined ##uportal
[08:14:09 EST(-0500)] * jayshao (n=jayshao@jayshao.oirt.rutgers.edu) has joined ##uportal
[09:13:43 EST(-0500)] * esm (n=esm@207-53-193-126.dynamic-dsl.qis.net) has joined ##uportal
[10:14:25 EST(-0500)] * colinclark (n=atrcwrk2@142.150.154.101) has joined ##uportal
[10:17:30 EST(-0500)] * esm (n=esm@asdf.dkc.jhu.edu) has joined ##uportal
[10:23:43 EST(-0500)] * michelled (n=atrcdell@142.150.154.184) has joined ##uportal
[11:47:21 EST(-0500)] * EricDalquist (n=dalquist@bohemia.doit.wisc.edu) has joined ##uportal
[12:00:06 EST(-0500)] * EiNZTEiN (n=einztein@205.241.143.4) has joined ##uportal
[12:25:13 EST(-0500)] * colinclar1 (n=atrcwrk2@user147-118.wireless.utoronto.ca) has joined ##uportal
[13:10:55 EST(-0500)] * awills (n=awills@uni1.unicon.net) has joined ##uportal
[13:14:59 EST(-0500)] * colinclark (n=atrcwrk2@142.150.154.101) has joined ##uportal
[13:36:09 EST(-0500)] * michelled (n=michelle@142.150.154.114) has joined ##uportal
[13:38:45 EST(-0500)] * michelled_ (n=team@142.150.154.114) has joined ##uportal
[15:29:58 EST(-0500)] <EricDalquist> hrm
[15:29:59 EST(-0500)] <EricDalquist> so
[15:30:10 EST(-0500)] <EricDalquist> I think I might move the uPortal rendering pipeline code into its own class
[15:30:22 EST(-0500)] <EricDalquist> and make UserInstance and GuestUserInstance simple data structure classes
[15:41:35 EST(-0500)] <awills> oh please do that
[15:41:50 EST(-0500)] <EricDalquist> I just started
[15:41:55 EST(-0500)] <awills> good
[15:42:00 EST(-0500)] <EricDalquist> I created o.j.p.rendering.StaticRenderingPipeline
[15:42:15 EST(-0500)] <EricDalquist> renderState and related methods from UserInstance will be moved there
[15:42:21 EST(-0500)] <EricDalquist> it will be a singleton
[15:42:45 EST(-0500)] <EricDalquist> and renderState will be passed request, response and UserInstance objects
[15:43:12 EST(-0500)] <EricDalquist> and it will be behind a very simple interface that describes that renderState method
[15:55:29 EST(-0500)] <EricDalquist> so what is a good name for this interface
[15:56:29 EST(-0500)] <EricDalquist> it is in charge of worker dispatching, structure & theme transforms, caching, channel rendering lifecycle management, & serialization to the bbrowser
[15:56:44 EST(-0500)] <EricDalquist> is PortalRenderingPipeline good?
[16:00:21 EST(-0500)] <awills> yes that sounds good to me
[16:45:18 EST(-0500)] * athena7 (n=athena7@tp-wireless.its.yale.edu) has joined ##uportal
[16:45:52 EST(-0500)] <athena7> hello EricDalquist - we have some questions about the UP-1816 patch
[16:46:01 EST(-0500)] <EricDalquist> ok
[16:46:11 EST(-0500)] <EricDalquist> I have about 3 minutes before my ride gets here though :/
[16:46:25 EST(-0500)] <athena7> ah, ok
[16:46:36 EST(-0500)] <athena7> we're having some production problems, and i'm wondering if it's related to the patch
[16:46:53 EST(-0500)] <athena7> we're seeing stuff like this in the logs:
[16:46:59 EST(-0500)] <athena7> WARN [TP-Processor13] portal.ChannelRendererFactoryImpl.[] Dec/19 14:49:39 - queueSize: 1574 activeCount: 20 largestPoolSize: 20
[16:47:21 EST(-0500)] <EricDalquist> wow
[16:47:29 EST(-0500)] <athena7> yeah, our portal is very sad
[16:47:29 EST(-0500)] <EricDalquist> can you do a thread dump and see what is blocking?
[16:47:37 EST(-0500)] <athena7> how would i do that?
[16:47:42 EST(-0500)] <EricDalquist> kill -3
[16:47:49 EST(-0500)] <EricDalquist> kills -3 <pid>
[16:48:01 EST(-0500)] <athena7> ok hang on
[16:48:01 EST(-0500)] <EricDalquist> that will print the full stack traces of every thread in the JVM to System.out
[16:48:07 EST(-0500)] <EricDalquist> it should end up in catalina.out
[16:48:38 EST(-0500)] <EricDalquist> it will take some serious manual parsing but it will tell you which threads are waiting on which locks and which threads hold which locks
[16:48:49 EST(-0500)] <athena7> ok, just did it
[16:48:51 EST(-0500)] <athena7> i'll look through it
[16:48:53 EST(-0500)] <EricDalquist> which should help you track down what is deadlocking
[16:49:10 EST(-0500)] <athena7> ok
[16:49:18 EST(-0500)] <EricDalquist> I'm sorry I'm not available longer today but I have an appointment that I have to get to
[16:49:25 EST(-0500)] <athena7> no i understand
[16:49:27 EST(-0500)] <athena7> i'll email the list
[16:49:30 EST(-0500)] <EricDalquist> if you still don't have it figured out tonight feel free to email me your thread dump directly
[16:49:43 EST(-0500)] <athena7> looks like most of them are pretty generic - ThreadPool$ControlRunnable
[16:49:44 EST(-0500)] <athena7> sure
[16:49:49 EST(-0500)] <EricDalquist> I have a tool (I think still setup) that can parse them and give a graph
[16:49:56 EST(-0500)] <athena7> excellent
[16:49:57 EST(-0500)] <athena7> thanks
[16:50:10 EST(-0500)] <EricDalquist> http://www.alphaworks.ibm.com/tech/jca
[16:50:15 EST(-0500)] <athena7> thanks
[16:50:30 EST(-0500)] <EricDalquist> hrm
[16:50:32 EST(-0500)] <EricDalquist> that may not be it
[16:50:54 EST(-0500)] <EricDalquist> actually I think it is
[16:50:56 EST(-0500)] <EricDalquist> so yeah
[16:51:02 EST(-0500)] <athena7> have a good evening
[16:51:12 EST(-0500)] <EricDalquist> I'll be on email this evening and will take a look if you need it
[16:51:15 EST(-0500)] <EricDalquist> good luck!
[16:51:31 EST(-0500)] <athena7> thanks!
[17:07:21 EST(-0500)] <esm> athena7: tdan thread dump analyzer
[17:08:21 EST(-0500)] <esm> mmm try http://today.java.net/pub/n/4801
[17:09:09 EST(-0500)] <athena7> thanks!
[17:14:12 EST(-0500)] <athena7> it looks like i just missed running it before the portal was restarted, so we'll have to see if it happens again
Page Comparison
General
Content
Integrations