[jira] [Created] (IGNITE-8127) .NET: Fix flaky test ClientConnectionTest.TestClientDisposeWhileOperationsAreInProgress
Alexey Popov created IGNITE-8127: Summary: .NET: Fix flaky test ClientConnectionTest.TestClientDisposeWhileOperationsAreInProgress Key: IGNITE-8127 URL: https://issues.apache.org/jira/browse/IGNITE-8127 Project: Ignite Issue Type: Bug Components: platforms Affects Versions: 2.5 Reporter: Alexey Popov Assignee: Alexey Popov https://ci.ignite.apache.org/viewLog.html?buildId=1173105=buildResultsDiv=IgniteTests24Java8_IgnitePlatformNetLongRunning Test(s) failed. Some tasks should have failed. Expected: True But was: False at NUnit.Framework.Assert.That(Object actual, IResolveConstraint expression, String message, Object[] args) at Apache.Ignite.Core.Tests.Client.ClientConnectionTest.TestClientDisposeWhileOperationsAreInProgress() in c:\BuildAgent\work\bd85361428dcdb1\modules\platforms\dotnet\Apache.Ignite.Core.Tests\Client\ClientConnectionTest.cs:line 277 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-8108) .NET: Fix flaky EntityFrameworkCacheInitializationTest.TestConfigurationAndStartup
Alexey Popov created IGNITE-8108: Summary: .NET: Fix flaky EntityFrameworkCacheInitializationTest.TestConfigurationAndStartup Key: IGNITE-8108 URL: https://issues.apache.org/jira/browse/IGNITE-8108 Project: Ignite Issue Type: Bug Components: platforms Affects Versions: 2.5 Reporter: Alexey Popov Assignee: Alexey Popov https://ci.ignite.apache.org/viewLog.html?buildId=1171195=IgniteTests24Java8_IgnitePlatformNetIntegrations=buildLog&_focus=6035 Test uses multicast ipFinder. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7889) .NET: linq GroupBy and Where does not work together.
Alexey Popov created IGNITE-7889: Summary: .NET: linq GroupBy and Where does not work together. Key: IGNITE-7889 URL: https://issues.apache.org/jira/browse/IGNITE-7889 Project: Ignite Issue Type: Bug Components: platforms Affects Versions: 2.1 Reporter: Alexey Popov Assignee: Alexey Popov The following code completely ignores the Where condition: {noformat} var groupByQuery2 = models.Where(m => m.Value.DateTicks < 10 && m.Value.Dirty.HasValue).GroupBy(m => m.Value.ContractId) .Select(g => new KeyValuePair(g.Key, g.Select(m => m.Value.Version).Min())); {noformat} debugger shows SQL without WHERE: {CacheQueryable [CacheName=someCache, TableName=MODEL, Query=SqlFieldsQuery [Sql=select _T0.CONTRACTID, min (_T0.VERSION) from "someCache".MODEL as _T0 group by (_T0.CONTRACTID), Arguments=[], Local=False, PageSize=1024, EnableDistributedJoins=False, EnforceJoinOrder=False, Timeout=00:00:00, ReplicatedOnly=False, Colocated=False, Schema=, Lazy=False]]} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7888) ODBC: Add support for SQL_ATTR_LOGIN_TIMEOUT
Alexey Popov created IGNITE-7888: Summary: ODBC: Add support for SQL_ATTR_LOGIN_TIMEOUT Key: IGNITE-7888 URL: https://issues.apache.org/jira/browse/IGNITE-7888 Project: Ignite Issue Type: Improvement Components: odbc Affects Versions: 2.1 Reporter: Alexey Popov Assignee: Igor Sapego Fix For: 2.5 It would be great if we can support SQL_ATTR_LOGIN_TIMEOUT even without login/password connection parameter. Now we have some default timeout for initial ODBC connection establishment. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7851) .NET: linq query throws "Hexadecimal string with odd number of characters" exception
Alexey Popov created IGNITE-7851: Summary: .NET: linq query throws "Hexadecimal string with odd number of characters" exception Key: IGNITE-7851 URL: https://issues.apache.org/jira/browse/IGNITE-7851 Project: Ignite Issue Type: Bug Components: platforms, sql Affects Versions: 2.3 Reporter: Alexey Popov Attachments: FirstOrDefaultKeyIssue.zip Simple linq query with .Key throws an exception {code} var models = cache.AsCacheQueryable(); var entry = models.FirstOrDefault(m => m.Key == @"TST-1/1"); {code} Apache.Ignite.Core.Common.IgniteException: Hexadecimal string with odd number of characters: "TST-1/1" [90003-195] ---> Apache.Ignite.Core.Common.JavaException: class org.apache.ignite.IgniteCheckedException: Hexadecimal string with odd number of characters: "TST-1/1" [90003-195] at org.apache.ignite.internal.processors.platform.utils.PlatformUtils.unwrapQueryException(PlatformUtils.java:519) at org.apache.ignite.internal.processors.platform.cache.PlatformCache.runFieldsQuery(PlatformCache.java:1240) at org.apache.ignite.internal.processors.platform.cache.PlatformCache.processInStreamOutObject(PlatformCache.java:877) at org.apache.ignite.internal.processors.platform.PlatformTargetProxyImpl.inStreamOutObject(PlatformTargetProxyImpl.java:79) Caused by: javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: Hexadecimal string with odd number of characters: "TST-1/1" [90003-195] at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:1917) at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:585) at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:368) at org.apache.ignite.internal.processors.platform.cache.PlatformCache.runFieldsQuery(PlatformCache.java:1234) ... 2 more Caused by: class org.apache.ignite.IgniteCheckedException: Hexadecimal string with odd number of characters: "TST-1/1" [90003-195] at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2468) at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:1914) ... 5 more Caused by: org.h2.message.DbException: Hexadecimal string with odd number of characters: "TST-1/1" [90003-195] at org.h2.message.DbException.get(DbException.java:179) at org.h2.message.DbException.get(DbException.java:155) at org.h2.util.StringUtils.convertHexToBytes(StringUtils.java:930) at org.h2.value.Value.convertTo(Value.java:957) at org.apache.ignite.internal.processors.query.h2.H2Utils.convert(H2Utils.java:262) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.bindPartitionInfoParameter(IgniteH2Indexing.java:2520) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.calculateQueryPartitions(IgniteH2Indexing.java:2480) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeTwoStepsQuery(IgniteH2Indexing.java:1556) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryDistributedSqlFields(IgniteH2Indexing.java:1500) at org.apache.ignite.internal.processors.query.GridQueryProcessor$5.applyx(GridQueryProcessor.java:1909) at org.apache.ignite.internal.processors.query.GridQueryProcessor$5.applyx(GridQueryProcessor.java:1907) at org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36) at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2445) ... 6 more Caused by: org.h2.jdbc.JdbcSQLException: Hexadecimal string with odd number of characters: "TST-1/1" [90003-195] at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) ... 19 more --- End of inner exception stack trace --- at Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.Error(Void* target, Int32 errType, SByte* errClsChars, Int32 errClsCharsLen, SByte* errMsgChars, Int32 errMsgCharsLen, SByte* stackTraceChars, Int32 stackTraceCharsLen, Void* errData, Int32 errDataLen) at Apache.Ignite.Core.Impl.Unmanaged.IgniteJniNativeMethods.TargetInStreamOutObject(Void* ctx, Void* target, Int32 opType, Int64 memPtr) at Apache.Ignite.Core.Impl.PlatformJniTarget.InStreamOutObject(Int32 type, Action`1 writeAction) at Apache.Ignite.Core.Impl.Cache.CacheImpl`2.QueryFields[T](SqlFieldsQuery qry, Func`3 readerFunc) at Apache.Ignite.Linq.Impl.CacheFieldsQueryExecutor.ExecuteSingle[T](QueryModel queryModel, Boolean returnDefaultWhenEmpty) at
[jira] [Created] (IGNITE-7824) Rollback part of IGNITE-7170 changes
Alexey Popov created IGNITE-7824: Summary: Rollback part of IGNITE-7170 changes Key: IGNITE-7824 URL: https://issues.apache.org/jira/browse/IGNITE-7824 Project: Ignite Issue Type: Bug Components: general Affects Versions: 2.4 Reporter: Alexey Popov Please rollback changes done by mistake: U.quietAndWarn(log, "Nodes started on local machine require more than 20% of physical RAM what can " + back to: U.quietAndWarn(log, "Nodes started on local machine require more than 80% of physical RAM what can " + -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7720) Update ODBC cluster configuration: replace OdbcConfiguration with ClientConnectorConfiguration
Alexey Popov created IGNITE-7720: Summary: Update ODBC cluster configuration: replace OdbcConfiguration with ClientConnectorConfiguration Key: IGNITE-7720 URL: https://issues.apache.org/jira/browse/IGNITE-7720 Project: Ignite Issue Type: Task Components: documentation Affects Versions: 2.3 Reporter: Alexey Popov https://apacheignite-sql.readme.io/docs/odbc-driver#section-cluster-configuration Please note that ODBC configuration is depricated. It is better to update this page with ClientConnectorConfiguration BTW, https://apacheignite-sql.readme.io/docs/jdbc-driver is already updated ) /** * ODBC configuration. * * Deprecated as of Apache Ignite 2.1. Please use {@link ClientConnectorConfiguration} and * {@link IgniteConfiguration#setClientConnectorConfiguration(ClientConnectorConfiguration)} instead. */ @Deprecated public class OdbcConfiguration { -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7705) DIscoverySpi should inherit networkTimeout from IgniteConfiguration
Alexey Popov created IGNITE-7705: Summary: DIscoverySpi should inherit networkTimeout from IgniteConfiguration Key: IGNITE-7705 URL: https://issues.apache.org/jira/browse/IGNITE-7705 Project: Ignite Issue Type: Bug Affects Versions: 2.3 Reporter: Alexey Popov Now we have global network timeout (from IgniteConfiguration) Please see {{IgniteConfiguration.setNetworkTimeout}}. And we have a specific {{DiscoverySpi.setNetworkTimeout}}. DiscoverySpi should use a global network timeout (by default) if {{DiscoverySpi.setNetworkTimeout}} were not explicitly called. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7704) Document IgniteConfiguration, TcpDiscoverySpi, TcpCommunicationSpi timeouts and their relations
Alexey Popov created IGNITE-7704: Summary: Document IgniteConfiguration, TcpDiscoverySpi, TcpCommunicationSpi timeouts and their relations Key: IGNITE-7704 URL: https://issues.apache.org/jira/browse/IGNITE-7704 Project: Ignite Issue Type: Improvement Components: documentation Affects Versions: 2.3 Reporter: Alexey Popov We often see similar questions related to IgniteConfiguration, TcpDiscoverySpi, TcpCommunicationSpi timeouts and their relations. And we see several side-effects after incorrect timeout configuration. It looks like this question is not well documented. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7627) Introduce a new eviction policy to avoid eviction of Index pages
Alexey Popov created IGNITE-7627: Summary: Introduce a new eviction policy to avoid eviction of Index pages Key: IGNITE-7627 URL: https://issues.apache.org/jira/browse/IGNITE-7627 Project: Ignite Issue Type: Improvement Components: persistence Reporter: Alexey Popov It would be great if we can have a new type of eviction policy that does not affect index pages when persistence is on. So, the index pages always will be in-mem and that will improve an overall system performance for random reads with persistence is on. For instance, MongoDB works that way. It always keeps all indexes in-mem. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7263) Daemon-mode Ignite node should not open client port (10800)
Alexey Popov created IGNITE-7263: Summary: Daemon-mode Ignite node should not open client port (10800) Key: IGNITE-7263 URL: https://issues.apache.org/jira/browse/IGNITE-7263 Project: Ignite Issue Type: Bug Components: visor Affects Versions: 2.1 Reporter: Alexey Popov Priority: Minor When I run a Visor console with default configuration file it opens a default port (10800) for ODBC driver connection (and for thin JDBC, and for new "thin" client). Then I run several Ignite nodes. So after that, the ODBC driver with default settings goes directly to a Visor (daemon-mode Ignite) and does not able to get any data (daemon-mode Ignite does not keep any data) It is better to avoid such situation. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7247) C++: Change default mapper behavior for BinaryConfiguration
Alexey Popov created IGNITE-7247: Summary: C++: Change default mapper behavior for BinaryConfiguration Key: IGNITE-7247 URL: https://issues.apache.org/jira/browse/IGNITE-7247 Project: Ignite Issue Type: Improvement Components: platforms Affects Versions: 2.3 Reporter: Alexey Popov C# and Java use the following BinaryConfiguration params by default: *BinaryBasicNameMapper with simpleName property set to false, and *BinaryBasicIdMapper with lowerCase property set to true. while C++ uses the following BinaryConfiguration params by default: *BinaryBasicNameMapper with simpleName property set to *true*, and *BinaryBasicIdMapper with lowerCase property set to true. So, the Java (for instance, a Visor app) can't join C++ nodes by default. Let's have the default configuration properties the same for all platforms. The same issue was changed for .NET under https://issues.apache.org/jira/browse/IGNITE-2398 -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7192) JDBC: support FQDN to multiple IPs during connection establishment
Alexey Popov created IGNITE-7192: Summary: JDBC: support FQDN to multiple IPs during connection establishment Key: IGNITE-7192 URL: https://issues.apache.org/jira/browse/IGNITE-7192 Project: Ignite Issue Type: Improvement Components: jdbc Affects Versions: 2.1 Reporter: Alexey Popov Thin JDBC driver may have FQDN (host name) at a connection string. Currently, it resolves this FQDN to one IP and tries to connect to this IP only. It is better to try to connect to multiple IPs one-by-one if DNS returns multiple A-records (FQDN can be resolved to several IPs) until successful connection. It could give a simple fallback option for the JDBC thin driver users. A similar functionality is already implemented in ODBC driver. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7191) JDBC: set socket buffer to 64k by default
Alexey Popov created IGNITE-7191: Summary: JDBC: set socket buffer to 64k by default Key: IGNITE-7191 URL: https://issues.apache.org/jira/browse/IGNITE-7191 Project: Ignite Issue Type: Improvement Components: jdbc Affects Versions: 2.1 Reporter: Alexey Popov TCP socket buffer size can significantly affect user-visible performance (actually, latency) for SQL queries, especially if Ignite cluster is run at the remote hosts. It is better to have 64k TCP socket buffer size (instead of default 8k) by default to avoid possible delays in TCP transport. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7170) Fix javadoc MemoryConfiguration (20% instead of 80%)
Alexey Popov created IGNITE-7170: Summary: Fix javadoc MemoryConfiguration (20% instead of 80%) Key: IGNITE-7170 URL: https://issues.apache.org/jira/browse/IGNITE-7170 Project: Ignite Issue Type: Bug Components: general Affects Versions: 2.3 Reporter: Alexey Popov Assignee: Alexey Popov Priority: Trivial -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7153) Redis: BufferUnderflowException at GridRedisProtocolParser.readBulkStr for values > 8kb
Alexey Popov created IGNITE-7153: Summary: Redis: BufferUnderflowException at GridRedisProtocolParser.readBulkStr for values > 8kb Key: IGNITE-7153 URL: https://issues.apache.org/jira/browse/IGNITE-7153 Project: Ignite Issue Type: Bug Components: general Affects Versions: 2.3 Environment: Win, PHP 7, php_redis-3.1.1-7.0 Reporter: Alexey Popov Exception: {noformat} [15:03:23,690][SEVERE][grid-nio-worker-tcp-rest-0-#36][GridTcpRestProtocol] Failed to process selector key [ses=GridSelectorNioSessionImpl [worker=ByteBufferNioClientWorker [readBuf=java.nio.HeapByteBuffer[pos=28 lim=8192 cap=8192], super=AbstractNioClientWorker [idx=0, bytesRcvd=0, bytesSent=0, bytesRcvd0=0, bytesSent0=0, select=true, super=GridWorker [name=grid-nio-worker-tcp-rest-0, igniteInstanceName=null, finished=false, hashCode=396395638, interrupted=false, runner=grid-nio-worker-tcp-rest-0-#36]]], writeBuf=null, readBuf=null, inRecovery=null, outRecovery=null, super=GridNioSessionImpl [locAddr=/127.0.0.1:6380, rmtAddr=/127.0.0.1:51794, createTime=1512734602674, closeTime=0, bytesSent=0, bytesRcvd=8192, bytesSent0=0, bytesRcvd0=8192, sndSchedTime=1512734602674, lastSndTime=1512734602674, lastRcvTime=1512734602674, readsPaused=false, filterChain=FilterChain[filters=[GridNioCodecFilter [parser=GridTcpRestParser [jdkMarshaller=JdkMarshaller [], routerClient=false], directMode=false]], accepted=true]]] java.nio.BufferUnderflowException at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:151) at org.apache.ignite.internal.processors.rest.protocols.tcp.redis.GridRedisProtocolParser.readBulkStr(GridRedisProtocolParser.java:107) at org.apache.ignite.internal.processors.rest.protocols.tcp.redis.GridRedisProtocolParser.readArray(GridRedisProtocolParser.java:86) at org.apache.ignite.internal.processors.rest.protocols.tcp.GridTcpRestParser.decode(GridTcpRestParser.java:150) at org.apache.ignite.internal.processors.rest.protocols.tcp.GridTcpRestParser.decode(GridTcpRestParser.java:70) at org.apache.ignite.internal.util.nio.GridNioCodecFilter.onMessageReceived(GridNioCodecFilter.java:114) at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109) at org.apache.ignite.internal.util.nio.GridNioServer$HeadFilter.onMessageReceived(GridNioServer.java:3392) at org.apache.ignite.internal.util.nio.GridNioFilterChain.onMessageReceived(GridNioFilterChain.java:175) at org.apache.ignite.internal.util.nio.GridNioServer$ByteBufferNioClientWorker.processRead(GridNioServer.java:1096) at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.processSelectedKeysOptimized(GridNioServer.java:2272) at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.bodyInternal(GridNioServer.java:2048) at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.body(GridNioServer.java:1717) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) at java.lang.Thread.run(Thread.java:748) [15:03:23,691][SEVERE][grid-nio-worker-tcp-rest-0-#36][GridTcpRestProtocol] Closing NIO session because of unhandled exception. class org.apache.ignite.internal.util.nio.GridNioException: null at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.processSelectedKeysOptimized(GridNioServer.java:2296) at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.bodyInternal(GridNioServer.java:2048) at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.body(GridNioServer.java:1717) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) at java.lang.Thread.run(Thread.java:748) Caused by: java.nio.BufferUnderflowException at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:151) at org.apache.ignite.internal.processors.rest.protocols.tcp.redis.GridRedisProtocolParser.readBulkStr(GridRedisProtocolParser.java:107) at org.apache.ignite.internal.processors.rest.protocols.tcp.redis.GridRedisProtocolParser.readArray(GridRedisProtocolParser.java:86) at org.apache.ignite.internal.processors.rest.protocols.tcp.GridTcpRestParser.decode(GridTcpRestParser.java:150) at org.apache.ignite.internal.processors.rest.protocols.tcp.GridTcpRestParser.decode(GridTcpRestParser.java:70) at org.apache.ignite.internal.util.nio.GridNioCodecFilter.onMessageReceived(GridNioCodecFilter.java:114) at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109) at org.apache.ignite.internal.util.nio.GridNioServer$HeadFilter.onMessageReceived(GridNioServer.java:3392) at
[jira] [Created] (IGNITE-7047) NPE at org.jsr166.ConcurrentLinkedHashMap.replace
Alexey Popov created IGNITE-7047: Summary: NPE at org.jsr166.ConcurrentLinkedHashMap.replace Key: IGNITE-7047 URL: https://issues.apache.org/jira/browse/IGNITE-7047 Project: Ignite Issue Type: Bug Components: general Affects Versions: 2.1 Reporter: Alexey Popov Assignee: Alexey Popov NPE happens sometimes at heavy load after receiving GridDhtTxOnePhaseCommitAckRequest, no more details ERROR 11/25/17 17:39:28 [::sys-stripe-2-#3%null%] cache.GridCacheIoManager> Failed processing message [senderId=0393e394-09a9-4c02-b33e-fb4d99c3539f, msg=GridDhtTxOnePhaseCommitAckRequest [vers=[GridCacheVersi on [topVer=123129570, order=1511649564004, nodeOrder=2]], super=GridCacheMessage [msgId=95, depInfo=null, err=null, skipPrepare=false]]] java.lang.NullPointerException at org.jsr166.ConcurrentLinkedHashMap.replace(ConcurrentLinkedHashMap.java:1517) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxManager.removeTxReturn(IgniteTxManager.java:1043) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processDhtTxOnePhaseCommitAckRequest(IgniteTxHandler.java:1070) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.access$700(IgniteTxHandler.java:95) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$8.apply(IgniteTxHandler.java:183) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$8.apply(IgniteTxHandler.java:181) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1042) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:561) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99) at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293) at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556) at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184) at org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:126) at org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1097) at org.apache.ignite.internal.util.StripedExecutor$Stripe.run(StripedExecutor.java:483) at java.lang.Thread.run(Thread.java:745) ERROR 11/25/17 17:39:28 [::sys-stripe-14-#15%null%] cache.GridCacheIoManager> Failed processing message [senderId=52c4ced0-49f3-4075-9b2f-7d619adf6d33, msg=GridDhtTxOnePhaseCommitAckRequest [vers=[GridCacheVersion [topVer=123129570, order=1511649564004, nodeOrder=4]], super=GridCacheMessage [msgId=97, depInfo=null, err=null, skipPrepare=false]]] java.lang.NullPointerException at org.jsr166.ConcurrentLinkedHashMap.replace(ConcurrentLinkedHashMap.java:1517) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxManager.removeTxReturn(IgniteTxManager.java:1043) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processDhtTxOnePhaseCommitAckRequest(IgniteTxHandler.java:1070) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.access$700(IgniteTxHandler.java:95) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$8.apply(IgniteTxHandler.java:183) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$8.apply(IgniteTxHandler.java:181) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1042) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:561) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99) at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293) at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556) at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
[jira] [Created] (IGNITE-6974) .NET: consoleWrite error during application shutdown
Alexey Popov created IGNITE-6974: Summary: .NET: consoleWrite error during application shutdown Key: IGNITE-6974 URL: https://issues.apache.org/jira/browse/IGNITE-6974 Project: Ignite Issue Type: Bug Components: platforms Reporter: Alexey Popov Priority: Minor from Gitter: Hey all (again xD)! Using Apache Ignite .NET 2.3 I (sometimes) get an error when shutting down my application. The error is only observable on server nodes and not on every shutdown. Seems like a kind of race condition. The application runs as windows service. The windows application event log shows the following error (see above) and a I get a hs_err_pid[PID].log like that (snip): Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j org.apache.ignite.internal.processors.platform.callback.PlatformCallbackUtils.consoleWrite(Ljava/lang/String;Z)V+0 j org.apache.ignite.internal.processors.platform.callback.PlatformCallbackGateway.consoleWrite(Ljava/lang/String;Z)V+2 j org.apache.ignite.internal.processors.platform.dotnet.PlatformDotNetConsoleStream.write([BII)V+18 j java.io.PrintStream.write([BII)V+16 j sun.nio.cs.StreamEncoder.writeBytes()V+120 j sun.nio.cs.StreamEncoder.implFlushBuffer()V+11 j sun.nio.cs.StreamEncoder.flushBuffer()V+15 j java.io.OutputStreamWriter.flushBuffer()V+4 j java.io.PrintStream.write(Ljava/lang/String;)V+27 j java.io.PrintStream.print(Ljava/lang/String;)V+9 j org.apache.ignite.internal.util.IgniteUtils.quiet(Z[Ljava/lang/Object;)V+126 j org.apache.ignite.internal.IgniteKernal.stop0(Z)V+943 j org.apache.ignite.internal.IgniteKernal.stop(Z)V+6 j org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.stop0(Z)V+162 j org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.stop(Z)V+26 j org.apache.ignite.internal.IgnitionEx.stop(Ljava/lang/String;ZZ)Z+72 j org.apache.ignite.Ignition.stop(Ljava/lang/String;Z)Z+3 j org.apache.ignite.internal.processors.platform.PlatformIgnition.stop(Ljava/lang/String;Z)Z+2 v ~StubRoutines::call_stub For me it seems that the Java side wants to write something to the (.NET) console using a callback and the underlying memory is already freed - therefore we get a AccessViolation -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6971) Ignite Logger type & logging file config indication
Alexey Popov created IGNITE-6971: Summary: Ignite Logger type & logging file config indication Key: IGNITE-6971 URL: https://issues.apache.org/jira/browse/IGNITE-6971 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.1 Reporter: Alexey Popov Priority: Minor Please see http://apache-ignite-developers.2346864.n4.nabble.com/Ignite-Logger-amp-logging-file-config-output-td24435.html -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6955) Update com.google.code.simple-spring-memcached:spymemcached to 2.8.4
Alexey Popov created IGNITE-6955: Summary: Update com.google.code.simple-spring-memcached:spymemcached to 2.8.4 Key: IGNITE-6955 URL: https://issues.apache.org/jira/browse/IGNITE-6955 Project: Ignite Issue Type: Improvement Components: examples Affects Versions: 2.3 Reporter: Alexey Popov Assignee: Alexey Popov Priority: Minor Please update com.google.code.simple-spring-memcached:spymemcached to 2.8.4 version. This version does not have "netty" dependencies -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6946) Change Ignite Logger configuration on the fly
Alexey Popov created IGNITE-6946: Summary: Change Ignite Logger configuration on the fly Key: IGNITE-6946 URL: https://issues.apache.org/jira/browse/IGNITE-6946 Project: Ignite Issue Type: Improvement Security Level: Public (Viewable by anyone) Components: general Affects Versions: 2.3 Reporter: Alexey Popov It would be great if we can change Ignite Logger configuration on the fly without restarting the cluster node. I will really help to debug an issue while it is reproducible at the current cluster state. It should be done within the configured type of a logger, i.e. it is enough to change logging levels without changing the Logger type itself. Such configuration change should be done for all supported logger types (JUL, log4j, log4i2 and others). Also it should be done easily, for instance, via Visor, WebConsole or any other user-friendly tool ). -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6907) Add LINQ many-to-many test and LINQ with transactions test
Alexey Popov created IGNITE-6907: Summary: Add LINQ many-to-many test and LINQ with transactions test Key: IGNITE-6907 URL: https://issues.apache.org/jira/browse/IGNITE-6907 Project: Ignite Issue Type: Improvement Security Level: Public (Viewable by anyone) Components: platforms Affects Versions: 2.3 Reporter: Alexey Popov 1) Please add more many-to-many tests with LINQ. 2) Please add test with LINQ & Transactions to show/test how it could be used together Probably it could be put to some example instead of unit tests -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6896) .NET: support Multidimensional Arrays in binary serializer
Alexey Popov created IGNITE-6896: Summary: .NET: support Multidimensional Arrays in binary serializer Key: IGNITE-6896 URL: https://issues.apache.org/jira/browse/IGNITE-6896 Project: Ignite Issue Type: Improvement Security Level: Public (Viewable by anyone) Components: platforms Affects Versions: 2.3 Reporter: Alexey Popov It is found that legacy 2D, 3D, etc. are not working in BinarySerializer. Sample reproducer: {code:java} [Test] public void TestXX() { var array2D = new float[32, 32]; var res = TestUtils.SerializeDeserialize(array2D); Assert.AreEqual(array2D, res); } {code} BTW, please note that 2D array in Java (a[2][2]) is just a jugged array: obj = {byte[2][]@1928} 0 = {byte[2]@1974} 1 = {byte[2]@1975} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6876) ODBC: Add support for SQL_ATTR_CONNECTION_TIMEOUT
Alexey Popov created IGNITE-6876: Summary: ODBC: Add support for SQL_ATTR_CONNECTION_TIMEOUT Key: IGNITE-6876 URL: https://issues.apache.org/jira/browse/IGNITE-6876 Project: Ignite Issue Type: Improvement Security Level: Public (Viewable by anyone) Components: odbc Affects Versions: 2.1 Reporter: Alexey Popov Remote ODBC client should be able to request a timeout for socket send/receive operations. It should be done with SQL_ATTR_CONNECTION_TIMEOUT attribute. If an application with ODBC driver experiences a timeout for some query, it can continue to work after closing the connection and establishing a new one. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6835) ODBC driver should handle ungraceful tcp disconnects
Alexey Popov created IGNITE-6835: Summary: ODBC driver should handle ungraceful tcp disconnects Key: IGNITE-6835 URL: https://issues.apache.org/jira/browse/IGNITE-6835 Project: Ignite Issue Type: Bug Security Level: Public (Viewable by anyone) Components: odbc Affects Versions: 2.1 Reporter: Alexey Popov It is found that ungraceful TCP disconnect makes ODBC driver stuck at socket recv(). Ungraceful TCP disconnect could be caused: 1. Network failure (or new firewall rules) 2. Remote party shutdown (Half Closed Connection) So, the proposal is: setup socket options: 1) SO_KEEPALIVE enabled 2) TCP_KEEPIDLE to 60 sec. It is 2 hour by default 3) TCP_KEEPINTVL to 5 (?) sec. It is 1 sec at Win and 75 sec at Linux by default. 4) send/receive buffers to some greater value (8k by default) -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6828) Confusing messages "SLF4J: Failed to load class" at Ignite start
Alexey Popov created IGNITE-6828: Summary: Confusing messages "SLF4J: Failed to load class" at Ignite start Key: IGNITE-6828 URL: https://issues.apache.org/jira/browse/IGNITE-6828 Project: Ignite Issue Type: Bug Security Level: Public (Viewable by anyone) Components: general Affects Versions: 2.1 Reporter: Alexey Popov Assignee: Alexey Popov How to reproduce: 1. build Ignite 2. go to examples\ 3. run: mvn exec:java -Dexec.mainClass="org.apache.ignite.examples.ExampleNodeStartup" you will see the following confusing output: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. SLF4J dependency comes from org.springframework.data:spring-data-commons: [INFO] +- org.apache.ignite:ignite-spring-data:jar:2.3.0-SNAPSHOT:compile [INFO] | +- (org.apache.ignite:ignite-core:jar:2.3.0-SNAPSHOT:compile - omitted for duplicate) [INFO] | +- (org.apache.ignite:ignite-indexing:jar:2.3.0-SNAPSHOT:compile - omitted for duplicate) [INFO] | +- org.springframework.data:spring-data-commons:jar:1.13.1.RELEASE:compile [INFO] | | +- (org.springframework:spring-core:jar:4.3.7.RELEASE:compile - omitted for duplicate) [INFO] | | +- (org.springframework:spring-beans:jar:4.3.7.RELEASE:compile - omitted for duplicate) [INFO] | | +- org.slf4j:slf4j-api:jar:1.7.24:compile [INFO] | | \- org.slf4j:jcl-over-slf4j:jar:1.7.24:runtime [INFO] | | \- (org.slf4j:slf4j-api:jar:1.7.24:runtime - omitted for duplicate) [INFO] | \- (org.apache.ignite:ignite-spring:jar:2.3.0-SNAPSHOT:compile - omitted for duplicate) We should remove this dependency because it is confusing and does not affects to Ignite logging functionality -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6690) DiscoverySpi: Clientmode Ignite should not fail on handshake errors
Alexey Popov created IGNITE-6690: Summary: DiscoverySpi: Clientmode Ignite should not fail on handshake errors Key: IGNITE-6690 URL: https://issues.apache.org/jira/browse/IGNITE-6690 Project: Ignite Issue Type: Improvement Security Level: Public (Viewable by anyone) Components: general Affects Versions: 2.2 Reporter: Alexey Popov Assignee: Alexey Popov Fix For: 2.4 Ignite in Client mode should not fail on handshake unmarshalling errors. It should go to the next IP/port from ipFinder list http://apache-ignite-developers.2346864.n4.nabble.com/DiscoverySpi-Handshake-unmarshalling-errors-at-Client-client-mode-td23467.html -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6627) .NET: cache deserialization fail with complex value type & enum
Alexey Popov created IGNITE-6627: Summary: .NET: cache deserialization fail with complex value type & enum Key: IGNITE-6627 URL: https://issues.apache.org/jira/browse/IGNITE-6627 Project: Ignite Issue Type: Bug Components: platforms Affects Versions: 2.2 Reporter: Alexey Popov There is an deserialization issue with complex structure. Please see the sample code below: {noformat} public enum SampleEnum : byte { One = 0, Two = 1, Three = 2 } {noformat} {noformat} var cache = ignite.GetOrCreateCache>>("mySampleCache"); cache.Put("DictData", Dict); var result = cache.Get("DictData"); {noformat} {{cache.Get("DictData"); }} fails with eception: {"The constructor to deserialize an object of type 'System.Collections.Generic.ObjectEqualityComparer`1[SampleProject.SampleEnum]' was not found."} if we change Dictionary > to Dictionary > then everything is ok -- This message was sent by Atlassian JIRA (v6.4.14#64029)