SQL exception while inserting avatar

Description

Imported issue was from webeling:
Regular errors in the log with respect to the insertation/update of Avatars. The error affects several (all?) transports. Operation is not harmed, it's "just" a nucance in the error logs.

2009.01.07 16:06:12 [org.jivesoftware.openfire.gateway.util.Log4JToOpenfireAppender.append(Log4JToOpenfireAppender.java:49)] Avatar: SQL exception while inserting avatar:
com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Duplicate entry 'someone\40gmail.com@gtalk.jabber.int.kn' for key 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
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.GeneratedMethodAccessor17.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.logicalcobwebs.proxool.ProxyStatement.invoke(ProxyStatement.java:100)
at org.logicalcobwebs.proxool.ProxyStatement.intercept(ProxyStatement.java:57)
at $java.sql.PreparedStatement$$EnhancerByProxool$$7fce4871.executeUpdate()
at org.jivesoftware.openfire.gateway.avatars.Avatar.insertIntoDb(Avatar.java:277)
at org.jivesoftware.openfire.gateway.avatars.Avatar.(Avatar.java:118)
at org.jivesoftware.openfire.gateway.protocols.xmpp.XMPPListener$1.run(XMPPListener.java:147)

Environment

None

Activity

Show:
daniel vultur
August 2, 2009, 10:55 PM

Hey, ok I'm going to put this off until the next release. It shouldn't be hurting anything, just annoying. Plus I want to put more time into thinking through it.

daniel vultur
August 2, 2009, 4:14 PM

I still don't really understand this, but I'm going to write a sort of Avatar Storage Manager that's a conduit between storing the avatars and receiving them, that should stop conflicting changes. =) Also should cut down on database activiity. Going to look at this for 1.1.0 but will likely put it off until the next release.

Assignee

Daniel Henninger

Reporter

Daniel Henninger