[Opensource] Exception replying to forum message
Mike Traum
mtraum at jgroup.net
Wed Dec 10 19:31:33 PST 2003
Sorry, I should have told you that this was taken care of, at least I
think it is. I found the same - referential integrity. I used the query:
select FORUMSUBSCRIBE.* from FORUMSUBSCRIBE LEFT JOIN USERSTABLE ON
(FORUMSUBSCRIBE.ExpUid = USERSTABLE.ExpUid) WHERE USERSTABLE.ExpUid is
null;
to isolate the records. I just ran you're query - it returns 11664
records. It's an outer join, so all of those records are not erroneous,
right?
BTW, I took a look at the forum code, and it looks like this problem has
been taken care of already and this data was leftover from a previous
version.
mike
On Wed, 2003-12-10 at 17:19, Peter A. Pilgrim wrote:
> D Lloyd wrote:
> > I was trying to reply to an eForum message on the jcorporate site and
> > recieved an exception.
> >
> > The message was
> > http://www.jcorporate.com/eforum/Browse.do?state=promptReply&MessageId=6867
> >
> > exception:
> >
> > com.jcorporate.expresso.core.db.DBException: cannot find user: 470 at
> > com.jcorporate.expresso.core.security.User.getUserFromId(User.java:1353)
> > at com.jcorporate.eforum.dbobj.ForumMessage.add(ForumMessage.java:208) at
> > com.jcorporate.eforum.controller.Browse.runReplyToState(Browse.java:1241)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> > at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> > at java.lang.reflect.Method.invoke(Method.java:324) at
> > com.jcorporate.expresso.core.controller.Controller.newState(Controller.java:1371)
> > at
> > com.jcorporate.expresso.core.controller.Controller.execute(Controller.java:1843)
> > at
> > org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
> > at
> > org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
> > at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
> > at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:165) at
> >
> >
> >
> > Is this a "normal" situation where a subscriber to the list would not be
> > found? Do we need a check here catching this exception? I guess this is
> > about the last thing that a user would want to see when posting unless
> > noone would recieve the message. Of course the person being ignored might
> > not like it either unless the problem is the user has been deleted. Which
> > brings up the point - did my message get sent?
> >
> > Well my reply had mentioned it being late. Now it is very late. Good
> > night.
> >
> > - David Lloyd
> > d a v i d @ l l o y d h o m e . c o m
> > --------------
> > I love deadlines. I like the whooshing sound they make as they fly by.
> > (Douglas Adams)
>
> I think this looks like a data integrity problem. Forum subscriber that does
> not exist in the Expresso Users table.
>
>
>
> mysql> SELECT F.ExpUid, U.LoginName, U.Email, U.CreateDate, U.AccountStatus
> FROM FORUMSUBSCRIBE F RIGHT OUTER JOIN USERSTABLE U
> ON U.ExpUid = F.ExpUID
> WHERE F.ExpUid IS NULL;
>
> +--------+-----------+-------+---------------------+---------------+
> | ExpUid | LoginName | Email | CreateDate | AccountStatus |
> +--------+-----------+-------+---------------------+---------------+
> | NULL | Anonymous | none | 2002-08-28 02:21:11 | D |
> | NULL | NONE | none | 2002-08-28 02:21:11 | D |
> +--------+-----------+-------+---------------------+---------------+
> 2 rows in set (0.00 sec)
>
> There should at least be two users.
--
Mike Traum
--
JGroup Expert
Expresso Core Developer
Providing support and development services - Available Now!
More information about the Opensource
mailing list