You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by "Orel Weinstock (ExposeBox)" <or...@exposebox.com> on 2018/08/05 08:01:30 UTC

OOM on connecting to Ignite via JDBC

 Hi all,

Trying to get an Ignite cluster up and going for testing before taking it
to production.
I've set up Ignite 2.6 on a cluster with a single node on a Google Cloud
Compute instance and I have the web console working as well.

I've imported a table from MySQL and re-run the cluster with the resulting
Docker image.

Querying for the table via the web console proved fruitless, so I've
switched to SQLLine (on the cluster itself). Still no cigar:

main(SqlLine.java:265)moo@ignite:/home/moo$
/usr/share/apache-ignite/bin/sqlline.sh
--verbose=true -u jdbc:ignite:thin://127.0.0.1:8080issuing: !connect
jdbc:ignite:thin://127.0.0.1:8080 '' '' org.apache.ignite.
IgniteJdbcThinDriverConnecting to jdbc:ignite:thin://127.0.0.1:8080
java.lang.OutOfMemoryError: Java heap space at org.apache.ignite.internal.
jdbc.thin.JdbcThinTcpIo.read(JdbcThinTcpIo.java:586) at
org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.read(
JdbcThinTcpIo.java:575) at org.apache.ignite.internal.
jdbc.thin.JdbcThinTcpIo.handshake(JdbcThinTcpIo.java:328) at
org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.start(
JdbcThinTcpIo.java:223) at org.apache.ignite.internal.
jdbc.thin.JdbcThinTcpIo.start(JdbcThinTcpIo.java:144) at
org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.ensureConnected(
JdbcThinConnection.java:148) at org.apache.ignite.internal.
jdbc.thin.JdbcThinConnection.<init>(JdbcThinConnection.java:137) at
org.apache.ignite.IgniteJdbcThinDriver.connect(
IgniteJdbcThinDriver.java:157) at sqlline.DatabaseConnection.
connect(DatabaseConnection.java:156) at sqlline.DatabaseConnection.
getConnection(DatabaseConnection.java:204) at sqlline.Commands.connect(
Commands.java:1095) at sqlline.Commands.connect(Commands.java:1001) at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.
NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.
invoke(Method.java:498) at sqlline.ReflectiveCommandHandler.execute(
ReflectiveCommandHandler.java:38) at sqlline.SqlLine.dispatch(
SqlLine.java:791) at sqlline.SqlLine.initArgs(SqlLine.java:566) at
sqlline.SqlLine.begin(SqlLine.java:643) at sqlline.SqlLine.start(SqlLine.
java:373) at sqlline.SqlLine.main(SqlLine.java:265)

Tried DBeaver - still OOM.

Is there a way to get a list of all tables in the cache?
Does anyone have any experience with this error? I can't tell if it's
Ignite itself or just the JDBC client, though I'm leaning towards the
client.


-- 

-- 
*Orel Weinstock*
Software Engineer
Email:    orel@exposebox.com <ro...@exposebox.com>
Website: www.exposebox.com

Re: OOM on connecting to Ignite via JDBC

Posted by Denis Mekhanikov <dm...@gmail.com>.
Orel,

Could you show Ignite configuration? I'd like to make sure, that you
configured the JDBC port correctly.

Denis

пн, 6 авг. 2018 г. в 17:54, Orel Weinstock (ExposeBox) <or...@exposebox.com>:

> This is the correct port - I've set it manually. I've used the same
> configuration with the web console for inserting SQL rows and it works
> great with write-through.
>
> On 6 August 2018 at 16:30, Павлухин Иван <vo...@gmail.com> wrote:
>
>> Hi Orel,
>>
>> Are you sure that correct port is used? By default 10800 port is used for
>> JDBC connections. You have 8080 in your command line.
>>
>> The error could be caused by reading unexpected input from server and
>> interpreting it as very huge packet size. Attempt to allocate buffer of
>> such size could simply run to OOME.
>>
>> 2018-08-06 11:56 GMT+03:00 Orel Weinstock (ExposeBox) <orel@exposebox.com
>> >:
>>
>>> I've followed the guide on setting up DBeaver to work with Ignite - I've
>>> set up a driver in DBeaver by selecting a class from the ignite-core jar,
>>> both version 2.6.0
>>>
>>> My cluster is up and running now (e.g. write-through works) that I've
>>> added the MySQL JDBC driver to the (web-console generated) pom.xml's
>>> dependencies, but I still can't connect to Ignite via DBeaver.
>>>
>>> On 6 August 2018 at 11:17, Denis Mekhanikov <dm...@gmail.com>
>>> wrote:
>>>
>>>> Orel,
>>>>
>>>> JDBC driver fails on handshake for some reason.
>>>> It fails with OOM when trying to allocate a byte array for the
>>>> handshake message.
>>>> But there is not much data transferred in it. Most probably, message
>>>> size is read improperly.
>>>>
>>>> Do you use matching versions of JDBC driver and Ignite nodes?
>>>>
>>>> Denis
>>>>
>>>>
>>>> вс, 5 авг. 2018 г. в 11:01, Orel Weinstock (ExposeBox) <
>>>> orel@exposebox.com>:
>>>>
>>>>> Hi all,
>>>>>
>>>>> Trying to get an Ignite cluster up and going for testing before taking
>>>>> it to production.
>>>>> I've set up Ignite 2.6 on a cluster with a single node on a Google
>>>>> Cloud Compute instance and I have the web console working as well.
>>>>>
>>>>> I've imported a table from MySQL and re-run the cluster with the
>>>>> resulting Docker image.
>>>>>
>>>>> Querying for the table via the web console proved fruitless, so I've
>>>>> switched to SQLLine (on the cluster itself). Still no cigar:
>>>>>
>>>>> main(SqlLine.java:265)moo@ignite:/home/moo$
>>>>> /usr/share/apache-ignite/bin/sqlline.sh --verbose=true -u
>>>>> jdbc:ignite:thin://127.0.0.1:8080issuing: !connect jdbc:ignite:thin://
>>>>> 127.0.0.1:8080 '' '' org.apache.ignite.IgniteJdbcThinDriverConnecting
>>>>> to jdbc:ignite:thin://127.0.0.1:8080java.lang.OutOfMemoryError: Java
>>>>> heap space at
>>>>> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.read(JdbcThinTcpIo.java:586)
>>>>> at
>>>>> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.read(JdbcThinTcpIo.java:575)
>>>>> at
>>>>> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.handshake(JdbcThinTcpIo.java:328)
>>>>> at
>>>>> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.start(JdbcThinTcpIo.java:223)
>>>>> at
>>>>> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.start(JdbcThinTcpIo.java:144)
>>>>> at
>>>>> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.ensureConnected(JdbcThinConnection.java:148)
>>>>> at
>>>>> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.<init>(JdbcThinConnection.java:137)
>>>>> at
>>>>> org.apache.ignite.IgniteJdbcThinDriver.connect(IgniteJdbcThinDriver.java:157)
>>>>> at sqlline.DatabaseConnection.connect(DatabaseConnection.java:156) at
>>>>> sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:204)
>>>>> at sqlline.Commands.connect(Commands.java:1095) at
>>>>> sqlline.Commands.connect(Commands.java:1001) at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>>> at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>> at java.lang.reflect.Method.invoke(Method.java:498) at
>>>>> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
>>>>> at sqlline.SqlLine.dispatch(SqlLine.java:791) at
>>>>> sqlline.SqlLine.initArgs(SqlLine.java:566) at
>>>>> sqlline.SqlLine.begin(SqlLine.java:643) at
>>>>> sqlline.SqlLine.start(SqlLine.java:373) at
>>>>> sqlline.SqlLine.main(SqlLine.java:265)
>>>>>
>>>>> Tried DBeaver - still OOM.
>>>>>
>>>>> Is there a way to get a list of all tables in the cache?
>>>>> Does anyone have any experience with this error? I can't tell if it's
>>>>> Ignite itself or just the JDBC client, though I'm leaning towards the
>>>>> client.
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> --
>>>>> *Orel Weinstock*
>>>>> Software Engineer
>>>>> Email:    orel@exposebox.com <ro...@exposebox.com>
>>>>> Website: www.exposebox.com
>>>>>
>>>>>
>>>
>>>
>>> --
>>>
>>> --
>>> *Orel Weinstock*
>>> Software Engineer
>>> Email:    orel@exposebox.com <ro...@exposebox.com>
>>> Website: www.exposebox.com
>>>
>>>
>>
>>
>> --
>> Best regards,
>> Ivan Pavlukhin
>>
>
>
>
> --
>
> --
> *Orel Weinstock*
> Software Engineer
> Email:    orel@exposebox.com <ro...@exposebox.com>
> Website: www.exposebox.com
>
>

Re: OOM on connecting to Ignite via JDBC

Posted by "Orel Weinstock (ExposeBox)" <or...@exposebox.com>.
This is the correct port - I've set it manually. I've used the same
configuration with the web console for inserting SQL rows and it works
great with write-through.

On 6 August 2018 at 16:30, Павлухин Иван <vo...@gmail.com> wrote:

> Hi Orel,
>
> Are you sure that correct port is used? By default 10800 port is used for
> JDBC connections. You have 8080 in your command line.
>
> The error could be caused by reading unexpected input from server and
> interpreting it as very huge packet size. Attempt to allocate buffer of
> such size could simply run to OOME.
>
> 2018-08-06 11:56 GMT+03:00 Orel Weinstock (ExposeBox) <or...@exposebox.com>
> :
>
>> I've followed the guide on setting up DBeaver to work with Ignite - I've
>> set up a driver in DBeaver by selecting a class from the ignite-core jar,
>> both version 2.6.0
>>
>> My cluster is up and running now (e.g. write-through works) that I've
>> added the MySQL JDBC driver to the (web-console generated) pom.xml's
>> dependencies, but I still can't connect to Ignite via DBeaver.
>>
>> On 6 August 2018 at 11:17, Denis Mekhanikov <dm...@gmail.com>
>> wrote:
>>
>>> Orel,
>>>
>>> JDBC driver fails on handshake for some reason.
>>> It fails with OOM when trying to allocate a byte array for the handshake
>>> message.
>>> But there is not much data transferred in it. Most probably, message
>>> size is read improperly.
>>>
>>> Do you use matching versions of JDBC driver and Ignite nodes?
>>>
>>> Denis
>>>
>>>
>>> вс, 5 авг. 2018 г. в 11:01, Orel Weinstock (ExposeBox) <
>>> orel@exposebox.com>:
>>>
>>>> Hi all,
>>>>
>>>> Trying to get an Ignite cluster up and going for testing before taking
>>>> it to production.
>>>> I've set up Ignite 2.6 on a cluster with a single node on a Google
>>>> Cloud Compute instance and I have the web console working as well.
>>>>
>>>> I've imported a table from MySQL and re-run the cluster with the
>>>> resulting Docker image.
>>>>
>>>> Querying for the table via the web console proved fruitless, so I've
>>>> switched to SQLLine (on the cluster itself). Still no cigar:
>>>>
>>>> main(SqlLine.java:265)moo@ignite:/home/moo$
>>>> /usr/share/apache-ignite/bin/sqlline.sh --verbose=true -u
>>>> jdbc:ignite:thin://127.0.0.1:8080issuing: !connect jdbc:ignite:thin://
>>>> 127.0.0.1:8080 '' '' org.apache.ignite.IgniteJdbcThinDriverConnecting
>>>> to jdbc:ignite:thin://127.0.0.1:8080java.lang.OutOfMemoryError: Java
>>>> heap space at org.apache.ignite.internal.jdb
>>>> c.thin.JdbcThinTcpIo.read(JdbcThinTcpIo.java:586) at
>>>> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.read(Jdbc
>>>> ThinTcpIo.java:575) at org.apache.ignite.internal.jdb
>>>> c.thin.JdbcThinTcpIo.handshake(JdbcThinTcpIo.java:328) at
>>>> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.start(Jdb
>>>> cThinTcpIo.java:223) at org.apache.ignite.internal.jdb
>>>> c.thin.JdbcThinTcpIo.start(JdbcThinTcpIo.java:144) at
>>>> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.ensu
>>>> reConnected(JdbcThinConnection.java:148) at
>>>> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.<ini
>>>> t>(JdbcThinConnection.java:137) at org.apache.ignite.IgniteJdbcTh
>>>> inDriver.connect(IgniteJdbcThinDriver.java:157) at
>>>> sqlline.DatabaseConnection.connect(DatabaseConnection.java:156) at
>>>> sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:204)
>>>> at sqlline.Commands.connect(Commands.java:1095) at
>>>> sqlline.Commands.connect(Commands.java:1001) at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
>>>> ssorImpl.java:62) at sun.reflect.DelegatingMethodAc
>>>> cessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at
>>>> java.lang.reflect.Method.invoke(Method.java:498) at
>>>> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHa
>>>> ndler.java:38) at sqlline.SqlLine.dispatch(SqlLine.java:791) at
>>>> sqlline.SqlLine.initArgs(SqlLine.java:566) at
>>>> sqlline.SqlLine.begin(SqlLine.java:643) at
>>>> sqlline.SqlLine.start(SqlLine.java:373) at
>>>> sqlline.SqlLine.main(SqlLine.java:265)
>>>>
>>>> Tried DBeaver - still OOM.
>>>>
>>>> Is there a way to get a list of all tables in the cache?
>>>> Does anyone have any experience with this error? I can't tell if it's
>>>> Ignite itself or just the JDBC client, though I'm leaning towards the
>>>> client.
>>>>
>>>>
>>>> --
>>>>
>>>> --
>>>> *Orel Weinstock*
>>>> Software Engineer
>>>> Email:    orel@exposebox.com <ro...@exposebox.com>
>>>> Website: www.exposebox.com
>>>>
>>>>
>>
>>
>> --
>>
>> --
>> *Orel Weinstock*
>> Software Engineer
>> Email:    orel@exposebox.com <ro...@exposebox.com>
>> Website: www.exposebox.com
>>
>>
>
>
> --
> Best regards,
> Ivan Pavlukhin
>



-- 

-- 
*Orel Weinstock*
Software Engineer
Email:    orel@exposebox.com <ro...@exposebox.com>
Website: www.exposebox.com

Re: OOM on connecting to Ignite via JDBC

Posted by Павлухин Иван <vo...@gmail.com>.
Hi Orel,

Are you sure that correct port is used? By default 10800 port is used for
JDBC connections. You have 8080 in your command line.

The error could be caused by reading unexpected input from server and
interpreting it as very huge packet size. Attempt to allocate buffer of
such size could simply run to OOME.

2018-08-06 11:56 GMT+03:00 Orel Weinstock (ExposeBox) <or...@exposebox.com>:

> I've followed the guide on setting up DBeaver to work with Ignite - I've
> set up a driver in DBeaver by selecting a class from the ignite-core jar,
> both version 2.6.0
>
> My cluster is up and running now (e.g. write-through works) that I've
> added the MySQL JDBC driver to the (web-console generated) pom.xml's
> dependencies, but I still can't connect to Ignite via DBeaver.
>
> On 6 August 2018 at 11:17, Denis Mekhanikov <dm...@gmail.com> wrote:
>
>> Orel,
>>
>> JDBC driver fails on handshake for some reason.
>> It fails with OOM when trying to allocate a byte array for the handshake
>> message.
>> But there is not much data transferred in it. Most probably, message size
>> is read improperly.
>>
>> Do you use matching versions of JDBC driver and Ignite nodes?
>>
>> Denis
>>
>>
>> вс, 5 авг. 2018 г. в 11:01, Orel Weinstock (ExposeBox) <
>> orel@exposebox.com>:
>>
>>> Hi all,
>>>
>>> Trying to get an Ignite cluster up and going for testing before taking
>>> it to production.
>>> I've set up Ignite 2.6 on a cluster with a single node on a Google Cloud
>>> Compute instance and I have the web console working as well.
>>>
>>> I've imported a table from MySQL and re-run the cluster with the
>>> resulting Docker image.
>>>
>>> Querying for the table via the web console proved fruitless, so I've
>>> switched to SQLLine (on the cluster itself). Still no cigar:
>>>
>>> main(SqlLine.java:265)moo@ignite:/home/moo$
>>> /usr/share/apache-ignite/bin/sqlline.sh --verbose=true -u
>>> jdbc:ignite:thin://127.0.0.1:8080issuing: !connect jdbc:ignite:thin://
>>> 127.0.0.1:8080 '' '' org.apache.ignite.IgniteJdbcThinDriverConnecting
>>> to jdbc:ignite:thin://127.0.0.1:8080java.lang.OutOfMemoryError: Java
>>> heap space at org.apache.ignite.internal.jdb
>>> c.thin.JdbcThinTcpIo.read(JdbcThinTcpIo.java:586) at
>>> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.read(Jdbc
>>> ThinTcpIo.java:575) at org.apache.ignite.internal.jdb
>>> c.thin.JdbcThinTcpIo.handshake(JdbcThinTcpIo.java:328) at
>>> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.start(Jdb
>>> cThinTcpIo.java:223) at org.apache.ignite.internal.jdb
>>> c.thin.JdbcThinTcpIo.start(JdbcThinTcpIo.java:144) at
>>> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.ensu
>>> reConnected(JdbcThinConnection.java:148) at
>>> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.<ini
>>> t>(JdbcThinConnection.java:137) at org.apache.ignite.IgniteJdbcTh
>>> inDriver.connect(IgniteJdbcThinDriver.java:157) at
>>> sqlline.DatabaseConnection.connect(DatabaseConnection.java:156) at
>>> sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:204)
>>> at sqlline.Commands.connect(Commands.java:1095) at
>>> sqlline.Commands.connect(Commands.java:1001) at
>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
>>> ssorImpl.java:62) at sun.reflect.DelegatingMethodAc
>>> cessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at
>>> java.lang.reflect.Method.invoke(Method.java:498) at
>>> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHa
>>> ndler.java:38) at sqlline.SqlLine.dispatch(SqlLine.java:791) at
>>> sqlline.SqlLine.initArgs(SqlLine.java:566) at
>>> sqlline.SqlLine.begin(SqlLine.java:643) at
>>> sqlline.SqlLine.start(SqlLine.java:373) at
>>> sqlline.SqlLine.main(SqlLine.java:265)
>>>
>>> Tried DBeaver - still OOM.
>>>
>>> Is there a way to get a list of all tables in the cache?
>>> Does anyone have any experience with this error? I can't tell if it's
>>> Ignite itself or just the JDBC client, though I'm leaning towards the
>>> client.
>>>
>>>
>>> --
>>>
>>> --
>>> *Orel Weinstock*
>>> Software Engineer
>>> Email:    orel@exposebox.com <ro...@exposebox.com>
>>> Website: www.exposebox.com
>>>
>>>
>
>
> --
>
> --
> *Orel Weinstock*
> Software Engineer
> Email:    orel@exposebox.com <ro...@exposebox.com>
> Website: www.exposebox.com
>
>


-- 
Best regards,
Ivan Pavlukhin

Re: OOM on connecting to Ignite via JDBC

Posted by "Orel Weinstock (ExposeBox)" <or...@exposebox.com>.
I've followed the guide on setting up DBeaver to work with Ignite - I've
set up a driver in DBeaver by selecting a class from the ignite-core jar,
both version 2.6.0

My cluster is up and running now (e.g. write-through works) that I've added
the MySQL JDBC driver to the (web-console generated) pom.xml's
dependencies, but I still can't connect to Ignite via DBeaver.

On 6 August 2018 at 11:17, Denis Mekhanikov <dm...@gmail.com> wrote:

> Orel,
>
> JDBC driver fails on handshake for some reason.
> It fails with OOM when trying to allocate a byte array for the handshake
> message.
> But there is not much data transferred in it. Most probably, message size
> is read improperly.
>
> Do you use matching versions of JDBC driver and Ignite nodes?
>
> Denis
>
>
> вс, 5 авг. 2018 г. в 11:01, Orel Weinstock (ExposeBox) <orel@exposebox.com
> >:
>
>> Hi all,
>>
>> Trying to get an Ignite cluster up and going for testing before taking it
>> to production.
>> I've set up Ignite 2.6 on a cluster with a single node on a Google Cloud
>> Compute instance and I have the web console working as well.
>>
>> I've imported a table from MySQL and re-run the cluster with the
>> resulting Docker image.
>>
>> Querying for the table via the web console proved fruitless, so I've
>> switched to SQLLine (on the cluster itself). Still no cigar:
>>
>> main(SqlLine.java:265)moo@ignite:/home/moo$ /usr/share/apache-ignite/bin/sqlline.sh
>> --verbose=true -u jdbc:ignite:thin://127.0.0.1:8080issuing: !connect
>> jdbc:ignite:thin://127.0.0.1:8080 '' '' org.apache.ignite.
>> IgniteJdbcThinDriverConnecting to jdbc:ignite:thin://127.0.0.1:8080
>> java.lang.OutOfMemoryError: Java heap space at
>> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.read(
>> JdbcThinTcpIo.java:586) at org.apache.ignite.internal.
>> jdbc.thin.JdbcThinTcpIo.read(JdbcThinTcpIo.java:575) at
>> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.
>> handshake(JdbcThinTcpIo.java:328) at org.apache.ignite.internal.
>> jdbc.thin.JdbcThinTcpIo.start(JdbcThinTcpIo.java:223) at
>> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.start(
>> JdbcThinTcpIo.java:144) at org.apache.ignite.internal.
>> jdbc.thin.JdbcThinConnection.ensureConnected(JdbcThinConnection.java:148)
>> at org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.<
>> init>(JdbcThinConnection.java:137) at org.apache.ignite.
>> IgniteJdbcThinDriver.connect(IgniteJdbcThinDriver.java:157) at
>> sqlline.DatabaseConnection.connect(DatabaseConnection.java:156) at
>> sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:204) at
>> sqlline.Commands.connect(Commands.java:1095) at sqlline.Commands.connect(
>> Commands.java:1001) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method) at sun.reflect.NativeMethodAccessorImpl.invoke(
>> NativeMethodAccessorImpl.java:62) at sun.reflect.
>> DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:498) at sqlline.
>> ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38) at
>> sqlline.SqlLine.dispatch(SqlLine.java:791) at sqlline.SqlLine.initArgs(
>> SqlLine.java:566) at sqlline.SqlLine.begin(SqlLine.java:643) at
>> sqlline.SqlLine.start(SqlLine.java:373) at sqlline.SqlLine.main(SqlLine.
>> java:265)
>>
>> Tried DBeaver - still OOM.
>>
>> Is there a way to get a list of all tables in the cache?
>> Does anyone have any experience with this error? I can't tell if it's
>> Ignite itself or just the JDBC client, though I'm leaning towards the
>> client.
>>
>>
>> --
>>
>> --
>> *Orel Weinstock*
>> Software Engineer
>> Email:    orel@exposebox.com <ro...@exposebox.com>
>> Website: www.exposebox.com
>>
>>


-- 

-- 
*Orel Weinstock*
Software Engineer
Email:    orel@exposebox.com <ro...@exposebox.com>
Website: www.exposebox.com

Re: OOM on connecting to Ignite via JDBC

Posted by Denis Mekhanikov <dm...@gmail.com>.
Orel,

JDBC driver fails on handshake for some reason.
It fails with OOM when trying to allocate a byte array for the handshake
message.
But there is not much data transferred in it. Most probably, message size
is read improperly.

Do you use matching versions of JDBC driver and Ignite nodes?

Denis


вс, 5 авг. 2018 г. в 11:01, Orel Weinstock (ExposeBox) <or...@exposebox.com>:

> Hi all,
>
> Trying to get an Ignite cluster up and going for testing before taking it
> to production.
> I've set up Ignite 2.6 on a cluster with a single node on a Google Cloud
> Compute instance and I have the web console working as well.
>
> I've imported a table from MySQL and re-run the cluster with the resulting
> Docker image.
>
> Querying for the table via the web console proved fruitless, so I've
> switched to SQLLine (on the cluster itself). Still no cigar:
>
> main(SqlLine.java:265)moo@ignite:/home/moo$
> /usr/share/apache-ignite/bin/sqlline.sh --verbose=true -u
> jdbc:ignite:thin://127.0.0.1:8080issuing: !connect jdbc:ignite:thin://
> 127.0.0.1:8080 '' '' org.apache.ignite.IgniteJdbcThinDriverConnecting to
> jdbc:ignite:thin://127.0.0.1:8080java.lang.OutOfMemoryError: Java heap
> space at
> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.read(JdbcThinTcpIo.java:586)
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.read(JdbcThinTcpIo.java:575)
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.handshake(JdbcThinTcpIo.java:328)
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.start(JdbcThinTcpIo.java:223)
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.start(JdbcThinTcpIo.java:144)
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.ensureConnected(JdbcThinConnection.java:148)
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.<init>(JdbcThinConnection.java:137)
> at
> org.apache.ignite.IgniteJdbcThinDriver.connect(IgniteJdbcThinDriver.java:157)
> at sqlline.DatabaseConnection.connect(DatabaseConnection.java:156) at
> sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:204) at
> sqlline.Commands.connect(Commands.java:1095) at
> sqlline.Commands.connect(Commands.java:1001) at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498) at
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> at sqlline.SqlLine.dispatch(SqlLine.java:791) at
> sqlline.SqlLine.initArgs(SqlLine.java:566) at
> sqlline.SqlLine.begin(SqlLine.java:643) at
> sqlline.SqlLine.start(SqlLine.java:373) at
> sqlline.SqlLine.main(SqlLine.java:265)
>
> Tried DBeaver - still OOM.
>
> Is there a way to get a list of all tables in the cache?
> Does anyone have any experience with this error? I can't tell if it's
> Ignite itself or just the JDBC client, though I'm leaning towards the
> client.
>
>
> --
>
> --
> *Orel Weinstock*
> Software Engineer
> Email:    orel@exposebox.com <ro...@exposebox.com>
> Website: www.exposebox.com
>
>