|All forum show no thread , but message are there - 2.6 [message #30673]
||Wed, 08 March 2006 08:34
Hi, i've installed egw with FudForum 2.6 (php 4.3.11)|
I don't know what happened but now in every forum i have, it says no thread yet
but the last message is shown in the right column
i try to run the consistency checker, with no luck
i check error message in administration board nothing
i have one error in SQL error, related to admaprune.php
a query seems to failed, is that related ?
where could i look to know what is going on ?
i cannot upgrade to 2.7
->is there any flat cache involved? a special query to check in sql ?
any helps is very welcome.
|Re: All forum show no thread , but message are there - 2.6 [message #30681 is a reply to message #30673]
||Wed, 08 March 2006 10:05
thanks for your concern Ilia!|
logging in FudForum administration , checking Error Log Viewer
give me nothing
and Sql error log give me :
Tue Mar 7 15:05:19 GMT 2006 (
Query: SELECT s.id AS sid, s.data, s.returnto, t.id AS theme_id, t.lang, t.name AS theme_name, t.locale, t.theme, t.pspell_lang, t.theme_opt, u.alias, u.posts_ppg, u.time_zone, u.sig, u.last_visit, u.last_read, u.cat_collapse_status, u.users_opt, u.ignore_list, u.ignore_list, u.buddy_list, u.id, u.group_leader_list, u.email, u.login FROM phpgw_fud_ses s INNER JOIN phpgw_fud_users u ON u.id=(CASE WHEN s.user_id>2000000000 THEN 1 ELSE s.user_id END) INNER JOIN phpgw_fud_themes t ON t.id=u.theme WHERE s.ses_id='s'
[Referring Page] http://**********/fudforum/3208225109/adm/admprune.php?
my php error log show :
[01-Mar-2006 16:37:41] PHP Warning: mysql_connect(): Lost connection to MySQL server during query in **********/phpgwapi/inc/adodb/drivers/adodb-mysql.inc.php on line 338
[01-Mar-2006 17:12:53] PHP Warning: mysql_connect(): Lost connection to MySQL server during query in **********/phpgwapi/inc/adodb/drivers/adodb-mysql.inc.php on line 338
which doesn't seems to be related...but who knows?
I've tried to post a new thread, the thread is posted, i can go to my message,
but in the forum, it says no thread yet.
in the the main categorie where it show all forum, i've got the message at the last one.
Which table should i, could i check in the database ?
thanks a lot your your help!
(by the way, hope the 5.1.3 RC will be about with no mr murphy!)
|Re: All forum show no thread , but message are there - 2.6 [message #30684 is a reply to message #30681]
||Wed, 08 March 2006 12:25
After going with mysql log query, making a dump of production database on my dev box, i try with my old dev environnement to post a thread and then with the new database created from the dump|
i track the query which fail to report thread :
m.attach_cnt, m.poll_id, m.subject, m.icon, m.post_stamp,
t.id, t.moved_to, t.root_msg_id, t.replies, t.rating, t.thread_opt, t.views,
FROM phpgw_fud_thread_view tv
INNER JOIN phpgw_fud_thread t ON tv.thread_id=t.id
INNER JOIN phpgw_fud_msg m ON t.root_msg_id=m.id
INNER JOIN phpgw_fud_msg m2 ON m2.id=t.last_post_id
LEFT JOIN phpgw_fud_users u ON u.id=m.poster_id
LEFT JOIN phpgw_fud_users u2 ON u2.id=m2.poster_id
LEFT JOIN phpgw_fud_forum f ON f.id=t.moved_to
LEFT JOIN phpgw_fud_read r ON t.id=r.thread_id AND r.user_id=2
WHERE tv.forum_id=2 AND tv.page=1 ORDER BY tv.pos ASC
ok so far so good.
so something went wrong with the db, the hoster happened to say there had a migration and i found a mysql lost connection in my php error log,
but i must datetime doesn't match for any action with the accesslog...
i'm trying to figure out how i could update the db to repare the harm...
after testing query, join by join, i finally arrive to the AND tv.page=1 which cause no row return since all row in thread_view have page=3
how is used the page parameter?
what is expected, the query to ask for tv.page=3 or the row may contains page=1
thanks in advance.
[Updated on: Wed, 08 March 2006 12:32]
Report message to a moderator
|Re: All forum show no thread , but message are there - 2.6 [message #30699 is a reply to message #30673]
||Thu, 09 March 2006 11:27
i've tried that before with no luck|
in fact i don't know how that ever happended but all page where at 3 in fud_thread_view,
i tracked down all queries, and finally i found that :
DELETE FROM phpgw_fud_thread_view WHERE forum_id=2
17 Query INSERT INTO phpgw_fud_thread_view (thread_id,forum_id,page,tmp) SELECT phpgw_fud_thread.id, phpgw_fud_thread.forum_id, 2147483645, CASE WHEN thread_opt>=2 AND (phpgw_fud_msg.post_stamp+phpgw_fud_thread.orderexpiry>1141905447 OR phpgw_fud_thread.orderexpiry=0) THEN 4294967294 ELSE phpgw_fud_thread.last_post_date END AS sort_order_fld FROM phpgw_fud_thread INNER JOIN phpgw_fud_msg ON phpgw_fud_thread.root_msg_id=phpgw_fud_msg.id WHERE forum_id=2 AND phpgw_fud_msg.apr=1 ORDER BY sort_order_fld DESC, phpgw_fud_thread.last_post_id DESC
17 Query UPDATE phpgw_fud_thread_view SET page=CEILING(pos/40), pos=pos-(CEILING(pos/40)-1)*40 WHERE forum_id=2
17 Query UPDATE phpgw_fud_forum SET post_count=post_count+1, thread_count=thread_count+1, last_post_id=31 WHERE id=2
when i update fud_thread_view set page=1 where forum_id=2
all was working again,
but then inserting a new post or deleting one would cause page go back to 3
i try to run the select part of the inser to see how page was calculated, (i must say it is still obscure for me! )
and then it came out that the insert into failed because there was a duplicate key 2-2-xxxxxxxxxx on thread_view
i just drop the table, re create it from a sql script
run the checker and all went good!
thanks it is fixed now.
[Updated on: Thu, 09 March 2006 11:28]
Report message to a moderator