[ https://issues.apache.org/jira/browse/IGNITE-12137?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aleksey Plekhanov resolved IGNITE-12137. ---------------------------------------- Fix Version/s: 2.8 Resolution: Duplicate [~toninlg], ok, thank you! I've closed the ticket as duplicate. > ODBC: Application hang when connecting to a starting single node > ---------------------------------------------------------------- > > Key: IGNITE-12137 > URL: https://issues.apache.org/jira/browse/IGNITE-12137 > Project: Ignite > Issue Type: Bug > Components: odbc > Affects Versions: 2.7.5 > Environment: Windows 7 > Reporter: AH > Priority: Major > Fix For: 2.8 > > > If I repeatedly try to connect with ODBC before starting only one node, it > will at one time connect but the first query causes my application to hang. > After reading that ODBC driver is not thread safe, I make sure to issue > statement on one thread at a time and the behaviour is still the same. > +console output:+ > D:\apache-ignite-2.7.5-bin\platforms\dotnet\bin>Apache.Ignite.exe > Sep 03, 2019 9:32:21 AM > org.springframework.beans.factory.xml.XmlBeanDefinitionR > eader loadBeanDefinitions > INFO: Loading XML bean definitions from URL > [file:/D:/apache-ignite-2.7.5-bin/co > nfig/default-config.xml] > Sep 03, 2019 9:32:21 AM > org.springframework.context.support.AbstractApplicationC > ontext prepareRefresh > INFO: Refreshing > org.springframework.context.support.GenericApplicationContext@2 > 7082746: startup date [Tue Sep 03 09:32:21 CEST 2019]; root of context > hierarchy > [09:32:22] __________ ________________ > [09:32:22] / _/ ___/ |/ / _/_ __/ __/ > [09:32:22] _/ // (7 7 // / / / / _/ > [09:32:22] /___/\___/_/|_/___/ /_/ /___/ > [09:32:22] > [09:32:22] ver. 2.7.5#20190603-sha1:be4f2a15 > [09:32:22] 2018 Copyright(C) Apache Software Foundation > [09:32:22] > [09:32:22] Ignite documentation: http://ignite.apache.org > [09:32:22] > [09:32:22] Quiet mode. > [09:32:22] ^-- Logging to file 'D:\apache-ignite-2.7.5-bin\work\log\ignite-413 > 535b7.0.log' > [09:32:22] ^-- Logging by 'JavaLogger [quiet=true, config=null]' > [09:32:22] ^-- To see **FULL** console log here add -DIGNITE_QUIET=false or "- > v" to ignite.\{sh|bat} > [09:32:22] > [09:32:22] OS: Windows 7 6.1 amd64 > [09:32:22] VM information: Java(TM) SE Runtime Environment 1.8.0_191-b12 > Oracle > Corporation Java HotSpot(TM) 64-Bit Server VM 25.191-b12 > [09:32:22] Please set system property '-Djava.net.preferIPv4Stack=true' to > avoid > possible problems in mixed environments. > [09:32:22] Initial heap size is 192MB (should be no less than 512MB, use > -Xms512 > m -Xmx512m). > [09:32:22] Configured plugins: > [09:32:22] ^-- None > [09:32:22] > [09:32:22] Configured failure handler: [hnd=StopNodeOrHaltFailureHandler > [trySto > p=false, timeout=0, super=AbstractFailureHandler > [ignoredFailureTypes=[SYSTEM_WO > RKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]]] > [09:32:23] Message queue limit is set to 0 which may lead to potential OOMEs > whe > n running cache operations in FULL_ASYNC or PRIMARY_SYNC modes due to message > qu > eues growth on sender and receiver sides. > [09:32:23] Security status [authentication=off, tls/ssl=off] > [09:32:25,782][SEVERE][client-connector-#41][ClientListenerProcessor] Runtime > er > ror caught during grid runnable execution: GridWorker > [name=message-received-not > ify, igniteInstanceName=null, finished=false, heartbeatTs=1567495945774, > hashCod > e=215381183, interrupted=false, runner=client-connector-#41] > java.lang.NullPointerException > at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener. > nextConnectionId(ClientListenerNioListener.java:306) > at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener. > prepareContext(ClientListenerNioListener.java:285) > at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener. > onHandshake(ClientListenerNioListener.java:223) > at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener. > onMessage(ClientListenerNioListener.java:129) > at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener. > onMessage(ClientListenerNioListener.java:45) > at org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onM > essageReceived(GridNioFilterChain.java:279) > at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessa > geReceived(GridNioFilterAdapter.java:109) > at org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(G > ridNioAsyncNotifyFilter.java:97) > at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java > :120) > at org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorke > rPool.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) > [09:32:37,140][SEVERE][exchange-worker-#48][GridCachePartitionExchangeManager] > F > ailed to process custom exchange task: ClientCacheChangeDummyDiscoveryMessage > [r > eqId=435a4891-cdd1-47a0-8d3b-5e5978392cf8, cachesToClose=null, > startCaches=[Orga > nization]] > java.lang.NullPointerException > at org.apache.ignite.internal.processors.cache.CacheAffinitySharedManage > r.processClientCachesChanges(CacheAffinitySharedManager.java:635) > at org.apache.ignite.internal.processors.cache.GridCacheProcessor.proces > sCustomExchangeTask(GridCacheProcessor.java:391) > at org.apache.ignite.internal.processors.cache.GridCachePartitionExchang > eManager$ExchangeWorker.processCustomTask(GridCachePartitionExchangeManager.java > :2476) > at org.apache.ignite.internal.processors.cache.GridCachePartitionExchang > eManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2621) > at org.apache.ignite.internal.processors.cache.GridCachePartitionExchang > eManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2540) > at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java > :120) > at java.lang.Thread.run(Thread.java:748) > [09:32:37] Performance suggestions for grid (fix if possible) > [09:32:37] To disable, set -DIGNITE_PERFORMANCE_SUGGESTIONS_DISABLED=true > [09:32:37] ^-- Enable G1 Garbage Collector (add '-XX:+UseG1GC' to JVM options) > [09:32:37] ^-- Specify JVM heap max size (add '-Xmx<size>[g|G|m|M|k|K]' to JVM > options) > [09:32:37] ^-- Set max direct memory size if getting 'OOME: Direct buffer memo > ry' (add '-XX:MaxDirectMemorySize=<size>[g|G|m|M|k|K]' to JVM options) > [09:32:37] ^-- Disable processing of calls to System.gc() (add '-XX:+DisableEx > plicitGC' to JVM options) > [09:32:37] ^-- Enable ATOMIC mode if not using transactions (set 'atomicityMod > e' to ATOMIC) > [09:32:37] ^-- Disable fully synchronous writes (set 'writeSynchronizationMode > ' to PRIMARY_SYNC or FULL_ASYNC) > [09:32:37] Refer to this page for more performance suggestions: > https://apacheig > nite.readme.io/docs/jvm-and-system-tuning > [09:32:37] > [09:32:37] To start Console Management & Monitoring run > ignitevisorcmd.\{sh|bat} > [09:32:37] Data Regions Configured: > [09:32:37] ^-- default [initSize=256.0 MiB, maxSize=2.4 GiB, persistence=false > ] > [09:32:37] > [09:32:37] Ignite node started OK (id=413535b7) > [09:32:37] Topology snapshot [ver=1, locNode=413535b7, servers=1, clients=0, > sta > te=ACTIVE, CPUs=4, offheap=2.4GB, heap=2.6GB] > +Windbg output:+ > 0:000> k > ChildEBP RetAddr > WARNING: Stack unwind information not available. Following frames may be > wrong. > 0018e758 74cc6d20 ntdll!NtWaitForSingleObject+0x15 > 0018e844 7575673e mswsock+0x6d20 > 0018e8c4 59ad5a3a WS2_32!select+0x9f > 0018e9fc 59ad5018 > ignite_odbc!ignite::odbc::system::TcpSocketClient::WaitOnSocket+0x5a > [d:\apache-ignite-2.7.5-bin\platforms\cpp\odbc\os\win\src\system\tcp_socket_client.cpp > @ 434] > 0018ea14 59aeff41 > ignite_odbc!ignite::odbc::system::TcpSocketClient::Receive+0x18 > [d:\apache-ignite-2.7.5-bin\platforms\cpp\odbc\os\win\src\system\tcp_socket_client.cpp > @ 256] > 0018eae0 59aefdb0 ignite_odbc!ignite::odbc::Connection::ReceiveAll+0x61 > [d:\apache-ignite-2.7.5-bin\platforms\cpp\odbc\src\connection.cpp @ 354] > 0018eb90 59af1c14 ignite_odbc!ignite::odbc::Connection::Receive+0xb0 > [d:\apache-ignite-2.7.5-bin\platforms\cpp\odbc\src\connection.cpp @ 311] > 0018ebcc 59b045a5 > ignite_odbc!ignite::odbc::Connection::SyncMessage<ignite::odbc::QueryExecuteRequest,ignite::odbc::QueryExecuteResponse>+0x94 > > [d:\apache-ignite-2.7.5-bin\platforms\cpp\odbc\include\ignite\odbc\connection.h > @ 219] > 0018ed64 59b03fa4 > ignite_odbc!ignite::odbc::query::DataQuery::MakeRequestExecute+0x105 > [d:\apache-ignite-2.7.5-bin\platforms\cpp\odbc\src\query\data_query.cpp @ 230] > 0018ed70 59b149ce ignite_odbc!ignite::odbc::query::DataQuery::Execute+0x14 > [d:\apache-ignite-2.7.5-bin\platforms\cpp\odbc\src\query\data_query.cpp @ 58] > 0018edc8 59b146f5 > ignite_odbc!ignite::odbc::Statement::InternalExecuteSqlQuery+0x21e > [d:\apache-ignite-2.7.5-bin\platforms\cpp\odbc\src\statement.cpp @ 705] > 0018ede4 59afc83f ignite_odbc!ignite::odbc::Statement::ExecuteSqlQuery+0x75 > [d:\apache-ignite-2.7.5-bin\platforms\cpp\odbc\src\statement.cpp @ 635] > 0018ef5c 59af5743 ignite_odbc!ignite::SQLExecDirect+0x1ef > [d:\apache-ignite-2.7.5-bin\platforms\cpp\odbc\src\odbc.cpp @ 399] > 0018ef6c 696ae3a4 ignite_odbc!SQLExecDirect+0x13 > [d:\apache-ignite-2.7.5-bin\platforms\cpp\odbc\src\entry_points.cpp @ 121] > 0018ef90 6969e3dc ODBC32!SQLSetEnvAttr+0xa614 > 0018efb8 005123e0 ODBC32!SQLExecDirectA+0xa1 -- This message was sent by Atlassian Jira (v8.3.2#803003)