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

Is it possible to permanently fill the queued MUC messages?

$
0
0

One of our ops team noticed a lot of stack traces in the Openfire DB starting:

 

2010.09.14 02:45:25 [org.jivesoftware.openfire.muc.spi.MUCPersistenceManager.saveConversationLogEnt ry(MUCPersistenceManager.java:991)] Error saving conversation log entry

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'subject' at row 1

        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2983)

        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)

        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)

        at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)

        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)

        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1604)

        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1519)

        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1504)

        at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at org.logicalcobwebs.proxool.ProxyStatement.invoke(ProxyStatement.java:100)

        at org.logicalcobwebs.proxool.ProxyStatement.intercept(ProxyStatement.java:57)

        at $java.sql.PreparedStatement$$EnhancerByProxool$$2d6807aa.executeUpdate(<generat ed>)

        at org.jivesoftware.openfire.muc.spi.MUCPersistenceManager.saveConversationLogEntr y(MUCPersistenceManager.java:987)

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

        at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl.access$100(MultiUser ChatServiceImpl.java:64)

        at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl$LogConversationTask. run(MultiUserChatServiceImpl.java:401)

        at java.util.TimerThread.mainLoop(Timer.java:512)

        at java.util.TimerThread.run(Timer.java:462)

 

I believe I understand the way the muc log works (if rooms have logging enabled) - a flush time and a batch size are set. At the specified interval, a batch amount of logs can be committed. But what happens if there is a subject that is over the max column size? Does this mean the batch will always fail (until the offending message(s) are cleared from that queue via a restart?


Viewing all articles
Browse latest Browse all 966

Trending Articles