query stalls when getting certain BLOB data

4 replies
mhansson
mhansson's picture
Joined: 01/28/2010
User offline. Last seen 13 weeks 3 days ago.

I'm storing pdf documents as BLOB's in my database. It seems that there is a problem retrieving some of these PDF documents.

Here are two log outputs from one pdf that was successfully retrieved, and another that stalled.

This is the output if greensql.log (pdf retrieval working):

....
[04/May/2010 11:25:28] SQL_DEBUG 87F87E7C59FA6FD> | 38 37 46 38 37 45 37 43 35 39 46 41 36 46 44 3E
[04/May/2010 11:25:28] SQL_DEBUG ].>>.startxref.1 | 5D 0A 3E 3E 0A 73 74 61 72 74 78 72 65 66 0A 31
[04/May/2010 11:25:28] SQL_DEBUG 79170.%%EOF..... | 37 39 31 37 30 0A 25 25 45 4F 46 0A 05 00 00 05
[04/May/2010 11:25:28] SQL_DEBUG ..... | FE 00 00 02 00
[04/May/2010 11:25:28] NET_DEBUG [11] proxy socket write 7141 bytes
[04/May/2010 11:25:28] NET_DEBUG Socket_write
[04/May/2010 11:25:28] NET_DEBUG Send data to client, size: 7141

greensql.log (non-working retrieval):

....
[04/May/2010 11:21:18] SQL_DEBUG ................ | 07 07 07 07 07 07 00 00 00 00 00 00 FF FF FF 01
[04/May/2010 11:21:18] SQL_DEBUG ................ | 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[04/May/2010 11:21:18] SQL_DEBUG ............... | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[04/May/2010 11:21:18] NET_DEBUG [13] proxy socket write 10239 bytes
[04/May/2010 11:21:18] NET_DEBUG Socket_write
[04/May/2010 11:21:18] NET_DEBUG Send data to client, size: 10239
[04/May/2010 11:21:18] NET_DEBUG [3]backend socket fired 14
[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 10239)
[04/May/2010 11:21:18] SQL_DEBUG server packet 0
[04/May/2010 11:21:18] NET_DEBUG [13] proxy socket write 4 bytes
[04/May/2010 11:21:18] NET_DEBUG Socket_write
[04/May/2010 11:21:18] NET_DEBUG Send data to client, size: 4
[04/May/2010 11:21:18] NET_DEBUG [3]backend socket fired 14
[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 20474)
[04/May/2010 11:21:18] SQL_DEBUG server packet 0
[04/May/2010 11:21:18] NET_DEBUG [13] proxy socket write 4 bytes
[04/May/2010 11:21:18] NET_DEBUG Socket_write
[04/May/2010 11:21:18] NET_DEBUG Send data to client, size: 4
[04/May/2010 11:21:18] NET_DEBUG [3]backend socket fired 14
[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 30709)
[04/May/2010 11:21:18] SQL_DEBUG server packet 0
[04/May/2010 11:21:18] NET_DEBUG [13] proxy socket write 4 bytes
[04/May/2010 11:21:18] NET_DEBUG Socket_write
[04/May/2010 11:21:18] NET_DEBUG Send data to client, size: 4
[04/May/2010 11:21:18] NET_DEBUG [3]backend socket fired 14
[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 40944)
[04/May/2010 11:21:18] SQL_DEBUG server packet 0
[04/May/2010 11:21:18] NET_DEBUG [13] proxy socket write 4 bytes
[04/May/2010 11:21:18] NET_DEBUG Socket_write
[04/May/2010 11:21:18] NET_DEBUG Send data to client, size: 4
[04/May/2010 11:21:18] NET_DEBUG [3]backend socket fired 14
[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 51179)
[04/May/2010 11:21:18] SQL_DEBUG server packet 0
[04/May/2010 11:21:18] NET_DEBUG [13] proxy socket write 4 bytes
[04/May/2010 11:21:18] NET_DEBUG Socket_write
[04/May/2010 11:21:18] NET_DEBUG Send data to client, size: 4
[04/May/2010 11:21:18] NET_DEBUG [3]backend socket fired 14
[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 61414)
[04/May/2010 11:21:18] SQL_DEBUG server packet 0
[04/May/2010 11:21:18] NET_DEBUG [13] proxy socket write 4 bytes
[04/May/2010 11:21:18] NET_DEBUG Socket_write
[04/May/2010 11:21:18] NET_DEBUG Send data to client, size: 4
[04/May/2010 11:21:18] NET_DEBUG [3]backend socket fired 14
[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 71649)
[04/May/2010 11:21:18] SQL_DEBUG server packet 0
[04/May/2010 11:21:18] NET_DEBUG [13] proxy socket write 4 bytes
[04/May/2010 11:21:18] NET_DEBUG Socket_write
[04/May/2010 11:21:18] NET_DEBUG Send data to client, size: 4
[04/May/2010 11:21:18] NET_DEBUG [3]backend socket fired 14
[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 81884)
[04/May/2010 11:21:18] SQL_DEBUG server packet 0
[04/May/2010 11:21:18] NET_DEBUG [13] proxy socket write 4 bytes
[04/May/2010 11:21:18] NET_DEBUG Socket_write
[04/May/2010 11:21:18] NET_DEBUG Send data to client, size: 4
[04/May/2010 11:21:18] NET_DEBUG [3]backend socket fired 14
[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 92119)
[04/May/2010 11:21:18] SQL_DEBUG server packet 0
[04/May/2010 11:21:18] NET_DEBUG [13] proxy socket write 4 bytes
[04/May/2010 11:21:18] NET_DEBUG Socket_write
[04/May/2010 11:21:18] NET_DEBUG Send data to client, size: 4
[04/May/2010 11:21:18] NET_DEBUG [3]backend socket fired 14
[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 95005)
[04/May/2010 11:21:18] SQL_DEBUG server packet 0
[04/May/2010 11:21:18] NET_DEBUG [13] proxy socket write 4 bytes
[04/May/2010 11:21:18] NET_DEBUG Socket_write
[04/May/2010 11:21:18] NET_DEBUG Send data to client, size: 4
[04/May/2010 11:21:18] NET_DEBUG [3]backend socket fired 14
[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 105240)
[04/May/2010 11:21:18] SQL_DEBUG server packet 0
[04/May/2010 11:21:18] NET_DEBUG [13] proxy socket write 4 bytes
[04/May/2010 11:21:18] NET_DEBUG Socket_write
[04/May/2010 11:21:18] NET_DEBUG Send data to client, size: 4
[04/May/2010 11:21:18] NET_DEBUG [3]backend socket fired 14
[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 108129)
[04/May/2010 11:21:18] SQL_DEBUG server packet 0
[04/May/2010 11:21:18] NET_DEBUG [13] proxy socket write 4 bytes
[04/May/2010 11:21:18] NET_DEBUG Socket_write
[04/May/2010 11:21:18] NET_DEBUG Send data to client, size: 4

mhansson
mhansson's picture
Joined: 01/28/2010
User offline. Last seen 13 weeks 3 days ago.

Let me know if you need more information about this bug.

yuli
yuli's picture
Joined: 01/30/2008
User offline. Last seen 5 hours 16 min ago.

Hello

Please check this post: http://www.greensql.net/node/904

It might be relevant to you.

mhansson
mhansson's picture
Joined: 01/28/2010
User offline. Last seen 13 weeks 3 days ago.

I reported that bug as well. This is another bug.

mhansson
mhansson's picture
Joined: 01/28/2010
User offline. Last seen 13 weeks 3 days ago.

My guess is that Greensql wrongly interpreters some data in the binary data as "mysql end of data", and then Greensql wants 4 bytes of data:

[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 10239)
[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 20474)
[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 30709)
[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 40944)
[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 51179)
[04/May/2010 11:21:18] NET_DEBUG packet size expected 4 bytes (received 61414)
...

.. while the server continues to send the rest of the binary data instead of these 4 bytes. Have you come to the same conclusion?

Back to top