esme-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Richard Hirsch <hirsch.d...@gmail.com>
Subject Re: The 'other' Anne breaks the timeline
Date Mon, 08 Nov 2010 14:08:05 GMT
On Mon, Nov 8, 2010 at 2:57 PM, Vassil Dichev <vdichev@apache.org> wrote:
> The invisible messages are "invisible" because they are not saved to
> the database. This means that:
> 1) if you grab a list of the last 40 messages in Anne's timeline, you
> won't get to see the "invisible" ones
> 2) "invisible" messages don't survive a restart

But look at this user's timeline:
http://esmecloudserverapache.dickhirsch.staxapps.net/user/matyjas

He also has information from an RSS feed. Some of it is from Sunday
which is before the last restart.  Aren't these messages also
"invisible"?

> 3) "invisible" messages cannot be retrieved using a query, but only
> via some listener actor
>
> There is an easy way to catch one of these messages in your timeline-
> just bind the "every X mins" test to a "resend" action. I don't think
> it's just as easy to make a wish come true though ;-)
>
> Maybe it's clearer if call these messages non-persistent than
> invisible and then some of these phenomena would also be
> self-explanatory.
>
> Vassil
>
>
> On Mon, Nov 8, 2010 at 3:09 PM, Ethan Jewett <esjewett@gmail.com> wrote:
>> Yup, that is the beginning of it. The end-game comes in Message.scala, at
>> line 370. It looks like it fails before the nameMap method gets called.
>> Makes me think maybe it is a message with an at_name element that exists but
>> with an id that is blank, or something like that.
>>
>> Is there any way we can grab a a list of the last 40 or so messages in
>> Anne's timeline off of the database? Would that be OK Anne?
>>
>> On the unrelated topic, the fabled "invisible messages" are messages that
>> are generated by "every X mins" action tests. I believe they have mailbox
>> reason RegularReason. What actually seems to happen when you set up an
>> action with a test like this is that an Action is set up to listen for one
>> of these messages and then do something. There is also a timer set up that
>> sends one of these messages at the specified interval. These messages are
>> not displayed in the timeline, but some queries don't properly restrict them
>> out of the query scope. When you search for the last 40 messages in my
>> mailbox with no restriction on MailboxReason, then a lot of the messages
>> that come back will be invisible. If there are 40 or these invisible
>> messages, they push all other messages out of the mailbox and I appear to
>> have a blank timeline. We fixed this problem for normal mailbox operations
>> several months ago, but I think maybe we missed a query the repopulates the
>> mailbox after a restart.
>>
>> Rumor has it that if you catch one of these messages in your timeline, you
>> get to make a wish ;-)
>>
>> Ethan
>>
>> On Mon, Nov 8, 2010 at 12:59 PM, Richard Hirsch <hirsch.dick@gmail.com>wrote:
>>
>>> here is the exception - I don't know whether there are two exceptions
>>> or just one.
>>>
>>> I've turned all other logging, so I'll be able to keep closer tabs on
>>> the instance.
>>>
>>> This line is interesting :
>>> org.apache.esme.snippet.UserDisplay$.userInfo(UserDisplay.scala:63)
>>>
>>> What do you mean by "invisible messages"?
>>>
>>> D.
>>>
>>> ---------------
>>>
>>> ERROR - Array(scala.collection.Map$class.default(Map.scala:169),
>>> scala.collection.immutable.EmptyMap.default(EmptyMap.scala:22),
>>> scala.collection.Map$class.apply(Map.scala:80),
>>> scala.collection.immutable.EmptyMap.apply(EmptyMap.scala:22),
>>>
>>> org.apache.esme.model.Message$$anonfun$toXml$3$$anonfun$apply$10$$anonfun$apply$11.apply(Message.scala:371),
>>>
>>> org.apache.esme.model.Message$$anonfun$toXml$3$$anonfun$apply$10$$anonfun$apply$11.apply(Message.scala:370),
>>> scala.Option.map(Option.scala:70),
>>>
>>> org.apache.esme.model.Message$$anonfun$toXml$3$$anonfun$apply$10.apply(Message.scala:370),
>>>
>>> org.apache.esme.model.Message$$anonfun$toXml$3$$anonfun$apply$10.apply(Message.scala:368),
>>> scala.Seq$class.map(Seq.scala:280),
>>> scala.xml.NodeSeq.map(NodeSeq.scala:34),
>>> org.apache.esme.model.Message$$anonfun$toXml$3.apply(Message.scala:368),
>>> org.apache.esme.model.Message$$anonfun$toXml$3.apply(Message.scala:368),
>>> scala.Seq$class.map(Seq.scala:280),
>>> scala.xml.NodeSeq.map(NodeSeq.scala:34),
>>> org.apache.esme.model.Message.toXml(Message.scala:368),
>>> org.apache.esme.model.Message.digestedXHTML(Message.scala:384),
>>>
>>> org.apache.esme.lib.MessageUtils$$anonfun$bindMessages$1.apply(MessageUtils.scala:47),
>>>
>>> org.apache.esme.lib.MessageUtils$$anonfun$bindMessages$1.apply(MessageUtils.scala:43),
>>> scala.List.flatMap(List.scala:1132),
>>> org.apache.esme.lib.MessageUtils$.bindMessages(MessageUtils.scala:43),
>>>
>>> org.apache.esme.snippet.UserDisplay$$anonfun$userInfo$3.apply(UserDisplay.scala:70),
>>>
>>> org.apache.esme.snippet.UserDisplay$$anonfun$userInfo$3.apply(UserDisplay.scala:70),
>>>
>>> net.liftweb.util.BindHelpers$FuncBindParam.calcValue(BindHelpers.scala:227),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1$$anonfun$apply$24.apply(BindHelpers.scala:499),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1$$anonfun$apply$24.apply(BindHelpers.scala:492),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:491),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:490),
>>> scala.Seq$class.flatMap(Seq.scala:294),
>>> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2.in_bind$1(BindHelpers.scala:490),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:512),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:490),
>>> scala.Seq$class.flatMap(Seq.scala:294),
>>> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2.in_bind$1(BindHelpers.scala:490),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:512),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:490),
>>> scala.Seq$class.flatMap(Seq.scala:294),
>>> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2.in_bind$1(BindHelpers.scala:490),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:512),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:490),
>>> scala.Seq$class.flatMap(Seq.scala:294),
>>> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2.in_bind$1(BindHelpers.scala:490),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:512),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:490),
>>> scala.Seq$class.flatMap(Seq.scala:294),
>>> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2.in_bind$1(BindHelpers.scala:490),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:512),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:490),
>>> scala.Seq$class.flatMap(Seq.scala:294),
>>> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2.in_bind$1(BindHelpers.scala:490),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:512),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:490),
>>> scala.Seq$class.flatMap(Seq.scala:294),
>>> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2.in_bind$1(BindHelpers.scala:490),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:512),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:490),
>>> scala.Seq$class.flatMap(Seq.scala:294),
>>> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
>>>
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2.in_bind$1(BindHelpers.scala:490),
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2.apply(BindHelpers.scala:517),
>>> net.liftweb.util.BindHelpers$$anonfun$bind$2.apply(BindHelpers.scala:475),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>> net.liftweb.util.BindHelpers$class.bind(BindHelpers.scala:475),
>>> net.liftweb.util.Helpers$.bind(Helpers.scala:34),
>>> net.liftweb.util.BindHelpers$class.bind(BindHelpers.scala:444),
>>> net.liftweb.util.Helpers$.bind(Helpers.scala:34),
>>> net.liftweb.util.BindHelpers$class.bind(BindHelpers.scala:414),
>>> net.liftweb.util.Helpers$.bind(Helpers.scala:34),
>>> org.apache.esme.snippet.UserDisplay$.userInfo(UserDisplay.scala:63),
>>> bootstrap.liftweb.Boot$$anonfun$5.apply(Boot.scala:174),
>>> bootstrap.liftweb.Boot$$anonfun$5.apply(Boot.scala:174),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$locSnippet$1$1$$anonfun$apply$65.apply(LiftSession.scala:905),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$locSnippet$1$1$$anonfun$apply$65.apply(LiftSession.scala:905),
>>> net.liftweb.common.Full.map(Box.scala:398),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$locSnippet$1$1.apply(LiftSession.scala:905),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$locSnippet$1$1.apply(LiftSession.scala:904),
>>> net.liftweb.common.Full.flatMap(Box.scala:400),
>>> net.liftweb.http.LiftSession.locSnippet$1(LiftSession.scala:904),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68$$anonfun$apply$70.apply(LiftSession.scala:919),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68$$anonfun$apply$70.apply(LiftSession.scala:919),
>>> net.liftweb.common.EmptyBox.or(Box.scala:467),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68.apply(LiftSession.scala:918),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68.apply(LiftSession.scala:919),
>>> net.liftweb.http.S$.doSnippet(S.scala:1749),
>>> net.liftweb.http.LiftSession$$anonfun$23.apply(LiftSession.scala:917),
>>> net.liftweb.http.LiftSession$$anonfun$23.apply(LiftSession.scala:916),
>>> net.liftweb.common.Full.map(Box.scala:398),
>>> net.liftweb.http.LiftSession.net
>>> $liftweb$http$LiftSession$$processSnippet(LiftSession.scala:916),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing$1.apply(LiftSession.scala:1032),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing$1.apply(LiftSession.scala:1020),
>>> net.liftweb.util.NamedPF.apply(NamedPartialFunction.scala:36),
>>> net.liftweb.util.NamedPF$.apply(NamedPartialFunction.scala:82),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82$$anonfun$apply$83$$anonfun$apply$84.apply(LiftSession.scala:1134),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82$$anonfun$apply$83$$anonfun$apply$84.apply(LiftSession.scala:1134),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>> net.liftweb.http.S$.setVars(S.scala:1585),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82$$anonfun$apply$83.apply(LiftSession.scala:1133),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82$$anonfun$apply$83.apply(LiftSession.scala:1133),
>>> net.liftweb.http.S$.withAttrs(S.scala:1604),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82.apply(LiftSession.scala:1132),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82.apply(LiftSession.scala:1132),
>>> net.liftweb.http.S$.doSnippet(S.scala:1749),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81.apply(LiftSession.scala:1131),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81.apply(LiftSession.scala:1131),
>>> net.liftweb.http.LiftSession.net
>>> $liftweb$http$LiftSession$$processOrDefer(LiftSession.scala:1116),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:1130),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:1124),
>>> scala.Seq$class.flatMap(Seq.scala:294),
>>> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
>>>
>>> net.liftweb.http.LiftSession.processSurroundAndInclude(LiftSession.scala:1123),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:1144),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:1124),
>>> scala.Seq$class.flatMap(Seq.scala:294),
>>> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
>>>
>>> net.liftweb.http.LiftSession.processSurroundAndInclude(LiftSession.scala:1123),
>>>
>>> net.liftweb.builtin.snippet.Surround$$anonfun$render$1$$anonfun$apply$2.apply(Surround.scala:39),
>>>
>>> net.liftweb.builtin.snippet.Surround$$anonfun$render$1$$anonfun$apply$2.apply(Surround.scala:36),
>>> net.liftweb.common.Full.map(Box.scala:398),
>>>
>>> net.liftweb.builtin.snippet.Surround$$anonfun$render$1.apply(Surround.scala:36),
>>>
>>> net.liftweb.builtin.snippet.Surround$$anonfun$render$1.apply(Surround.scala:35),
>>> net.liftweb.common.Full.flatMap(Box.scala:400),
>>> net.liftweb.builtin.snippet.Surround$.render(Surround.scala:35),
>>>
>>> net.liftweb.builtin.snippet.Surround$$anonfun$dispatch$1$$anonfun$apply$1.apply(Surround.scala:31),
>>>
>>> net.liftweb.builtin.snippet.Surround$$anonfun$dispatch$1$$anonfun$apply$1.apply(Surround.scala:31),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68$$anonfun$apply$71$$anonfun$apply$73.apply(LiftSession.scala:936),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68$$anonfun$apply$71$$anonfun$apply$73.apply(LiftSession.scala:920),
>>> net.liftweb.common.EmptyBox.openOr(Box.scala:465),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68$$anonfun$apply$71.apply(LiftSession.scala:920),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68$$anonfun$apply$71.apply(LiftSession.scala:920),
>>> net.liftweb.common.EmptyBox.openOr(Box.scala:465),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68.apply(LiftSession.scala:919),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68.apply(LiftSession.scala:919),
>>> net.liftweb.http.S$.doSnippet(S.scala:1749),
>>> net.liftweb.http.LiftSession$$anonfun$23.apply(LiftSession.scala:917),
>>> net.liftweb.http.LiftSession$$anonfun$23.apply(LiftSession.scala:916),
>>> net.liftweb.common.Full.map(Box.scala:398),
>>> net.liftweb.http.LiftSession.net
>>> $liftweb$http$LiftSession$$processSnippet(LiftSession.scala:916),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing$1.apply(LiftSession.scala:1032),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing$1.apply(LiftSession.scala:1020),
>>> net.liftweb.util.NamedPF.apply(NamedPartialFunction.scala:36),
>>> net.liftweb.util.NamedPF$.apply(NamedPartialFunction.scala:82),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82$$anonfun$apply$83$$anonfun$apply$84.apply(LiftSession.scala:1134),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82$$anonfun$apply$83$$anonfun$apply$84.apply(LiftSession.scala:1134),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>> net.liftweb.http.S$.setVars(S.scala:1585),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82$$anonfun$apply$83.apply(LiftSession.scala:1133),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82$$anonfun$apply$83.apply(LiftSession.scala:1133),
>>> net.liftweb.http.S$.withAttrs(S.scala:1604),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82.apply(LiftSession.scala:1132),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82.apply(LiftSession.scala:1132),
>>> net.liftweb.http.S$.doSnippet(S.scala:1749),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81.apply(LiftSession.scala:1131),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81.apply(LiftSession.scala:1131),
>>> net.liftweb.http.LiftSession.net
>>> $liftweb$http$LiftSession$$processOrDefer(LiftSession.scala:1116),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:1130),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:1124),
>>> scala.Seq$class.flatMap(Seq.scala:294),
>>> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
>>>
>>> net.liftweb.http.LiftSession.processSurroundAndInclude(LiftSession.scala:1123),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processTemplate$1$2.apply(LiftSession.scala:546),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$processTemplate$1$2.apply(LiftSession.scala:544),
>>> net.liftweb.common.Full.map(Box.scala:398),
>>> net.liftweb.http.LiftSession.processTemplate$1(LiftSession.scala:544),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$14$$anonfun$apply$39$$anonfun$apply$42.apply(LiftSession.scala:598),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$14$$anonfun$apply$39$$anonfun$apply$42.apply(LiftSession.scala:598),
>>> net.liftweb.common.EmptyBox.or(Box.scala:467),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$14$$anonfun$apply$39.apply(LiftSession.scala:597),
>>>
>>> net.liftweb.http.LiftSession$$anonfun$14$$anonfun$apply$39.apply(LiftSession.scala:597),
>>> net.liftweb.util.StackableMaker$class.doWith(Maker.scala:141),
>>> net.liftweb.http.Factory$FactoryMaker.doWith(Factory.scala:37),
>>> net.liftweb.util.StackableMaker$class.doWith(Maker.scala:135),
>>> net.liftweb.http.Factory$FactoryMaker.doWith(Factory.scala:37),
>>> net.liftweb.http.LiftSession$$anonfun$14.apply(LiftSession.scala:596),
>>> net.liftweb.http.LiftSession$$anonfun$14.apply(LiftSession.scala:591),
>>> net.liftweb.common.EmptyBox.or(Box.scala:467),
>>> net.liftweb.http.LiftSession.processRequest(LiftSession.scala:591),
>>> net.liftweb.http.LiftServlet.net
>>> $liftweb$http$LiftServlet$$dispatchStatefulRequest(LiftServlet.scala:285),
>>> net.liftweb.http.LiftServlet$$anonfun$3.apply(LiftServlet.scala:188),
>>> net.liftweb.http.LiftServlet$$anonfun$3.apply(LiftServlet.scala:188),
>>> net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:1042),
>>>
>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1$$anonfun$apply$26.apply(S.scala:1182),
>>> net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:979),
>>>
>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$doAround$1.apply(S.scala:980),
>>>
>>> net.liftweb.mapper.MetaProtoExtendedSession$myWrapper$.apply(ProtoExtendedSession.scala:81),
>>> net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:980),
>>>
>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1.apply(S.scala:1180),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>> net.liftweb.http.S$.net$liftweb$http$S$$_nest2InnerInit(S.scala:1179),
>>>
>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$29$$anonfun$apply$30$$anonfun$apply$31$$anonfun$apply$32.apply(S.scala:1205),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>> net.liftweb.http.S$.withReq(S.scala:1214),
>>>
>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$29$$anonfun$apply$30$$anonfun$apply$31.apply(S.scala:1204),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>>
>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$29$$anonfun$apply$30.apply(S.scala:1203),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>>
>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$29.apply(S.scala:1202),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>>
>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1.apply(S.scala:1201),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>> net.liftweb.http.S$.net$liftweb$http$S$$_innerInit(S.scala:1200),
>>>
>>> net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$39$$anonfun$apply$40$$anonfun$apply$41$$anonfun$apply$42$$anonfun$apply$43.apply(S.scala:1254),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>>
>>> net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$39$$anonfun$apply$40$$anonfun$apply$41$$anonfun$apply$42.apply(S.scala:1253),
>>> net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:329),
>>> net.liftweb.http.RequestVarHandler$.apply(Vars.scala:250),
>>>
>>> net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$39$$anonfun$apply$40$$anonfun$apply$41.apply(S.scala:1252),
>>> net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:329),
>>> net.liftweb.http.TransientRequestVarHandler$.apply(Vars.scala:254),
>>>
>>> net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$39$$anonfun$apply$40.apply(S.scala:1251),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>> net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$39.apply(S.scala:1250),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>> net.liftweb.http.S$$anonfun$_init$1.apply(S.scala:1249),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>> net.liftweb.http.S$._init(S.scala:1248),
>>> net.liftweb.http.S$.init(S.scala:887),
>>> net.liftweb.http.LiftServlet.doService(LiftServlet.scala:187),
>>> net.liftweb.http.LiftServlet$$anonfun$doIt$1$1.apply(LiftServlet.scala:86),
>>> net.liftweb.http.LiftServlet$$anonfun$doIt$1$1.apply(LiftServlet.scala:86),
>>> net.liftweb.util.TimeHelpers$class.calcTime(TimeHelpers.scala:326),
>>> net.liftweb.util.Helpers$.calcTime(Helpers.scala:34),
>>> net.liftweb.util.TimeHelpers$class.logTime(TimeHelpers.scala:335),
>>> net.liftweb.util.Helpers$.logTime(Helpers.scala:34),
>>> net.liftweb.http.LiftServlet.doIt$1(LiftServlet.scala:85),
>>> net.liftweb.http.LiftServlet.service(LiftServlet.scala:93),
>>>
>>> net.liftweb.http.provider.HTTPProvider$$anonfun$service$3.apply(HTTPProvider.scala:61),
>>>
>>> net.liftweb.http.provider.HTTPProvider$$anonfun$service$3.apply(HTTPProvider.scala:61),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>> net.liftweb.http.URLRewriter$.doWith(Req.scala:618),
>>>
>>> net.liftweb.http.provider.HTTPProvider$class.service(HTTPProvider.scala:60),
>>> net.liftweb.http.LiftFilter.service(LiftServlet.scala:586),
>>>
>>> net.liftweb.http.provider.servlet.ServletFilterProvider$class.protected$service(ServletFilterProvider.scala:67),
>>> net.liftweb.http.LiftFilter.protected$service(LiftServlet.scala:586),
>>>
>>> net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1$$anonfun$apply$1.apply(ServletFilterProvider.scala:67),
>>>
>>> net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1$$anonfun$apply$1.apply(ServletFilterProvider.scala:62),
>>>
>>> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9$$anonfun$apply$10$$anonfun$apply$11$$anonfun$apply$12.apply(Vars.scala:335),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>>
>>> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9$$anonfun$apply$10$$anonfun$apply$11.apply(Vars.scala:334),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>>
>>> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9$$anonfun$apply$10.apply(Vars.scala:333),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>>
>>> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9.apply(Vars.scala:332),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>> net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:331),
>>> net.liftweb.http.RequestVarHandler$.apply(Vars.scala:250),
>>>
>>> net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1.apply(ServletFilterProvider.scala:61),
>>>
>>> net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1.apply(ServletFilterProvider.scala:61),
>>>
>>> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9$$anonfun$apply$10$$anonfun$apply$11$$anonfun$apply$12.apply(Vars.scala:335),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>>
>>> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9$$anonfun$apply$10$$anonfun$apply$11.apply(Vars.scala:334),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>>
>>> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9$$anonfun$apply$10.apply(Vars.scala:333),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>>
>>> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9.apply(Vars.scala:332),
>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
>>> net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:331),
>>> net.liftweb.http.TransientRequestVarHandler$.apply(Vars.scala:254),
>>>
>>> net.liftweb.http.provider.servlet.ServletFilterProvider$class.doFilter(ServletFilterProvider.scala:60),
>>> net.liftweb.http.LiftFilter.doFilter(LiftServlet.scala:586),
>>>
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235),
>>>
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206),
>>>
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233),
>>>
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191),
>>>
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127),
>>>
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102),
>>>
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109),
>>>
>>> net.stax.appserver.webapp.RequestMonitorValve.invoke(RequestMonitorValve.java:35),
>>>
>>> net.stax.appserver.admin.StaxApplicationQueryValve.invoke(StaxApplicationQueryValve.java:42),
>>>
>>> net.stax.appserver.webapp.RequestSetupValve.invoke(RequestSetupValve.java:31),
>>> org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:632),
>>>
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298),
>>>
>>> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:883),
>>>
>>> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721),
>>>
>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2258),
>>>
>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886),
>>>
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908),
>>> java.lang.Thread.run(Thread.java:619))
>>>
>>> On Mon, Nov 8, 2010 at 12:39 PM, Ethan Jewett <esjewett@gmail.com> wrote:
>>> > Hmmm, Anne's user page isn't working now. Can you check the logs for the
>>> > last 2 hrs?
>>> >
>>> > My timeline is always like that (empty) after a server restart. I'm not
>>> sure
>>> > why that happens to me, but I bet it has to do with the invisible
>>> messages
>>> > in my timeline from the "every 5 mins" actions. I have been meaning to
>>> try
>>> > to refactor and evict those messages into a whole separate messaging
>>> > subsystem for the actors, but I haven't even gotten around to thinking
>>> about
>>> > if that makes sense, much less creating a Jira item for it :-)
>>> >
>>> > Ethan
>>> >
>>> > On Mon, Nov 8, 2010 at 10:10 AM, Richard Hirsch <hirsch.dick@gmail.com
>>> >wrote:
>>> >
>>> >> Still looks good - I'll look into the stax log every once in a while
>>> >> to see if have any more exceptions.
>>> >>
>>> >> On Mon, Nov 8, 2010 at 9:08 AM, Richard Hirsch <hirsch.dick@gmail.com>
>>> >> wrote:
>>> >> > Just deployed on stax with vassil's code change.
>>> >> >
>>> >> > Anne's timeline is now visible without an error. What is even stranger
>>> >> > is that ethan's timeline is also visible but just with my last
>>> >> > message. Normally Ethan's timeline is empty, so I was a little
bit
>>> >> > surprised.
>>> >> >
>>> >> > I'll take another look in 5 minutes to see if everything is still
>>> visible
>>> >> >
>>> >> > D.
>>> >> >
>>> >> > On Sun, Nov 7, 2010 at 3:59 PM, Richard Hirsch <hirsch.dick@gmail.com
>>> >
>>> >> wrote:
>>> >> >> @vassil Thanks for fixing the bug - it was filling our stax
log
>>> >> >>
>>> >> >> I'll do a new stax deployment tomorrow and then we'll see if
the prob
>>> >> >> was the rss feed.
>>> >> >>
>>> >> >> D.
>>> >> >>
>>> >> >> On Sat, Nov 6, 2010 at 9:16 AM, Vassil Dichev <vdichev@apache.org>
>>> >> wrote:
>>> >> >>> You're right, it doesn't seem like parsing the feed should
break the
>>> >> >>> timeline, but it's good to fix this so that we eliminate
any doubt
>>> >> >>> that it causes problems. Besides, it's not a good idea
to assume
>>> that
>>> >> >>> only correctly formatted dates will be passed our way,
so I wanted
>>> to
>>> >> >>> put an end to ESME-275.
>>> >> >>>
>>> >> >>> I've just committed a fix and closed the issue.
>>> >> >>>
>>> >> >>> Vassil
>>> >> >>>
>>> >> >>>
>>> >> >>> On Sat, Nov 6, 2010 at 10:06 AM, Ethan Jewett <esjewett@gmail.com>
>>> >> wrote:
>>> >> >>>> Dick,
>>> >> >>>>
>>> >> >>>> If you want to disable my actions to test, that's fine.
I'm fairly
>>> >> >>>> confident my actions are responsible for the stack
trace you sent.
>>> >> >>>> (Thanks for looking in to it Vassil.)
>>> >> >>>>
>>> >> >>>> I just don't see how an issue with actions could be
the cause of
>>> the
>>> >> >>>> timeline issue. As far as I know, loading a timeline
does not
>>> trigger
>>> >> >>>> this action code that is failing. I could definitely
be wrong, but
>>> I
>>> >> >>>> think there should be a second stack trace or a Lift
error message
>>> >> >>>> that shows up in the logs when someone tries to load
Anne or
>>> David's
>>> >> >>>> user page.
>>> >> >>>>
>>> >> >>>> Ethan
>>> >> >>>>
>>> >> >>>> On Saturday, November 6, 2010, Vassil Dichev <vdichev@apache.org>
>>> >> wrote:
>>> >> >>>>> The reason for the stack trace is that a date in
an RSS feed
>>> cannot
>>> >> be
>>> >> >>>>> parsed properly, or there is no date at all (which
as I see is
>>> >> allowed
>>> >> >>>>> by the RSS spec). It would help if we can find
which RSS feed is
>>> the
>>> >> >>>>> culprit, but I will try to come up with a patch
anyway.
>>> >> >>>>>
>>> >> >>>>> Vassil
>>> >> >>>>>
>>> >> >>>>>
>>> >> >>>>> On Sat, Nov 6, 2010 at 9:05 AM, Richard Hirsch
<
>>> >> hirsch.dick@gmail.com> wrote:
>>> >> >>>>>> I'm working on the following assumptions:
>>> >> >>>>>>
>>> >> >>>>>>   1)  that someone anne follows is the culprit
>>> >> >>>>>>   2) That the reason is some sort of an action
that is called
>>> every
>>> >> 5
>>> >> >>>>>> minutes or so
>>> >> >>>>>>   3) Checking the database shows that the
most of these actions
>>> are
>>> >> from Ethan
>>> >> >>>>>>
>>> >> >>>>>> What I'm going to try is to create a test user
and then follow
>>> the
>>> >> >>>>>> users that anne follows.
>>> >> >>>>>>
>>> >> >>>>>> However, you are correct in saying that I'm
following you as well
>>> >> and
>>> >> >>>>>> my timeline is working.
>>> >> >>>>>>
>>> >> >>>>>> If you want, we can wait until I do this test
before taking such
>>> >> >>>>>> drastic "Big Brother" actions.
>>> >> >>>>>>
>>> >> >>>>>> D.
>>> >> >>>>>>
>>> >> >>>>>>
>>> >> >>>>>>
>>> >> >>>>>> On Fri, Nov 5, 2010 at 8:25 PM, Ethan Jewett
<esjewett@gmail.com
>>> >
>>> >> wrote:
>>> >> >>>>>>> I knew I shouldn't have implied it might
be me :-)
>>> >> >>>>>>>
>>> >> >>>>>>> I definitely have RSS actions, but I'm
wondering what makes you
>>> >> think it's
>>> >> >>>>>>> my actions that are breaking only Anne
& Dave's timelines? You
>>> and
>>> >> several
>>> >> >>>>>>> others follow me, and your timelines are
not broken. Before we
>>> saw
>>> >> this sort
>>> >> >>>>>>> of thing happened because of special characters
in some
>>> messages,
>>> >> right?
>>> >> >>>>>>>
>>> >> >>>>>>> I'm really wondering if the stack trace
you found was the only
>>> >> error. I
>>> >> >>>>>>> think the stack trace you found was the
issue in Jira item
>>> >> >>>>>>> https://issues.apache.org/jira/browse/ESME-275
 This appears to
>>> >> still be
>>> >> >>>>>>> unresolved, but I don't think we ever linked
it to an issue with
>>> >> displaying
>>> >> >>>>>>> a timeline (which should have nothing to
do with a feed or
>>> action).
>>> >> >>>>>>>
>>> >> >>>>>>> Ethan
>>> >> >>>>>>>
>>> >> >>>>>>> On Fri, Nov 5, 2010 at 7:42 PM, Richard
Hirsch <
>>> >> hirsch.dick@gmail.com>wrote:
>>> >> >>>>>>>
>>> >> >>>>>>>> Going through the database - looks
like Ethan might be the
>>> culprit
>>> >> -
>>> >> >>>>>>>> though I don't know why.
>>> >> >>>>>>>>
>>> >> >>>>>>>> @Ethan do want to disable your rss
actions manually or should I
>>> do
>>> >> it
>>> >> >>>>>>>> via big brother ;->
>>> >> >>>>>>>>
>>> >> >>>>>>>> D.
>>> >> >>>>>>>>
>>> >> >>>>>>>> On Fri, Nov 5, 2010 at 2:07 PM, Anne
Kathrine Petterøe
>>> >> >>>>>>>> <yojibee@gmail.com> wrote:
>>> >> >>>>>>>> > LOL :-)
>>> >> >>>>>>>> >
>>> >> >>>>>>>> >
>>> >> >>>>>>>> > On 5 November 2010 13:29, Ethan
Jewett <esjewett@gmail.com>
>>> >> wrote:
>>> >> >>>>>>>> >
>>> >> >>>>>>>> >> I hope it's not me. [Shakes
in boots.]   :-)
>>> >> >>>>>>>> >>
>>> >> >>>>>>>> >> On Fri, Nov 5, 2010 at 12:16
PM, Richard Hirsch <
>>> >> hirsch.dick@gmail.com
>>> >> >>>>>>>> >> >wrote:
>>> >> >>>>>>>> >>
>>> >> >>>>>>>> >> > I can look at the DB
when I get home and see who the
>>> culprit
>>> >> is.
>>> >> >>>>>>>> >> >
>>> >> >>>>>>>> >> > D.
>>> >> >>>>>>>> >> >
>>> >> >>>>>>>> >> > On Fri, Nov 5, 2010 at
11:44 AM, Anne Kathrine Petterøe
>>> >> >>>>>>>> >> > <yojibee@gmail.com>
wrote:
>>> >> >>>>>>>> >> > > Do we know who has
set up an action that would create
>>> the
>>> >> problem?
>>> >> >>>>>>>> >> > >
>>> >> >>>>>>>> >> > > /Anne
>>> >> >>>>>>>> >> > >
>>> >> >>>>>>>> >> > > On 5 November 2010
10:07, Ethan Jewett <
>>> esjewett@gmail.com>
>>> >> wrote:
>>> >> >>>>>>>> >> > >
>>> >> >>>>>>>> >> > >> Yup, that would
explain it. When you sent the stack
>>> trace
>>> >> before,
>>> >> >>>>>>>> was
>>> >> >>>>>>>> >> > that
>>> >> >>>>>>>> >> > >> the only one
that you saw in the Stax environment or
>>> where
>>> >> there
>>> >> >>>>>>>> >> others?
>>> >> >>>>>>>> >> > >>
>>> >> >>>>>>>> >> > >> Ethan
>>> >> >>>>>>>> >> > >>
>>> >> >>>>>>>> >> > >> On Fri, Nov
5, 2010 at 9:34 AM, Richard Hirsch <
>>> >> >>>>>>>> hirsch.dick@gmail.com
>>> >> >>>>>>>> >> > >> >wrote:
>>> >> >>>>> --
>>> >> >>>>> Twitter: http://twitter.com/vdichev
>>> >> >>>>> Blog: http://speaking-my-language.blogspot.com
>>> >> >>>>>
>>> >> >>>>
>>> >> >>>
>>> >> >>>
>>> >> >>>
>>> >> >>> --
>>> >> >>> Twitter: http://twitter.com/vdichev
>>> >> >>> Blog: http://speaking-my-language.blogspot.com
>>> >> >>>
>>> >> >>
>>> >> >
>>> >>
>>> >
>>>
>>
>
>
>
> --
> Twitter: http://twitter.com/vdichev
> Blog: http://speaking-my-language.blogspot.com
>

Mime
View raw message