[MXS-1214] Streaming Insert Filter gives errors Created: 2017-03-29  Updated: 2017-07-31  Resolved: 2017-07-31

Status: Closed
Project: MariaDB MaxScale
Component/s: N/A
Affects Version/s: 2.1.1
Fix Version/s: 2.2.0

Type: Bug Priority: Major
Reporter: Dipti Joshi (Inactive) Assignee: markus makela
Resolution: Cannot Reproduce Votes: 0
Labels: None

Issue Links:
Duplicate
duplicates MXS-1146 JDBC connection dropping transaction ... Closed
Sprint: 2017-38

 Description   

User is using InsertStream Filter. Then getting following errors when their Java apps are trying to send INSERT queries.

Error encountered when going through proxy, some threads would lock up on trying to read response data

[junit] Query is: INSERT INTO test_batch(string, `integer`) VALUES (?,?), parameters ['XFt7JyCDGbp5ymxaPg5cKCsop5KrU
XJEYYM47IruaB6PlmkM2rzhhs3rDP0EFdbCBcGdNJ9NhEM8rVsF85XMKHtB1gjFb3224UMaDMT3YmMb1JgPuGKTJFsHFByRREDW',0],['BcmHGyCCUuixdE
xTjAqHT5nUgc2gLdDXjT3IRL2gDmysWeO353SM7ivskVciXj6dcHXT5EF4OJnKPU0OlXLeUmDdlsszZRhZLK9P1vA6YugAF5eW6uF05XKAhainYFMR',1],[
'bxMHHnkGr6iNMSZbIvTbIHsDaR4S6DZ9n499TCYt53uzxkinCZbyssu0B7y1QHOmMGI0s4kXLnmHp1KMemsFYG5snkTdooeRJqYEMm0k1riAusMnFM0TzLJ
EolUwPSoe',2],['sSflDRk2wwJRS7gzn4oHosGQYge0f6wT2mtLnkmLoBZ311CdoqhmcHpHcNtc0EMgnPUpgG8ktHHsGMjr0BedZWnTnNNPy1lt51fqlKb2
DnztxoqUA42yg7cdzv8gnjLW',3],['dMMeMm0kAxaFk4VhFTeD85qKPVdZFOYW1DtAAShU6lRccT4Z5V8wyLmCjQfjBUlPGaqlLwGj07MVrM5ixsNiktVva
Vlzk3AVeOEhkm5en6fsmVkvCzytv42BO5A5M3m6',4],['5XisGHxez8R6sldYp9Z4mT0qDPzDe1LBNBAVLkj50lNMlK6oH5slZOG66cP8U8qnFn9Qu7jSXw
1Di5pnCHLDGVK3dpx8aYJgNOg1XtqFr0wuOLen5ZvhICu44B9IoLlP',5],['2Kd9ClfN5cwKE52JyjDKz5CjgkQv7tHFvTC17e1SqDaPZ3Esh4ptGzwTvy2
XpZ7EzfqNsut4X9d4mooigMZfqsYleB3XCAbCPOrqnCkbEda1CGJzEpZKaG0yKvPlCfTl',6],['LbOkj7V...
[junit] at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:1064)
[junit] at org.mariadb.jdbc.internal.protocol.AsyncMultiRead.call(AsyncMultiRead.java:84)
[junit] at org.mariadb.jdbc.internal.protocol.AsyncMultiRead.call(AsyncMultiRead.java:12)
[junit] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[junit] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[junit] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[junit] at java.lang.Thread.run(Thread.java:745)
[junit] Caused by: java.io.EOFException: unexpected end of stream, read 0 bytes from 4
[junit] at org.mariadb.jdbc.internal.packet.read.ReadPacketFetcher.getReusableBuffer(ReadPacketFetcher.java:178)

[junit] at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:1055)
[junit] ... 6 more
[junit] java.lang.RuntimeException: runner failed
[junit] at test.outboundengine.database.TestBatch$Batcher.run(TestBatch.java:58)
[junit] Caused by: java.sql.BatchUpdateException: (conn:3238) Could not read resultset: unexpected end of stream, re
ad 0 bytes from 4
*/



 Comments   
Comment by markus makela [ 2017-03-29 ]

The error seems to be caused by the fact that prepared statements are being used. Although the documentation doesn't explicitly state that prepared statements are not supported, it does state that only INSERT statements are converted, not prepared statement executions.

Comment by markus makela [ 2017-03-29 ]

On a second look, it does seem that the error is not caused by the insertstream filter. I think it's possible that it's related to MXS-1146.

Comment by markus makela [ 2017-07-31 ]

Cannot reproduce this on 2.2.

Generated at Thu Feb 08 04:05:03 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.