You bet, thanks for looking.
[06:48:40] Topology snapshot [ver=1, servers=1, clients=0, CPUs=8, heap=1.0GB]
[06:49:18,662][SEVERE][client-connector-#52][ClientListenerNioListener] Failed
to parse client request.
java.lang.ArrayIndexOutOfBoundsException: 0
at
org.apache.ignite.internal.binary.BinaryUtils.doReadDecimal(BinaryUtils.java:1277)
at
org.apache.ignite.internal.processors.odbc.SqlListenerUtils.readObject(SqlListenerUtils.java:78)
at
org.apache.ignite.internal.processors.odbc.odbc.OdbcMessageParser.readParameterRow(OdbcMessageParser.java:185)
at
org.apache.ignite.internal.processors.odbc.odbc.OdbcMessageParser.decode(OdbcMessageParser.java:97)
at
org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:115)
at
org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:39)
at
org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
at
org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
at
org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:97)
at
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
at
org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Kenn Thompson | Solutions Architect, QAT Global
402.478.8818 (mobile) | 402.391.9200 x1021
From: Igor Sapego [mailto:[email protected]]
Sent: Tuesday, November 21, 2017 2:21 AM
To: user <[email protected]>
Subject: Re: ODBC insert of decimal value throws an exception
Hi, can you provide full stack trace for the error?
Best Regards,
Igor
On Tue, Nov 21, 2017 at 12:41 AM,
[email protected]<mailto:[email protected]>
<[email protected]<mailto:[email protected]>> wrote:
I have a table defined as such and created via passing to an ODBC Connection:
CREATE TABLE IF NOT EXISTS TestTable (RecId varchar PRIMARY KEY, RecValue
DECIMAL(4,2))
WITH "template=replicated, cache_name=TestTable_Cache";
I then do an ODBC insert:
INSERT INTO TestTable (RecId, RecValue) VALUES ('1', ?)
(using the OdbcParameter with the OdbcCommand object)
The Odbc error is "The connection has been disabled." however the JVM is
throwing this error:
[SEVERE][client-connector-#47][ClientListenerNioListener] Failed to parse
client request.
java.lang.ArrayIndexOutOfBoundsException: 0
at org.apache.ignite.internal.binary.BinaryUtils.doReadDecimal
Everything works out ok until the actual value set on the parameter is 0.
Null works fine, values other than 0 work fine. I've verified Precision and
Scale are set appropriately. I've also tried an insert with actual values
instead of using the Parameters collection, but that seems to work as well.
Thoughts?
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/