Quantcast
Channel: Ignite Realtime : All Content - Openfire Dev
Viewing all articles
Browse latest Browse all 966

"Queue full" and Openfire insert query performance

$
0
0

Hi

 

I faced the error following recently.

 

java.lang.IllegalStateException: Queue full

at java.util.AbstractQueue.add(AbstractQueue.java:98)

at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl.logConversation(Mult iUserChatServiceImpl.java:1422)

at org.jivesoftware.openfire.muc.spi.LocalMUCRoom.broadcast(LocalMUCRoom.java:1264 )

at org.jivesoftware.openfire.muc.cluster.BroadcastMessageRequest$1.run(BroadcastMe ssageRequest.java:72)

at org.jivesoftware.openfire.muc.cluster.MUCRoomTask.execute(MUCRoomTask.java:85)

at org.jivesoftware.openfire.muc.cluster.BroadcastMessageRequest.run(BroadcastMess ageRequest.java:69)

 

 

When I checked source code, there is limit number of queue size.

Openfire/MultiUserChatServiceImpl.java at master · igniterealtime/Openfire · GitHub

privateQueue<ConversationLogEntry> logQueue =newLinkedBlockingQueue<>(100000);

 

Is there any reason that queue size is 100000 ?

 

 

And, seems "logConversation" method call insert query for each 1 record.

but there are log data.

Cannot use batch insert to increase performance ?

Openfire/MultiUserChatServiceImpl.java at master · igniterealtime/Openfire · GitHub

 

private void logConversation() {

        ConversationLogEntry entry;

        boolean success;

        for (int index = 0; index <= log_batch_size && !logQueue.isEmpty(); index++) {

            entry = logQueue.poll();

            if (entry != null) {

                success = MUCPersistenceManager.saveConversationLogEntry(entry);

                if (!success) {

                    logQueue.add(entry);

                }

            }

        }

    }

 

    private void logAllConversation() {

        ConversationLogEntry entry;

        while (!logQueue.isEmpty()) {

            entry = logQueue.poll();

            if (entry != null) {

                MUCPersistenceManager.saveConversationLogEntry(entry);

            }

        }

    }

 

Thanks gaku


Viewing all articles
Browse latest Browse all 966

Trending Articles