powered by Jive Software

History retrieval broken on Oracle with Openfire 3.3.3

This is a repost following the Community Process for Bug Reporting of http://www.igniterealtime.org/community/thread/27891?tstart=0


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).


Oracle 9i

Plain Vanilla Openfire 3.3.2 or 3.3.3


  • 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.

Hey Evan,

Sorry that I missed this one for Openfire 3.3.3. I filed JM-1129 and checked in a fix for the next release of Openfire. Openfire 3.4.0 will be the next release and the release date is planed for the end of October.


– Gato

Thanks Gato!

Muchly appreciated.