Comments (6)
That's really weird. Is there any way you could provide me with the entire log?
Also, a few questions:
- Does this happen with build #65
- Does this happen instantly after stating the server, or is there a delay.
I'm not sure how the connection could be closed without removing it from the connections list first.
Although there is one thing that could've VERY possibly prevented the removal of the dead connection and that is: https://github.com/bob7l/HawkReloaded/blob/master/src/uk/co/oliwali/HawkEye/database/JDCConnection.java#L37
As you can see, oliver (Or whomever wrote that piece of code), is attempting to remove a connection from the pool using a non-JDCConnection object.
Try this build out: https://www.dropbox.com/s/7xbm4h4sv3x1liy/HawkReloaded.jar?dl=0
It's from another branch i've been working on for the upcomming serialization overhaul, but also contains the quick fix.
from hawkreloaded.
Confirmed, that build you gave is running without the console spam now, going to give it 20-30 minutes to make sure.
from hawkreloaded.
One error down, One left to go
[22:12:54 WARN]: [HawkEye] Communications link failure
The last packet successfully received from the server was 802,208 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago.
[22:12:54 WARN]: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 802,208 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago.
[22:12:54 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[22:12:54 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
[22:12:54 WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[22:12:54 WARN]: at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
[22:12:54 WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
[22:12:54 WARN]: at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
[22:12:54 WARN]: at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3082)
[22:12:54 WARN]: at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2968)
[22:12:54 WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3516)
[22:12:54 WARN]: at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
[22:12:54 WARN]: at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
[22:12:54 WARN]: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620)
[22:12:54 WARN]: at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:5022)
[22:12:54 WARN]: at uk.co.oliwali.HawkEye.database.JDCConnection.setAutoCommit(JDCConnection.java:249)
[22:12:54 WARN]: at uk.co.oliwali.HawkEye.database.DataManager.run(DataManager.java:391)
[22:12:54 WARN]: at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71)
[22:12:54 WARN]: at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
[22:12:54 WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[22:12:54 WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[22:12:54 WARN]: at java.lang.Thread.run(Thread.java:745)
[22:12:54 WARN]: Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
[22:12:54 WARN]: at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2529)
[22:12:54 WARN]: at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2979)
[22:12:54 WARN]: ... 13 more
from hawkreloaded.
Give this build a go: https://www.dropbox.com/s/qhiddxckfh2cnw3/HawkEye.jar?dl=0
This build utilizes HikariCP rather then our poorly implemented connection pooling.
Also mind the name, i made this one HawkEye.jar while the last one i gave you was HawkReloaded.jar.
from hawkreloaded.
Working perfectly now, HikariCP also seems to have boosted database interactions a bit as well
from hawkreloaded.
Good to hear. Our previous pooling system was just poorly implemented and produced MASSIVE overheads. I attempted to fix some of the overhead but forgot to alter the health monitor thread to insure unused connections were reaped/re-initialized.
I also recommend you update to build #67 (Or higher) as it contains a lot more overhead fixes (Such as completely disabling auto-commit rather then switching it on/off).
Thanks for testing! If you find anymore bugs (Big or small) it'd be great if you could report them on here.
from hawkreloaded.
Related Issues (20)
- NPE on breaking a bed block HOT 6
- Logging Issue HOT 12
- Issue with Duplicated entry on inserting players into the database HOT 1
- Hawkeye web interface not logging properly HOT 6
- Ingame /he tool logs are different depending on which side of a chest you click on. HOT 3
- Horse Entities not logged
- Armor Stands Not Logged
- Add DataType API for custom DataTypes
- Remove static usage in DataManager HOT 1
- Create a query builder instead of building queries manually HOT 1
- hk search ERROR: NULL HOT 3
- Data truncation: Data too long for column 'player' at row 1
- Unknown column 'world' in 'field list' HOT 5
- Not logging/rolling back mob spawner values HOT 3
- Data_id reached maximum value HOT 4
- Lowest Supported PHP version? HOT 3
- Metrics needs to be updated HOT 2
- Removing block data from databse HOT 4
- SQlite support?
- Web Interface Fatal Error
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hawkreloaded.