This is a repost following the Community Process for Bug Reporting of http://www.igniterealtime.org/community/thread/27891?tstart=0
Description:
The problem I am experiencing is that after a full server restart a permanent & logging multi-user chat room no longer displays any history, it
essentially starts fresh. The data however, is still stored in the DB (Oracle 9i in our case).
Setup:
Oracle 9i
Plain Vanilla Openfire 3.3.2 or 3.3.3
Repro:
-
start Openfire
-
Create a permanent conference room (MUC)
-
Setup room to log all conversations
-
say some things in the chat room
-
stop Openfire
-
start Openfire
-
rejoin permanent conference room
-
note that the things you said are not displayed in the room
– check the DB and note that the things you said are logged in the DB MUC tables
Root Analysis:
There is a bug in the query in MUCPersistanceManager.java on Oracle.
The queries for LOAD_ALL_HISTORY and LOAD_HISTORY use nickname <> ‘’’’ in their queries. This does not work on Oracle. It does, however, work in MySQL.
If you replace nickname <> ‘’’’ with nickname is not null for both these queries you will get all the results back properly in both MySQL and Oracle.
As I have not completed (aka. signed) the Community Process I will not be posting a patch on this issue at this point in time.