[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