Buddy List Error - H2 Database - Live Server has Crashed 2x
Posted: 30 Apr 2009, 00:21
This is the second time this issue has occured, it's occurred once on SFS 1.6.6, and one time on the previous edition SFS 1.6.5.
Our live server has completely crashed for the second time. By crash I mean that the server becomes completely unavailable. I can not ping it, it no longer serves pages, the forums become inaccessible, and SFS entirely shuts down. The server requires a manual power cycle before it will work again.
Here is the error we're seeing in the logs (actually, there are several hundred of these duplicate errors in the logs):
When we restart the server and SFS, the errors continue to fire and all of our players' buddy lists are empty. To make things worse, if a player adds a buddy to their list, the server won't save the data when the player logs in again later.
To temporarily correct the problem, I have to stop the server, delete all of the __sfscore__ files and allow SFS to recreate them on restart. Once the __sfscore__ files are recreated, the server runs smoothly. But, after a few days, something repeatedly triggers the same error, and the server crashes hard shortly afterward.
The problem appears to be with permissions regarding the __sfscore__ storage files that pertain to the buddy list and the H2 Database engine. Why are the files suddenly becoming unavailable?
Here is our current buddy list configuration:
(We're not using a custom buddy list persisterClass as you can see in our config).
Update 1:
I wonder if the problems mentioned in these posts are related?
This one mentions the buddy list clearing...
http://forums.smartfoxserver.com/viewto ... base+buddy
This one mentions the buddy list "Going Boom" regarding string variables of length 0 ...
http://forums.smartfoxserver.com/viewto ... base+buddy
Update 2:
I've reviewed this post, but it is NOT the issue. We do NOT have the h2db zone defined in our config file:
http://forums.smartfoxserver.com/viewtopic.php?t=2880
Also, I did try to access the H2 database interface on our remote dedicated server to troubleshoot futher, but the chapter seems to mention that you can't access the interface from a remote machine:
http://www.smartfoxserver.com/docs/inde ... ddedDb.htm
Any ideas? This is a critical error as it has brought down our live server twice now.
Thank you for your support.
Our live server has completely crashed for the second time. By crash I mean that the server becomes completely unavailable. I can not ping it, it no longer serves pages, the forums become inaccessible, and SFS entirely shuts down. The server requires a manual power cycle before it will work again.
Here is the error we're seeing in the logs (actually, there are several hundred of these duplicate errors in the logs):
Code: Select all
2009/04/29 19:29:22.717 - [ SEVERE ] [id: 10] (DbManager.executeQuery): DbManager could not retrive a connection. org.h2.jdbc.JdbcSQLException: IO Exception: java.io.FileNotFoundException: /home/game/SFS_PRO_1.6.6/Server/datastore/__sfscore__.lock.db (Permission denied); /home/game/SFS_PRO_1.6.6/Server/datastore/__sfscore__.lock.db [90031-110]
at org.h2.message.Message.getSQLException(Message.java:107)
at org.h2.message.Message.convertIOException(Message.java:293)
at org.h2.store.fs.FileSystemDisk.openFileOutputStream(FileSystemDisk.java:348)
at org.h2.store.FileLock.save(FileLock.java:206)
at org.h2.store.FileLock.lockFile(FileLock.java:318)
at org.h2.store.FileLock.lock(FileLock.java:130)
at org.h2.engine.Database.open(Database.java:528)
at org.h2.engine.Database.openDatabase(Database.java:223)
at org.h2.engine.Database.<init>(Database.java:218)
at org.h2.engine.Engine.openSession(Engine.java:57)
at org.h2.engine.Engine.openSession(Engine.java:139)
at org.h2.engine.Engine.getSession(Engine.java:119)
at org.h2.server.TcpServerThread.run(TcpServerThread.java:120)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.FileNotFoundException: /home/game/SFS_PRO_1.6.6/Server/datastore/__sfscore__.lock.db (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:102)
at org.h2.store.fs.FileSystemDisk.openFileOutputStream(FileSystemDisk.java:340)
... 11 more
2009/04/29 19:29:22.718 - [ WARNING ] [id: 10] (AdvancedBuddyListPersister.checkIfTableExists): Could not connect to H2 Engine, buddy list persister may not work!To temporarily correct the problem, I have to stop the server, delete all of the __sfscore__ files and allow SFS to recreate them on restart. Once the __sfscore__ files are recreated, the server runs smoothly. But, after a few days, something repeatedly triggers the same error, and the server crashes hard shortly afterward.
The problem appears to be with permissions regarding the __sfscore__ storage files that pertain to the buddy list and the H2 Database engine. Why are the files suddenly becoming unavailable?
Here is our current buddy list configuration:
Code: Select all
<BuddyList active="true">
<mode>advanced</mode>
<size>30</size>
<maxBuddyVars>10</maxBuddyVars>
<addBuddyPermission>true</addBuddyPermission>
<mutualAddBuddy>true</mutualAddBuddy>
<mutualRemoveBuddy>true</mutualRemoveBuddy>
<offLineBuddyVariables>true</offLineBuddyVariables>
<permissionTimeOut>30</permissionTimeOut>
<ownerListFullErrorMsg>Your buddy list is already full!</ownerListFullErrorMsg>
<targetListFullErrorMsg>The selected character's buddy list is already full!</targetListFullErrorMsg>
</BuddyList>
Update 1:
I wonder if the problems mentioned in these posts are related?
This one mentions the buddy list clearing...
http://forums.smartfoxserver.com/viewto ... base+buddy
This one mentions the buddy list "Going Boom" regarding string variables of length 0 ...
http://forums.smartfoxserver.com/viewto ... base+buddy
Update 2:
I've reviewed this post, but it is NOT the issue. We do NOT have the h2db zone defined in our config file:
http://forums.smartfoxserver.com/viewtopic.php?t=2880
Also, I did try to access the H2 database interface on our remote dedicated server to troubleshoot futher, but the chapter seems to mention that you can't access the interface from a remote machine:
http://www.smartfoxserver.com/docs/inde ... ddedDb.htm
Any ideas? This is a critical error as it has brought down our live server twice now.
Thank you for your support.