Hi, random string insert/update test fails from time to time. Tested with python 3.6 , pyignite and Ignite 2.8.0 On Ignite 2.7.6 work fine. All logs and examples and py code for test in attachment.
Best regards Dren
[dbutkovic@incumbosstest06 python]$ python3.6 test_insert_update.py
Connected to 192.168.50.106:10800
cnushrffacaexsruvuvkcpukrmqlqmyksafgagejdcdmzvrqsqacmlxsqrrzhfprkliafsyoodvxgfgoarbxeguzuwrgubhhgjv
INSERT
Connected to 192.168.50.106:10800
uebrapqingtsvbacfsvqdgrzthqdjmzqpevfcdqfrcxrhtxicwzvvjrluexmclyxyfnxswrmpdxgbuqacjetfrtsmivkbpzmcqz
INSERT
Connected to 192.168.50.106:10800
nkkrsplvfvnpaxcgrgdeuqxhxgbfdfuxzwqprzlyzuwngctlzeqrnazinkogoaqcrahnulgapwnnjldafhiyedpyhtexhbfymhn
INSERT
Connected to 192.168.50.106:10800
btqdzyqnexuvdglmopoiedjvxsnpspcsutvbicxaolxfuomksmvjtkyitzyfzllzukcukypttjzqqwvczglpxrstvruwpouempn
INSERT
Connected to 192.168.50.106:10800
eaujimzxedqdvakrdgjgwfkbkwaqtuflveblqcdrjvcgjibokswjxctrqsfkzvypditebwzwpzoxxtlaefxixegobixnguriotj
INSERT
Connected to 192.168.50.106:10800
zwtujlpgubnxsympstgensowrgglslbiplwmktbhoynvthcuwgwozidrikubqbsdjcfopcjqephutewyvlxjkpwwaakqwhfygqu
INSERT
Connected to 192.168.50.106:10800
ahvgtavnwukpjwgnjhwvuujfhkqzczyjaktlychridnaegkaxeffyanaxwsbvzwwocmgpxzstdwotmjurgxaenrnignvmavknxs
INSERT
Connected to 192.168.50.106:10800
xfmgaogjveltcbkbwsrlxpkbbphgfmswtrlmsnajwwjersxmebznobzdhkkenvawadwecpmvtuioppshstmuzehjlhfthlzypfw
INSERT
Connected to 192.168.50.106:10800
repofvdfjuuggzpwehidzgqorwweckiymzshikctkpzlybtswuwnazvmpcjxygjvxlmtyivmhgofpbeyiezkmnfxybikidwoqag
INSERT
Connected to 192.168.50.106:10800
stwsykcntmtmopxlywhhhlyklrletofkafedrwjdrgmndfsoxlkehjnlcpegylbtcnuyazhszoupkmezsnfiqlfaivhfpgjbnsl
INSERT
Connected to 192.168.50.106:10800
gkkufqbtaefbqrosfxfnfvpiucgqmipccfatrtajohrbqktjwmsxcnpykshjxftgowvwkcukbgrbamndrscrqkawkpcrwbqxvvx
INSERT
Connected to 192.168.50.106:10800
vbxjukcezwmhpjcpxlvyknmwoyxwdnvjgnpyqquxlfzlcwkefebrhomwrdhivzctktlrckktbhdvyhexswemmckbzrygzfbzllp
INSERT
Connected to 192.168.50.106:10800
dvjkqcxovijkdaftrerlwtjoxjviklpdhfrhbqqopdegarlgojvpsenepkprsbdcaiuowkihcexgyvoorkjrmiicobrkkuwrmhb
INSERT
Connected to 192.168.50.106:10800
rgsxplyhgbjhbzgkvsytcefwfdsknfnuavtanoqyfupmendojvunmnnorvqseipxdnbrhspomokkmgskzlpvmkhxvlwnhylxcnc
INSERT
Connected to 192.168.50.106:10800
pteybympxpmfsvkrzxsksmkszjybijwtghazafelueceevyaogavrklwoonuzugeamqgquweooygveiujejxagyilmghwdhdvpv
Traceback (most recent call last):
File "test_insert_update.py", line 48, in <module>
result_EXIST = ignite_client.sql(query_str='SELECT COUNT(*) FROM TEST WHERE
ID = ?', query_args=[i])
File "/usr/local/lib/python3.6/site-packages/pyignite/client.py", line 404,
in sql
raise SQLError(result.message)
pyignite.exceptions.SQLError: Failed to execute SQL query. General error:
"java.lang.NullPointerException" [50000-197]
[dbutkovic@incumbosstest06 python]$ python3.6 test_insert_update.py
Connected to 192.168.50.106:10800
nwkibmrhhbdgkgnaymzeyfbmeifbivxkzsdfvriwvmdtkgisfmgecilqxflkkqzztpviouslxunwxnygihlijopysupfkblghus
INSERT
Connected to 192.168.50.106:10800
digaffeohkpwnrscfqozxyvumvvjtzouiracvrnicdawwqqvtnzpjmjnabaygefxrcmpughveybmsfcexkunqxgubspfjijparv
INSERT
Connected to 192.168.50.106:10800
fwxjatjrtwydyqelxfewsabzknfckdboyswymskjsljptcwuqcltxeyybsppvvvtfhvbpcnckmpcythzvtdonuzjlrrvapnycpr
INSERT
Connected to 192.168.50.106:10800
labicsolxbrzumtatjihufwiucnkgjdrhwdqlpcwqoppntgdmfpibnsdxgihejmhguzckyowqqsielzkrkazkfrvxymydrdzpdk
INSERT
Connected to 192.168.50.106:10800
shndfldkqpqnltncyiflwgvpimaesotpphjtugyvfwdverjwsvjleswdfrkvpjotrtooxalbdubtiredyihjkpfartnjlwqunkw
INSERT
Connected to 192.168.50.106:10800
gdtrdsrdplzbrcnaeekwcapeukjdxonnfmivtfrnpfhsqkpgyxykqqsfempnxxleivhadqnchuzpkpoabreczxlnrroeqodtfds
INSERT
Connected to 192.168.50.106:10800
zovdjlqqenqouhggingtmumoqjqrwnrtpgfpuvdqtacmobnzcjdudgwkkhjghgkyumdvzlikkirgkcxbvotnfirnozygvkqchsk
Traceback (most recent call last):
File "test_insert_update.py", line 48, in <module>
result_EXIST = ignite_client.sql(query_str='SELECT COUNT(*) FROM TEST WHERE
ID = ?', query_args=[i])
File "/usr/local/lib/python3.6/site-packages/pyignite/client.py", line 404,
in sql
raise SQLError(result.message)
pyignite.exceptions.SQLError: Failed to execute SQL query. General error:
"java.lang.NullPointerException" [50000-197]
[dbutkovic@incumbosstest06 python]$
[dbutkovic@incumbosstest06 python]$
[15:38:03,379][SEVERE][client-connector-#67%UMBOSS%][ClientListenerNioListener]
Failed to process client request
[req=o.a.i.i.processors.platform.client.cache.ClientCacheSqlFieldsQueryRequest@291c5f1]
class org.apache.ignite.IgniteException: Failed to execute SQL query. General
error: "java.lang.NullPointerException" [50000-197]
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.lambda$executeSelect0$1(IgniteH2Indexing.java:1414)
at
org.apache.ignite.internal.processors.cache.QueryCursorImpl.iter(QueryCursorImpl.java:106)
at
org.apache.ignite.internal.processors.cache.query.RegisteredQueryCursor.iter(RegisteredQueryCursor.java:66)
at
org.apache.ignite.internal.processors.cache.QueryCursorImpl.iterator(QueryCursorImpl.java:96)
at
org.apache.ignite.internal.processors.platform.client.cache.ClientCacheQueryCursor.iterator(ClientCacheQueryCursor.java:137)
at
org.apache.ignite.internal.processors.platform.client.cache.ClientCacheQueryCursor.writePage(ClientCacheQueryCursor.java:72)
at
org.apache.ignite.internal.processors.platform.client.cache.ClientCacheSqlFieldsQueryResponse.encode(ClientCacheSqlFieldsQueryResponse.java:74)
at
org.apache.ignite.internal.processors.platform.client.ClientMessageParser.encode(ClientMessageParser.java:439)
at
org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:210)
at
org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:49)
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:120)
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)
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to execute
SQL query. General error: "java.lang.NullPointerException" [50000-197]
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQuery(IgniteH2Indexing.java:831)
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQueryWithTimer(IgniteH2Indexing.java:912)
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$2.iterator(IgniteH2Indexing.java:581)
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$2.iterator(IgniteH2Indexing.java:558)
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.lambda$executeSelect0$1(IgniteH2Indexing.java:1411)
... 17 more
Caused by: org.h2.jdbc.JdbcSQLException: General error:
"java.lang.NullPointerException" [50000-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:168)
at org.h2.message.DbException.convert(DbException.java:307)
at org.h2.message.DbException.toSQLException(DbException.java:280)
at org.h2.message.TraceObject.logAndConvert(TraceObject.java:357)
at
org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:126)
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQuery(IgniteH2Indexing.java:824)
... 21 more
Caused by: java.lang.NullPointerException
at
org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.unlock(GridH2Table.java:515)
at org.h2.engine.Session.unlockAll(Session.java:991)
at org.h2.engine.Session.endTransaction(Session.java:760)
at org.h2.engine.Session.commit(Session.java:708)
at org.h2.command.Command.stop(Command.java:157)
at org.h2.command.CommandContainer.stop(CommandContainer.java:122)
at org.h2.command.Command.executeQuery(Command.java:232)
at
org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:114)
... 22 more
Ignite_DDL_test.sql
Description: Binary data
import random
import string
from pyignite import Client
def randomString(stringLength=10):
"""Generate a random string of fixed length """
letters = string.ascii_lowercase
return ''.join(random.choice(letters) for i in range(stringLength))
nodes = [('192.168.50.106', 10800)]
ignite_client = Client(username='ignite', password='ignite', use_ssl=False)
SQL_INSERT =''' INSERT INTO
TEST (ID, COL1, COL2, COL3, COL4, COL5, COL6,
COL7, COL8, COL9, COL10, COL11, COL12)
VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)
'''
SQL_UPDATE =''' UPDATE TEST SET
COL1 = ?,
COL2 = ?,
COL3 = ?,
COL4 = ?,
COL5 = ?,
COL6 = ?,
COL7 = ?,
COL8 = ?,
COL9 = ?,
COL10= ?,
COL11= ?,
COL12= ?,
WHERE ID = ?
'''
while True:
ignite_client.connect(nodes)
print('Connected to {}'.format(ignite_client))
i = random.randint(1,100000)
random_text = randomString(99)
print (random_text)
arg_list=[]
result_EXIST = ignite_client.sql(query_str='SELECT COUNT(*) FROM TEST
WHERE ID = ?', query_args=[i])
for EXIST in result_EXIST:
if EXIST[0] == 0:
# INSERT
print ("INSERT")
arg_list.append(i)
for i in range(12):
arg_list.append(random_text)
ignite_client.sql(query_str=SQL_INSERT,
query_args=arg_list)
else:
# UPDATE
print ("UPDATE")
for i in range(12):
arg_list.append(random_text)
arg_list.append(i)
ignite_client.sql(query_str=SQL_UPDATE,
query_args=arg_list)
ignite_client.close()
