You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Aleksey Plekhanov (Jira)" <ji...@apache.org> on 2019/09/04 18:20:00 UTC

[jira] [Resolved] (IGNITE-12137) ODBC: Application hang when connecting to a starting single node

     [ 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)