mysql
MySQL Connector/J randomly hanging at com.mysql.jdbc.util.ReadAheadInputStream.fill
In the past months we struggled with large SELECT queries just get stuck at: java.net.SocketInputStream.socketRead0(Native Method) java.net.SocketInputStream.read(SocketInputStream.java:129) com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188) – locked com.mysql.jdbc.util.ReadAheadInputStream@cb9a81c com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2494) com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2949) com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2938) com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3481) com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959) com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2109) com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2642) – locked java.lang.Object@70cbccca com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2571) com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:782) – locked java.lang.Object@70cbccca com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:625) org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:260) org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:260) Whenever this happened we just restarted the Tomcat server and everything was fine again [...]
Current project status – HSCALE
A lot of people keep asking me about the status of HSCALE so I thought it is best to just write about it. Since I am waiting for the next GPL release of MySQL Proxy I concentrate on other things, both project-related and not project-related. Continuous integration and test strategy enhancements First of all there [...]
SHOW STATUS considered harmful
First of all, I know this is a known problem, but it struck me so hard, I just had to write about it! As Peter Zaitev points out calling SHOW STATUS might have a huge performance impact. We recently replaced one of our servers with a DELL R900 with 96GB RAM. Having a disk-bound workload [...]
Version 0.3 of HSCALE is almost in the door
After working on build and test improvements (for example incorporating lualint and LuaCov) as well as other lua “side-projects” (i.e. Log4LUA) we are running towards HSCALE 0.3. The focus of the forthcoming version 0.3 of HSCALE is Dictionary Based Partition Lookup. Using this partition lookup module lets you take full control over how your partitions [...]
MySQL Proxy vs. HSCALE
Recently I added the first code to support multiple MySQL backends in HSCALE (see svn.hscale.org). As a “side note” I have to thank Giuseppe Maxia for MySQL Sandbox which made multi server testing a bliss! While coding this I started to feel that writing HSCALE on top of MySQL Proxy is no more as easy [...]
HSCALE 0.2 released and new project web page
The main focus of version 0.2 was to improve handling of almost all of SQL. So now you can issue DESC TABLE tbl_name or RENAME TABLE tbl_name TO another_tbl_name on a partitioned table and you get correct results for SHOW TABLES etc. Other statements are rejected and we settled down for the feature set we [...]
Update: Benchmark HSCALE with MySQL Proxy 0.7.0 (svn) against 0.6.1
Earlier today I posted these benchmark results testing HSCALE and MySQL Proxy performance. As Jan Kneschke (the author of MySQL Proxy) pointed out there are quite some improvements in the current development version (svn trunk). So I gave revision 369 a try. Tests were all the same as mentioned in my previous post. And indeed [...]
Benchmark MySQL Proxy and HSCALE
As part of developing HSCALE, a partitioning / sharding solution, I set up a benchmark test suite. I made it scripted and thus repeatable to monitor the progress and performance regressions during the development. Test Suite The test suite uses mysqlslap to benchmark the overhead of MySQL Proxy itself in real life scenario as well [...]
Presentation Slides: Introduction to HSCALE
No, these slides are not fresh from the User Conference in Santa Clara… Today, I held a presentation in front of all developers and support engineers of our technical department about database partitioning, MySQL Proxy, HSCALE and the progress we are making. Download the presentation slides here.
HSCALE 0.1 released – Partitioning Using MySQL Proxy
As written here and here I’ve been working on a MySQL Proxy Lua module that transparently splits up tables into multiple partitions and rewriting all queries to go to the right partition. I finally got everything together to release a 0.1 version. Go on and download, try and read more about HSCALE 0.1. All this [...]