LINUX.ORG.RU
решено ФорумAdmin

openfire, java - помогите


0

1

Поставил недавно на свою голову Openfire 3.6.4 (т.к. 3.7.0 совсем уж мега-глючной) на новый жабер сервер. Всё работало чуть больше месяца без проблем и забот, в кач-ве базы данных используется Embedded DB hsqldb.

Сегодня утром вдруг внезапно всё перестало работать. Уже час сижу и не могу понять в чем проблема. В логах вот такое (см. собщения ниже).

Пока что нашел только вот это - http://community.igniterealtime.org/thread/41259 но так и не понял как найти решение. openfire.log из директории /var/lib/openfire/ удалял, не помогло.

Подскажите в чем может быть проблема. Спасибо!

★★★

info.log

info.log:

2011.08.05 08:08:50 Unable to get a connection from the database pool (attempt 1 out of 10).
java.sql.SQLException: File input/output error: java.io.IOException: org.hsqldb.HsqlException: Unexpected token: {
        at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
        at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
        at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
        at org.hsqldb.jdbcDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:154)
        at org.logicalcobwebs.proxool.DefaultConnectionBuilder.buildConnection(DefaultConnectionBuilder.java:39)
        at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java:159)
        at org.logicalcobwebs.proxool.ConnectionPool.getConnection(ConnectionPool.java:211)
        at org.logicalcobwebs.proxool.ProxoolDriver.connect(ProxoolDriver.java:89)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:154)
        at org.jivesoftware.database.EmbeddedConnectionProvider.getConnection(EmbeddedConnectionProvider.java:52)
        at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager.java:104)
        at org.jivesoftware.util.JiveProperties.loadProperties(JiveProperties.java:335)
        at org.jivesoftware.util.JiveProperties.init(JiveProperties.java:73)
        at org.jivesoftware.util.JiveProperties$JivePropertyHolder.<clinit>(JiveProperties.java:40)
        at org.jivesoftware.util.JiveProperties.getInstance(JiveProperties.java:52)
        at org.jivesoftware.util.JiveGlobals.getProperty(JiveGlobals.java:532)
        at org.jivesoftware.openfire.XMPPServer.initialize(XMPPServer.java:298)
        at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:415)
        at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:161)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at java.lang.Class.newInstance0(Class.java:355)
        at java.lang.Class.newInstance(Class.java:308)
        at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:106)
        at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:51)

FreeBSD ★★★
() автор топика

error.log

error.log:

2011.08.05 08:08:49 [org.jivesoftware.util.log.util.CommonsLogFactory$1.error(CommonsLogFactory.java:92)] Prototype
java.sql.SQLException: File input/output error: java.io.IOException: org.hsqldb.HsqlException: Unexpected token: {
        at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
        at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
        at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
        at org.hsqldb.jdbcDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:154)
        at org.logicalcobwebs.proxool.DefaultConnectionBuilder.buildConnection(DefaultConnectionBuilder.java:39)
        at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java:159)
        at org.logicalcobwebs.proxool.Prototyper.sweep(Prototyper.java:102)
        at org.logicalcobwebs.proxool.PrototyperThread.run(PrototyperThread.java:44)
2011.08.05 08:08:50 [org.jivesoftware.database.DbConnectionManager.setConnectionProvider(DbConnectionManager.java:501)] 
java.sql.SQLException: File input/output error: java.io.IOException: org.hsqldb.HsqlException: Unexpected token: {
        at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
        at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
        at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
        at org.hsqldb.jdbcDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:154)
        at org.logicalcobwebs.proxool.DefaultConnectionBuilder.buildConnection(DefaultConnectionBuilder.java:39)
        at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java:159)
        at org.logicalcobwebs.proxool.ConnectionPool.getConnection(ConnectionPool.java:211)
        at org.logicalcobwebs.proxool.ProxoolDriver.connect(ProxoolDriver.java:89)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:154)
        at org.jivesoftware.database.EmbeddedConnectionProvider.getConnection(EmbeddedConnectionProvider.java:52)
        at org.jivesoftware.database.DbConnectionManager.setConnectionProvider(DbConnectionManager.java:494)
        at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager.java:79)
        at org.jivesoftware.util.JiveProperties.loadProperties(JiveProperties.java:335)
        at org.jivesoftware.util.JiveProperties.init(JiveProperties.java:73)
        at org.jivesoftware.util.JiveProperties$JivePropertyHolder.<clinit>(JiveProperties.java:40)
        at org.jivesoftware.util.JiveProperties.getInstance(JiveProperties.java:52)
        at org.jivesoftware.util.JiveGlobals.getProperty(JiveGlobals.java:532)
        at org.jivesoftware.openfire.XMPPServer.initialize(XMPPServer.java:298)
        at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:415)
        at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:161)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at java.lang.Class.newInstance0(Class.java:355)
        at java.lang.Class.newInstance(Class.java:308)
        at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:106)
        at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:51)
2011.08.05 08:08:54 [org.jivesoftware.util.JiveProperties.loadProperties(JiveProperties.java:346)] 
java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries. The exception from the last attempt is as follows: java.sql.SQLException: File input/output error: java.io.IOException: org.hsqldb.HsqlException: Unexpected token: {
        at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager.java:124)
        at org.jivesoftware.util.JiveProperties.loadProperties(JiveProperties.java:335)
        at org.jivesoftware.util.JiveProperties.init(JiveProperties.java:73)
        at org.jivesoftware.util.JiveProperties$JivePropertyHolder.<clinit>(JiveProperties.java:40)
        at org.jivesoftware.util.JiveProperties.getInstance(JiveProperties.java:52)
        at org.jivesoftware.util.JiveGlobals.getProperty(JiveGlobals.java:532)
        at org.jivesoftware.openfire.XMPPServer.initialize(XMPPServer.java:298)
        at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:415)
        at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:161)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at java.lang.Class.newInstance0(Class.java:355)
        at java.lang.Class.newInstance(Class.java:308)
        at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:106)
        at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:51)

FreeBSD ★★★
() автор топика

>Unable to get a connection from the database pool
Подозреваю, что отвалилась БД.

yirk ★★★
()
Ответ на: комментарий от hizel

Спасибо за наводку. Но все равно нифига не понятно - у меня вообще .data файла нет и не было никогда. Есть только openfire.log, openfire.script и openfire.properties. Насколько я понимаю сама база это файл openfire.script.

А проблема как я понял здесь «Unexpected token: {», т.е. где-то непонятным образом попал символ «{».

Что за говнобаза этот hsql...

FreeBSD ★★★
() автор топика
Ответ на: комментарий от FreeBSD

я уверен, что где нибудь в факе написано, что hsql не для боевой системы, а так - поиграться

hizel ★★★★★
()
Ответ на: комментарий от FreeBSD

Еще нашел вот это - http://community.igniterealtime.org/docs/DOC-1540

Тут сказано в разделе «Manual transfer»: «openfire.sql.txt file Now make a backup of `openfire.script´ and name it `openfire.sql.txt´. Open it and search for `SET SCHEMA PUBLIC´. Remove this and all lines above.»

Так вот у меня openfire.script вообще не текстовый файл:

# file openfire.script 
openfire.script: data

Т.е. получается полная жопа и каким-то чудным образом его забило дерьмом и теперь базе хана с концами?

FreeBSD ★★★
() автор топика
Ответ на: комментарий от FreeBSD

Да, так оно и есть.. поставил заново openfire, и там openfire.script это обычный текстовый файл с sql.

Теперь точно п**дец жаберу. У меня этот файл записало каким-то хламом.

FreeBSD ★★★
() автор топика
Ответ на: комментарий от hizel

use mysql

Чё за бред? Зачем это проприетарная поделка вообще нужна? Почему не PostgreSQL с нормальной поддержкой ACID, потому что ты знаешь только МуСэКьюЭль?

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

>Зачем это проприетарная поделка вообще нужна?

что за бред? мускул опенсурс. хочешь постгрес - используй, не надо нервиничать

hizel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.