Vertica goes down when I execute a query that has INTERSECT, with a PreparedStatement from a JDBC co
Overview description
Vertica goes down when I execute a query with INTERSECT, as a PreparedStatement from a JDBC connection.
The query that I execute is:
Create a Java class that does the following:
- Opens a JDBC connection with Vertica
- Creates a PreparedStatement with the query above
- Set the parameters of the query with
Vertica returns the following and dies.
I can reproduce the problema every time I execute this query.
Environment
HP Vertica 7.0.1 VMWare vSphere 4.0(OVF) (downloaded from the Vertica's website) running on Windows 7 64 bits
Vertica goes down when I execute a query with INTERSECT, as a PreparedStatement from a JDBC connection.
The query that I execute is:
SELECT u1.iinc_id FROM ((SELECT t0.iinc_id FROM VMart.public.internet_inc t0 INTERSECT SELECT (t1.iinc_id * count( *) + ?) AS iinc_id FROM VMart.public.internet_inc t1 GROUP BY t1.iinc_id) INTERSECT SELECT t2.iinc_id * count( *) * ? AS iinc_id FROM VMart.public.internet_inc t2 GROUP BY t2.iinc_id) u1Steps to Reproduce
Create a Java class that does the following:
- Opens a JDBC connection with Vertica
- Creates a PreparedStatement with the query above
- Set the parameters of the query with
preparedStatement.setInt(1, 1);- Execute the query.
preparedStatement.setInt(2, 2);
Vertica returns the following and dies.
java.sql.SQLException: [Vertica][VJDBC](100024) IOException while communicating with server: null. Refer to the inner exception for more detail.The file ~/VMart/v_mart_node0001_catalog/vertica.log, at the end, has this:
at com.vertica.io.ProtocolStream.readMessage(Unknown Source)
at com.vertica.core.VConnection.handleError(Unknown Source)
at com.vertica.dataengine.VDataEngine.prepareImpl(Unknown Source)
at com.vertica.dataengine.VDataEngine.prepare(Unknown Source)
at com.vertica.dataengine.VDataEngine.prepare(Unknown Source)
at com.vertica.jdbc.SPreparedStatement.<init>(Unknown Source)
at com.vertica.jdbc.VerticaPreparedStatementImpl.<init>(Unknown Source)
at com.vertica.jdbc.VJDBCObjectFactory.createPreparedStatement(Unknown Source)
at com.vertica.jdbc.SConnection.prepareStatement(Unknown Source)
Caused by: com.vertica.support.exceptions.GeneralException: [Vertica][VJDBC](100024) IOException while communicating with server: null. Refer to the inner exception for more detail.
... 9 more
Caused by: java.io.EOFException
at com.vertica.io.VStream.ReceiveChar(Unknown Source)
at com.vertica.io.ProtocolStream.readMessage(Unknown Source)
at com.vertica.core.VConnection.handleError(Unknown Source)
at com.vertica.dataengine.VDataEngine.prepareImpl(Unknown Source)
at com.vertica.dataengine.VDataEngine.prepare(Unknown Source)
at com.vertica.dataengine.VDataEngine.prepare(Unknown Source)
at com.vertica.jdbc.SPreparedStatement.<init>(Unknown Source)
at com.vertica.jdbc.VerticaPreparedStatementImpl.<init>(Unknown Source)
at com.vertica.jdbc.VJDBCObjectFactory.createPreparedStatement(Unknown Source)
at com.vertica.jdbc.SConnection.prepareStatement(Unknown Source)
at com.denodo.test.vertica.VerticaBasicTest.main(VerticaBasicTest.java:80)
2014-10-09 21:06:42.979 Init Session:0x197da450-a000000004f5a6 [Txn] <INFO> Begin Txn: a000000004f5a6 'SELECT u1.iinc_id FROM ((SELECT t0.iinc_id FROM VMart.public.internet_inc t0 INTERSECT SELECT (t1.iinc_id * count( *) + ?) AS iinc_id FROM VMart.public.internet_inc t1 GROUP BY t1.iinc_id) INTERSECT SELECT t2.iinc_id * count( *) * ? AS iinc_id FROM VMart.public.internet_inc t2 GROUP BY t2.iinc_id) u1'Reproducibility
2014-10-09 21:06:42.981 Init Session:0x197da450-a000000004f5a6 <PANIC> @v_vmart_node0001: VX001/5422: VAssert(ltypmod != -1 && rtypmod != -1) failed
LOCATION: transformSetOperationTreeImpl, analyze.c:4498
2014-10-09 21:06:43.701 Init Session:0x197da450-a000000004f5a6 [Main] <PANIC> Wrote backtrace to ErrorReport.txt
I can reproduce the problema every time I execute this query.
Environment
HP Vertica 7.0.1 VMWare vSphere 4.0(OVF) (downloaded from the Vertica's website) running on Windows 7 64 bits
0
Comments
I will update to say if the same happens with the newest JDBC driver.
From vertica.log:
After switching to the new driver, I get the following in vertica.log:
After switching to the new driver, I get the following in vertica.log: And the database still dies. I would attach the ErrorReport.txt file, but I cannot find the option to attach files and it is too big to paste it here. I can send the file by email.
Can you also post what is shown in the ErrorReport.txt specifically at the end, Backtrace
Regards