[jira] [Updated] (IGNITE-6324) transactional cache data partially available after crash.
[ https://issues.apache.org/jira/browse/IGNITE-6324?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dmitriy Pavlov updated IGNITE-6324: --- Component/s: persistence > transactional cache data partially available after crash. > - > > Key: IGNITE-6324 > URL: https://issues.apache.org/jira/browse/IGNITE-6324 > Project: Ignite > Issue Type: Bug > Components: persistence >Affects Versions: 1.9, 2.1 >Reporter: Stanilovsky Evgeny >Assignee: Alexey Goncharuk > Attachments: InterruptCommitedThreadTest.java > > > If InterruptedException raise in client code during pds store operations we > can obtain inconsistent cache after restart. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Comment Edited] (IGNITE-6133) Add clearNodeLocalMap() to IgniteMXBean
[ https://issues.apache.org/jira/browse/IGNITE-6133?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16164141#comment-16164141 ] vk edited comment on IGNITE-6133 at 9/15/17 7:05 PM: - [~yzhdanov] please review. was (Author: vk): Please review. > Add clearNodeLocalMap() to IgniteMXBean > --- > > Key: IGNITE-6133 > URL: https://issues.apache.org/jira/browse/IGNITE-6133 > Project: Ignite > Issue Type: New Feature >Reporter: Yakov Zhdanov >Assignee: vk > Labels: newbie > Fix For: 2.3 > > > Sometimes it is handy to clear node local map on Ignite nodes esp when > testing some functionality. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6210) inefficient memory consumption for checkpoint buffer
[ https://issues.apache.org/jira/browse/IGNITE-6210?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16168314#comment-16168314 ] Ivan Rakov commented on IGNITE-6210: Looks good. > inefficient memory consumption for checkpoint buffer > > > Key: IGNITE-6210 > URL: https://issues.apache.org/jira/browse/IGNITE-6210 > Project: Ignite > Issue Type: Bug > Components: persistence >Affects Versions: 2.1 >Reporter: Dmitriy Govorukhin >Assignee: Dmitriy Govorukhin >Priority: Critical > Fix For: 2.3 > > > Current implementation allows configure checkpoint buffer size in > PersistentStoreConfiguration, but checkpoint buffer will be created for each > memory configuration with size equals the one indicated in > PersistentStoreConfiguration. > For example: > {code} > PersistentStoreConfiguration prCfg = new > PersistentStoreConfiguration(); > prCfg.setCheckpointingFrequency(5L * 1024L * 1024L * 1024L); // 5GB. > MemoryConfiguration memCfg = new MemoryConfiguration(); > MemoryPolicyConfiguration pl1 = new MemoryPolicyConfiguration(); > pl1.setMaxSize(100L * 1024L * 1024L); // 100 Mb. > MemoryPolicyConfiguration pl2 = new MemoryPolicyConfiguration(); > pl2.setMaxSize(10L * 1024L * 1024L * 1024L); // 10GB. > memCfg.setMemoryPolicies(pl1, pl2); > {code} > pl1(max size 10Gb) will be have checkpoint buffer = 5GB and pl2(max size > 100Mb) buffer= 5GB -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (IGNITE-6251) Web console: Selection stay on removed user.
[ https://issues.apache.org/jira/browse/IGNITE-6251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexey Kuznetsov reassigned IGNITE-6251: Resolution: Fixed Assignee: Pavel Konstantinov (was: Alexey Kuznetsov) Merged to master. Please retest. > Web console: Selection stay on removed user. > > > Key: IGNITE-6251 > URL: https://issues.apache.org/jira/browse/IGNITE-6251 > Project: Ignite > Issue Type: Bug > Components: wizards >Affects Versions: 2.1 >Reporter: Vasiliy Sisko >Assignee: Pavel Konstantinov > Fix For: 2.3 > > > # Open admin panel. > # Select and remove user. > No user selected. Action key stay active. Exception occurs on some actions. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-2845) Get operation might ignore entry update from EntryProcessor.
[ https://issues.apache.org/jira/browse/IGNITE-2845?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16168191#comment-16168191 ] ASF GitHub Bot commented on IGNITE-2845: Github user voipp closed the pull request at: https://github.com/apache/ignite/pull/1557 > Get operation might ignore entry update from EntryProcessor. > > > Key: IGNITE-2845 > URL: https://issues.apache.org/jira/browse/IGNITE-2845 > Project: Ignite > Issue Type: Bug > Components: cache >Affects Versions: 1.5.0.final >Reporter: Vladimir Ozerov >Assignee: Alexandr Fedotov > Fix For: 2.3 > > > Originally issue was observed during work with IGFS. Steps to reproduce: > 1) Start REPLICATE cache. > 2) Start PESSIMISITC/REPEATABLE_READ transaction. > 3) Invoke EntryProcessor on non-existent key and call > "MutableEntry.setValue()" inside it. > 4) Call {{IgniteCache.get()}} on this value. It will return {{null}}, while > normally it should return value set inside EntryProcessor. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-1553) Optimize transaction prepare step when store is enabled
[ https://issues.apache.org/jira/browse/IGNITE-1553?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16168193#comment-16168193 ] ASF GitHub Bot commented on IGNITE-1553: Github user voipp closed the pull request at: https://github.com/apache/ignite/pull/2091 > Optimize transaction prepare step when store is enabled > --- > > Key: IGNITE-1553 > URL: https://issues.apache.org/jira/browse/IGNITE-1553 > Project: Ignite > Issue Type: Improvement > Components: cache >Affects Versions: ignite-1.4 >Reporter: Alexey Goncharuk >Assignee: Alexey Kuznetsov > Labels: important > > Currently entries are enlisted in a database transaction after grid > transaction is in PREPARED state. We can do this in parallel in the following > fashion (pseudo-code): > {code} > fut = tx.prepareAsync(); > db.write(tx.writes()); > fut.get(); > try { > db.commit(); > > tx.commit(); > } > catch (Exception e) { > tx.rollback(); > } > {code} > If this approach is applied, we should be able to reduce latency for > transactions when write-through is enabled. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-1094) Ignite.createCache(CacheConfiguration) hangs if some exception occurs during cache initialization
[ https://issues.apache.org/jira/browse/IGNITE-1094?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16168186#comment-16168186 ] ASF GitHub Bot commented on IGNITE-1094: Github user voipp closed the pull request at: https://github.com/apache/ignite/pull/2126 > Ignite.createCache(CacheConfiguration) hangs if some exception occurs during > cache initialization > - > > Key: IGNITE-1094 > URL: https://issues.apache.org/jira/browse/IGNITE-1094 > Project: Ignite > Issue Type: Bug > Components: cache >Reporter: Sergey Evdokimov >Assignee: Vyacheslav Koptilin > Labels: Muted_test > Fix For: 2.3 > > > User can pass broken configuration, for example, store factory that throws > exception from create() method. I created test to demonstrate the problem. > See IgniteDynamicCacheStartSelfTest#testBrokenStoreFactory in 'ignite-1094' > branch -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6405) Deadlock is not detected if timed out on client.
Alexei Scherbakov created IGNITE-6405: - Summary: Deadlock is not detected if timed out on client. Key: IGNITE-6405 URL: https://issues.apache.org/jira/browse/IGNITE-6405 Project: Ignite Issue Type: Bug Affects Versions: 2.1 Reporter: Alexei Scherbakov Priority: Minor Fix For: 2.3 Timeout exception is thrown instead. Reproducer: {noformat} /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.ignite.internal.processors.cache.transactions; import java.util.Collections; import java.util.concurrent.CountDownLatch; import javax.cache.CacheException; import org.apache.ignite.Ignite; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.configuration.TransactionConfiguration; import org.apache.ignite.internal.IgniteInternalFuture; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.apache.ignite.transactions.Transaction; import org.apache.ignite.transactions.TransactionDeadlockException; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; import static org.apache.ignite.transactions.TransactionConcurrency.PESSIMISTIC; import static org.apache.ignite.transactions.TransactionIsolation.REPEATABLE_READ; /** * Tests an ability to eagerly rollback timed out transactions. */ public class TxPessimisticDeadlockDetectionClient extends GridCommonAbstractTest { /** */ private static final long TX_MIN_TIMEOUT = 1; /** */ private static final long TX_TIMEOUT = 300; /** */ private static final long TX_DEFAULT_TIMEOUT = 3_000; /** */ private static final String CACHE_NAME = "test"; /** IP finder. */ private static final TcpDiscoveryVmIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true); /** */ private static final int GRID_CNT = 3; /** */ private final CountDownLatch blocked = new CountDownLatch(1); /** */ private final CountDownLatch unblocked = new CountDownLatch(1); /** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); cfg.setClientMode("client".equals(igniteInstanceName)); ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(IP_FINDER); TransactionConfiguration txCfg = new TransactionConfiguration(); txCfg.setDefaultTxTimeout(TX_DEFAULT_TIMEOUT); cfg.setTransactionConfiguration(txCfg); CacheConfiguration ccfg = new CacheConfiguration(CACHE_NAME); ccfg.setAtomicityMode(TRANSACTIONAL); ccfg.setBackups(2); cfg.setCacheConfiguration(ccfg); return cfg; } /** {@inheritDoc} */ @Override protected void beforeTest() throws Exception { super.beforeTest(); startGridsMultiThreaded(GRID_CNT); } /** {@inheritDoc} */ @Override protected void afterTest() throws Exception { super.afterTest(); stopAllGrids(); } /** */ protected void validateException(Exception e) { assertEquals("Deadlock report is expected", TransactionDeadlockException.class, e.getCause().getCause().getClass()); } /** * Tests if deadlock is resolved on timeout with correct message. * * @throws Exception If failed. */ public void testDeadlockUnblockedOnTimeout() throws Exception { Ignite client = startGrid("client"); testDeadlockUnblockedOnTimeout0(client, ignite(0)); } /** * Tests if deadlock is resolved on timeout with correct message. * @throws Exception */ private void testDeadlockUnblockedOnTimeout0(final Ignite node1, final Ignite node2) throws Exception { final CountDownLatch l = new CountDownLatch(2);
[jira] [Commented] (IGNITE-6380) Exception should be thrown on cache creation attempt inside transaction
[ https://issues.apache.org/jira/browse/IGNITE-6380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16168098#comment-16168098 ] rajeev gandhi commented on IGNITE-6380: --- http://apache-ignite-users.70518.x6.nabble.com/Cannot-start-stop-cache-within-lock-or-transaction-td16920.html#a16990 > Exception should be thrown on cache creation attempt inside transaction > --- > > Key: IGNITE-6380 > URL: https://issues.apache.org/jira/browse/IGNITE-6380 > Project: Ignite > Issue Type: Improvement >Reporter: Yakov Zhdanov >Assignee: Pavel Pereslegin > Labels: newbie, usability > > Exception should be thrown on cache creation attempt inside transaction to > prevent deadlocks since cache start triggers exchange and exchange cannot > finish until all txs are finished. > We need to check if thread owns a tx before starting cache and if it does > then IllegalStateException should be thrown. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6404) Failures in .NET test suite
Vladimir Ozerov created IGNITE-6404: --- Summary: Failures in .NET test suite Key: IGNITE-6404 URL: https://issues.apache.org/jira/browse/IGNITE-6404 Project: Ignite Issue Type: Bug Components: platforms Reporter: Vladimir Ozerov Assignee: Pavel Tupitsyn Fix For: 2.3 A kind of NPE. Affected tests: {code} ConsoleRedirectTest.TestStartupJavaError ExceptionsTest.TestExceptions ExceptionsTest.TestInvalidSpringUrl LifecycleTest.TestError MarshallerTest.TestInvalidMarshaller CustomLoggerTest.TestStartupDotNetError CustomLoggerTest.TestStartupJavaError {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6403) IgniteSqlNotNullConstraintTest.testTransactionalAddColumnNotNullCheckDmlInsertValues fails periodically
Vladimir Ozerov created IGNITE-6403: --- Summary: IgniteSqlNotNullConstraintTest.testTransactionalAddColumnNotNullCheckDmlInsertValues fails periodically Key: IGNITE-6403 URL: https://issues.apache.org/jira/browse/IGNITE-6403 Project: Ignite Issue Type: Bug Components: sql Reporter: Vladimir Ozerov Assignee: Alexander Paschenko Fix For: 2.3 Looks like we have a bug in {{ALTER TABLE}} - column is not visible after command is completed: {code} Caused by: org.h2.jdbc.JdbcSQLException: Column "NAME" not found; SQL statement: INSERT INTO test(id, name, age) VALUES (1, 'ok', 1), (2, NULLIF('a', 'a'), 2), (3, 'ok', 3) [42122-195] {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6402) Make yardstick delete config-db from and not copy logs to remotes
Ksenia Rybakova created IGNITE-6402: --- Summary: Make yardstick delete config-db from and not copy logs to remotes Key: IGNITE-6402 URL: https://issues.apache.org/jira/browse/IGNITE-6402 Project: Ignite Issue Type: Improvement Components: yardstick Affects Versions: 2.1 Reporter: Ksenia Rybakova 1) Currently if we run yardstick from folder that contains output/logs-, this logs- will be also copied to remotes during yardstick deployment. This is not needed. 2) During clean up process folder config-db is not removed from remotes along with others (config, bin, etc.) -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-4931) Safe way for deactivate cluster
[ https://issues.apache.org/jira/browse/IGNITE-4931?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16168029#comment-16168029 ] Ilya Lantukh commented on IGNITE-4931: -- Looks good. > Safe way for deactivate cluster > --- > > Key: IGNITE-4931 > URL: https://issues.apache.org/jira/browse/IGNITE-4931 > Project: Ignite > Issue Type: Task > Components: general >Affects Versions: 2.0 >Reporter: Dmitriy Govorukhin >Assignee: Alexey Kuznetsov > Labels: MakeTeamcityGreenAgain, Muted_test > Fix For: 2.3 > > > Currently deactivation process, started after transaction start or cache lock > on key hangs waiting transaction end\ cache unlock. Closing > transaction\unlocking the lock leads to excpetion when deactivation is in > progress. It looks like 'deadlock'. > So, expected behaviour: starting deactivation should lead to excpetion if > transaction is in progress or cache key is locked. > Exception should be thrown like in case when we start cache and transaction > is in progress (see checkEmptyTransactions method). In new tests we should > run transactions\lock in the same thread as deactivation started -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6008) CacheRemoveAllSelfTest.testRemoveAll fails sometimes
[ https://issues.apache.org/jira/browse/IGNITE-6008?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16168026#comment-16168026 ] Aleksei Zaitsev commented on IGNITE-6008: - Looks like test is OK now: [Test history in TC|https://ci.ignite.apache.org/project.html?projectId=Ignite20Tests=-6870886844945075063=testDetails] Also I cannot reproduce the failure locally > CacheRemoveAllSelfTest.testRemoveAll fails sometimes > > > Key: IGNITE-6008 > URL: https://issues.apache.org/jira/browse/IGNITE-6008 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.1 >Reporter: Ilya Lantukh >Assignee: Aleksei Zaitsev > Labels: MakeTeamcityGreenAgain > Fix For: 2.3 > > > {noformat} > [2017-08-09 01:18:15,172][ERROR][main][root] Test failed. > junit.framework.AssertionFailedError: Local size: 58 > On heap: 58 > Off heap: 58 > Primary: 58 > Backup: 14 expected:<0> but was:<58> > at junit.framework.Assert.fail(Assert.java:57) > at junit.framework.Assert.failNotEquals(Assert.java:329) > at junit.framework.Assert.assertEquals(Assert.java:78) > at junit.framework.Assert.assertEquals(Assert.java:234) > at junit.framework.TestCase.assertEquals(TestCase.java:401) > at > org.apache.ignite.internal.processors.cache.CacheRemoveAllSelfTest.testRemoveAll(CacheRemoveAllSelfTest.java:71) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at junit.framework.TestCase.runTest(TestCase.java:176) > at > org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:2000) > at > org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:132) > at > org.apache.ignite.testframework.junits.GridAbstractTest$5.run(GridAbstractTest.java:1915) > at java.lang.Thread.run(Thread.java:745) > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6401) Change size to maxSize for memory config in ignite-base-load-config.xml
Ksenia Rybakova created IGNITE-6401: --- Summary: Change size to maxSize for memory config in ignite-base-load-config.xml Key: IGNITE-6401 URL: https://issues.apache.org/jira/browse/IGNITE-6401 Project: Ignite Issue Type: Bug Components: yardstick Affects Versions: 2.1 Reporter: Ksenia Rybakova Typo in ignite-base-load-config.xml: 'size' need to be changed to 'maxSize' for memory config since there is no 'size' property. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-4931) Safe way for deactivate cluster
[ https://issues.apache.org/jira/browse/IGNITE-4931?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16168000#comment-16168000 ] Alexey Kuznetsov commented on IGNITE-4931: -- [~ilantukh] done > Safe way for deactivate cluster > --- > > Key: IGNITE-4931 > URL: https://issues.apache.org/jira/browse/IGNITE-4931 > Project: Ignite > Issue Type: Task > Components: general >Affects Versions: 2.0 >Reporter: Dmitriy Govorukhin >Assignee: Alexey Kuznetsov > Labels: MakeTeamcityGreenAgain, Muted_test > Fix For: 2.3 > > > Currently deactivation process, started after transaction start or cache lock > on key hangs waiting transaction end\ cache unlock. Closing > transaction\unlocking the lock leads to excpetion when deactivation is in > progress. It looks like 'deadlock'. > So, expected behaviour: starting deactivation should lead to excpetion if > transaction is in progress or cache key is locked. > Exception should be thrown like in case when we start cache and transaction > is in progress (see checkEmptyTransactions method). In new tests we should > run transactions\lock in the same thread as deactivation started -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Comment Edited] (IGNITE-6046) Multiple SQL statements in one JDBC command do not work
[ https://issues.apache.org/jira/browse/IGNITE-6046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167838#comment-16167838 ] Taras Ledkov edited comment on IGNITE-6046 at 9/15/17 3:09 PM: --- # Because {{org.h2.command.CommandList}} is not public class # I try to avoid creation new instances of the {{SqlFieldsQuery}} where it is possible. It was required for {{updateSqlFieldsDistributed}} because refactoring too hard. [~al.psc], good point. The operations with cache of queries are removed from {{executeTwoStepsQuery}} method. [Tests results|https://ci.ignite.apache.org/project.html?projectId=Ignite20Tests=projectOverview_Ignite20Tests=pull%2F2618%2Fhead] are OK was (Author: tledkov-gridgain): # Because {{org.h2.command.CommandList}} is not public class # I try to avoid creation new instances of the {{SqlFieldsQuery}} where it is possible. It was required for {{updateSqlFieldsDistributed}} because refactoring too hard. [~al.psc], good point. The operations with cache of queries are removed from {{executeTwoStepsQuery}} method. Waits for [tests results|https://ci.ignite.apache.org/project.html?projectId=Ignite20Tests=projectOverview_Ignite20Tests=pull%2F2618%2Fhead] > Multiple SQL statements in one JDBC command do not work > --- > > Key: IGNITE-6046 > URL: https://issues.apache.org/jira/browse/IGNITE-6046 > Project: Ignite > Issue Type: Task > Components: jdbc, sql >Reporter: Dmitriy Setrakyan >Assignee: Taras Ledkov > Labels: usability > Fix For: 2.3 > > > I have connected to Ignite from DBeaver using our thin JDBC driver. When I > execute more than one statement from the SQL Editor, I get an error. > For example, highlighting and executing these 2 statements gives an error: > {code:sql} > INSERT INTO city (id, name) VALUES (2, 'Forest Hill'); > INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3); > {code} > Here is the error I get: > {code} > [15:25:17,265][SEVERE][sql-connector-#150%null%][JdbcRequestHandler] Failed > to execute SQL query [reqId=26, req=JdbcQueryExecuteRequest [schemaName=null, > pageSize=1024, maxRows=0, sqlQry=INSERT INTO city (id, name) VALUES (2, > 'Forest Hill'); > INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3), args=[]]] > javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: > Can not set org.h2.command.Prepared field > org.h2.command.CommandContainer.prepared to org.h2.command.CommandList > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1863) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.executeQuery(JdbcRequestHandler.java:188) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.handle(JdbcRequestHandler.java:122) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:152) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:44) > 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:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: class org.apache.ignite.IgniteCheckedException: Can not set > org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to > org.h2.command.CommandList > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2316) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1860) > ... 12 more > Caused by: java.lang.IllegalArgumentException: Can not set > org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to > org.h2.command.CommandList > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) > at >
[jira] [Commented] (IGNITE-6256) When a node becomes segmented an AssertionError is thrown during GridDhtPartitionTopologyImpl.removeNode
[ https://issues.apache.org/jira/browse/IGNITE-6256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167973#comment-16167973 ] ASF GitHub Bot commented on IGNITE-6256: Github user AMashenkov closed the pull request at: https://github.com/apache/ignite/pull/2603 > When a node becomes segmented an AssertionError is thrown during > GridDhtPartitionTopologyImpl.removeNode > > > Key: IGNITE-6256 > URL: https://issues.apache.org/jira/browse/IGNITE-6256 > Project: Ignite > Issue Type: Bug > Components: general >Affects Versions: 1.8 >Reporter: Alexandr Fedotov >Assignee: Andrew Mashenkov > Fix For: 2.3 > > > The assert is as follows: > exception="java.lang.AssertionError: null > at > org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopologyImpl.removeNode(GridDhtPartitionTopologyImpl.java:1422) > at > org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopologyImpl.beforeExchange(GridDhtPartitionTopologyImpl.java:490) > at > org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.distributedExchange(GridDhtPartitionsExchangeFuture.java:769) > at > org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:504) > at > org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:1689) > at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) > at java.lang.Thread.run(Thread.java:745) > Below is the sequence of steps that leads to the assertion error: > 1) A node becomes SEGMENTED when it's determined by SegmentCheckWorker, after > an EVT_NODE_FAILED has been received. > 2) It gets visibleRemoteNodes from it's TcpDiscoveryNodesRing > 3) Clears the TcpDiscoveryNodesRing leaving only self on the list. The node > ring is used to determine if a node is alive > during DiscoCache creation > 4) After that, the node initiates removal of all the nodes read in step 2 > 5) For each node, it sends an EVT_NODE_FAILED to the corresponding > DiscoverySpiListener > providing a topology containing all the nodes except already processed > 6) This event gets into GridDiscoveryManager > 7) The node gets removed from alive nodes for every DiscoCache in > discoCacheHist > 8) Topology change is detected > 9) Creation of a new DiscoCache is attempted. At this moment every remote > node is not available due to the > TcpDiscoveryNodesRing has been cleared, thus resulting in a DiscoCache with > empty alives > 10) The event with the created DiscoCache and the new topology version is > passed to DiscoveryWorker > 11) The event is eventually handled by DiscoveryWorker and is recorded by > DiscoveryWorker#recordEvent > 12) The recording is handled by GridEventStorageManager which notifies every > listener for this event type (EVT_NODE_FAILED) > 13) One of the listeners is GridCachePartitionExchangeManager#discoLsnr > It creates a new GridDhtPartitionsExchangeFuture with the empty DiscoCache > received with the event and enqueues it > 14) The future gets eventually handled by GridDhtPartitionsExchangeFuture and > initialized > 15) updateTopologies is called, which for each GridCacheContext gets its > topology (GridDhtPartitionTopology) > and calls GridDhtPartitionTopology#updateTopologyVersion > 16) DiscoCache for GridDhtPartitionTopology is assigned from the one of the > GridDhtPartitionsExchangeFuture. > The assigned DiscoCache has empty alives at the moment > 15) A distributed exchange is handled > (GridDhtPartitionsExchangeFuture#distributedExchange) > 16) For each cache context GridCacheContext, for its topology > (GridDhtPartitionTopologyImpl) GridDhtPartitionTopologyImpl#beforeExchange is > called > 17) The fact that the node has left is determined and > GridDhtPartitionTopologyImpl#removeNode is called to handle it > 18) An attempt is made to get the alive coordinator node by calling > DiscoCache#oldestAliveServerNode > 19) null is returned which results in an AssertionError > The fix should probably prevent initiating exchange futures if a node has > segmented. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Comment Edited] (IGNITE-4931) Safe way for deactivate cluster
[ https://issues.apache.org/jira/browse/IGNITE-4931?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167931#comment-16167931 ] Ilya Lantukh edited comment on IGNITE-4931 at 9/15/17 2:32 PM: --- [~Alexey Kuznetsov], Please specify in ignite.active(boolean) method's javadoc that it will throw exception in such use case. Also, modify your tests to validate that exception has correct message. was (Author: ilantukh): [~Alexey Kuznetsov], Tests look good, but you should also specify in ignite.active(boolean) method's javadoc that it will throw exception in such use case. > Safe way for deactivate cluster > --- > > Key: IGNITE-4931 > URL: https://issues.apache.org/jira/browse/IGNITE-4931 > Project: Ignite > Issue Type: Task > Components: general >Affects Versions: 2.0 >Reporter: Dmitriy Govorukhin >Assignee: Alexey Kuznetsov > Labels: MakeTeamcityGreenAgain, Muted_test > Fix For: 2.3 > > > Currently deactivation process, started after transaction start or cache lock > on key hangs waiting transaction end\ cache unlock. Closing > transaction\unlocking the lock leads to excpetion when deactivation is in > progress. It looks like 'deadlock'. > So, expected behaviour: starting deactivation should lead to excpetion if > transaction is in progress or cache key is locked. > Exception should be thrown like in case when we start cache and transaction > is in progress (see checkEmptyTransactions method). In new tests we should > run transactions\lock in the same thread as deactivation started -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (IGNITE-5136) GridLogThrottle memory leak
[ https://issues.apache.org/jira/browse/IGNITE-5136?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vadim Opolski reassigned IGNITE-5136: - Assignee: Vadim Opolski > GridLogThrottle memory leak > --- > > Key: IGNITE-5136 > URL: https://issues.apache.org/jira/browse/IGNITE-5136 > Project: Ignite > Issue Type: Bug > Components: general >Reporter: Stanilovsky Evgeny >Assignee: Vadim Opolski > > class GridLogThrottle stores throttle info into map and noone clears it. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6395) Uncomment JdbcThinStatementSelfTest.testCloseOnCompletion
[ https://issues.apache.org/jira/browse/IGNITE-6395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167934#comment-16167934 ] ASF GitHub Bot commented on IGNITE-6395: Github user asfgit closed the pull request at: https://github.com/apache/ignite/pull/2673 > Uncomment JdbcThinStatementSelfTest.testCloseOnCompletion > - > > Key: IGNITE-6395 > URL: https://issues.apache.org/jira/browse/IGNITE-6395 > Project: Ignite > Issue Type: Bug > Components: jdbc >Affects Versions: 2.3 >Reporter: Vladimir Ozerov >Assignee: Taras Ledkov > Fix For: 2.3 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-4931) Safe way for deactivate cluster
[ https://issues.apache.org/jira/browse/IGNITE-4931?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167931#comment-16167931 ] Ilya Lantukh commented on IGNITE-4931: -- [~Alexey Kuznetsov], Tests look good, but you should also specify in ignite.active(boolean) method's javadoc that it will throw exception in such use case. > Safe way for deactivate cluster > --- > > Key: IGNITE-4931 > URL: https://issues.apache.org/jira/browse/IGNITE-4931 > Project: Ignite > Issue Type: Task > Components: general >Affects Versions: 2.0 >Reporter: Dmitriy Govorukhin >Assignee: Alexey Kuznetsov > Labels: MakeTeamcityGreenAgain, Muted_test > Fix For: 2.3 > > > Currently deactivation process, started after transaction start or cache lock > on key hangs waiting transaction end\ cache unlock. Closing > transaction\unlocking the lock leads to excpetion when deactivation is in > progress. It looks like 'deadlock'. > So, expected behaviour: starting deactivation should lead to excpetion if > transaction is in progress or cache key is locked. > Exception should be thrown like in case when we start cache and transaction > is in progress (see checkEmptyTransactions method). In new tests we should > run transactions\lock in the same thread as deactivation started -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6394) Can't create off-heap matrix with size over 2 Gb (int overflow in DenseOffHeapMatrixStorage.allocateMemory)
[ https://issues.apache.org/jira/browse/IGNITE-6394?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167928#comment-16167928 ] ASF GitHub Bot commented on IGNITE-6394: Github user ybabak closed the pull request at: https://github.com/apache/ignite/pull/2671 > Can't create off-heap matrix with size over 2 Gb (int overflow in > DenseOffHeapMatrixStorage.allocateMemory) > --- > > Key: IGNITE-6394 > URL: https://issues.apache.org/jira/browse/IGNITE-6394 > Project: Ignite > Issue Type: Bug > Components: ml >Reporter: Oleg Ignatenko >Assignee: Yury Babak > Fix For: 2.3 > > > In order to reproduce, try to create off-heap matrix with size larger than > 2Gb, eg like this: > {code}new DenseLocalOffHeapMatrix(17_000, 17_000){code} > Above fails: > {noformat} > java.lang.IllegalArgumentException: null > at sun.misc.Unsafe.allocateMemory(Native Method) > at > org.apache.ignite.internal.util.GridUnsafe.allocateMemory(GridUnsafe.java:1068) > at > org.apache.ignite.ml.math.impls.storage.matrix.DenseOffHeapMatrixStorage.allocateMemory(DenseOffHeapMatrixStorage.java:219) > ... > {noformat} > (you may need to allow Java get more than 2Gb off-heap memory for that with > VM argument like {{-XX:MaxDirectMemorySize=1000g}}) > The reason for failure is that int arguments aren't converted to long prior > to multiplying in {{DenseOffHeapMatrixStorage.allocateMemory}}: > {code}ptr = GridUnsafe.allocateMemory(rows * cols * Double.BYTES);{code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6256) When a node becomes segmented an AssertionError is thrown during GridDhtPartitionTopologyImpl.removeNode
[ https://issues.apache.org/jira/browse/IGNITE-6256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167921#comment-16167921 ] Andrey Gura commented on IGNITE-6256: - LGTM, merged to master branch. > When a node becomes segmented an AssertionError is thrown during > GridDhtPartitionTopologyImpl.removeNode > > > Key: IGNITE-6256 > URL: https://issues.apache.org/jira/browse/IGNITE-6256 > Project: Ignite > Issue Type: Bug > Components: general >Affects Versions: 1.8 >Reporter: Alexandr Fedotov >Assignee: Andrew Mashenkov > Fix For: 2.3 > > > The assert is as follows: > exception="java.lang.AssertionError: null > at > org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopologyImpl.removeNode(GridDhtPartitionTopologyImpl.java:1422) > at > org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopologyImpl.beforeExchange(GridDhtPartitionTopologyImpl.java:490) > at > org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.distributedExchange(GridDhtPartitionsExchangeFuture.java:769) > at > org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:504) > at > org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:1689) > at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) > at java.lang.Thread.run(Thread.java:745) > Below is the sequence of steps that leads to the assertion error: > 1) A node becomes SEGMENTED when it's determined by SegmentCheckWorker, after > an EVT_NODE_FAILED has been received. > 2) It gets visibleRemoteNodes from it's TcpDiscoveryNodesRing > 3) Clears the TcpDiscoveryNodesRing leaving only self on the list. The node > ring is used to determine if a node is alive > during DiscoCache creation > 4) After that, the node initiates removal of all the nodes read in step 2 > 5) For each node, it sends an EVT_NODE_FAILED to the corresponding > DiscoverySpiListener > providing a topology containing all the nodes except already processed > 6) This event gets into GridDiscoveryManager > 7) The node gets removed from alive nodes for every DiscoCache in > discoCacheHist > 8) Topology change is detected > 9) Creation of a new DiscoCache is attempted. At this moment every remote > node is not available due to the > TcpDiscoveryNodesRing has been cleared, thus resulting in a DiscoCache with > empty alives > 10) The event with the created DiscoCache and the new topology version is > passed to DiscoveryWorker > 11) The event is eventually handled by DiscoveryWorker and is recorded by > DiscoveryWorker#recordEvent > 12) The recording is handled by GridEventStorageManager which notifies every > listener for this event type (EVT_NODE_FAILED) > 13) One of the listeners is GridCachePartitionExchangeManager#discoLsnr > It creates a new GridDhtPartitionsExchangeFuture with the empty DiscoCache > received with the event and enqueues it > 14) The future gets eventually handled by GridDhtPartitionsExchangeFuture and > initialized > 15) updateTopologies is called, which for each GridCacheContext gets its > topology (GridDhtPartitionTopology) > and calls GridDhtPartitionTopology#updateTopologyVersion > 16) DiscoCache for GridDhtPartitionTopology is assigned from the one of the > GridDhtPartitionsExchangeFuture. > The assigned DiscoCache has empty alives at the moment > 15) A distributed exchange is handled > (GridDhtPartitionsExchangeFuture#distributedExchange) > 16) For each cache context GridCacheContext, for its topology > (GridDhtPartitionTopologyImpl) GridDhtPartitionTopologyImpl#beforeExchange is > called > 17) The fact that the node has left is determined and > GridDhtPartitionTopologyImpl#removeNode is called to handle it > 18) An attempt is made to get the alive coordinator node by calling > DiscoCache#oldestAliveServerNode > 19) null is returned which results in an AssertionError > The fix should probably prevent initiating exchange futures if a node has > segmented. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6244) .NET: Thin client: ScanQuery
[ https://issues.apache.org/jira/browse/IGNITE-6244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167922#comment-16167922 ] Vladimir Ozerov commented on IGNITE-6244: - [~ptupitsyn], I made a fix to {{keepBinary}} flag on Java side - see {{ClientCacheScanQueryRequest}}. Please review it. The rest LGTM. > .NET: Thin client: ScanQuery > > > Key: IGNITE-6244 > URL: https://issues.apache.org/jira/browse/IGNITE-6244 > Project: Ignite > Issue Type: Improvement > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.3 > > > Implement ScanQuery in thin client. > Challenges: > * Query cursor. This will require some kind of HandleRegistry on Java side, > so we can pass an ID back to client (see {{OdbcRequestHandler.qryCursors}} as > an example). > * Predicate. Thin client is not .NET-specific. We need a way to support > predicates in (at least) Java and .NET, there should be some platform id. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6046) Multiple SQL statements in one JDBC command do not work
[ https://issues.apache.org/jira/browse/IGNITE-6046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167909#comment-16167909 ] Alexander Paschenko commented on IGNITE-6046: - Sorry, disregard last comment. Fix looks good. > Multiple SQL statements in one JDBC command do not work > --- > > Key: IGNITE-6046 > URL: https://issues.apache.org/jira/browse/IGNITE-6046 > Project: Ignite > Issue Type: Task > Components: jdbc, sql >Reporter: Dmitriy Setrakyan >Assignee: Taras Ledkov > Labels: usability > Fix For: 2.3 > > > I have connected to Ignite from DBeaver using our thin JDBC driver. When I > execute more than one statement from the SQL Editor, I get an error. > For example, highlighting and executing these 2 statements gives an error: > {code:sql} > INSERT INTO city (id, name) VALUES (2, 'Forest Hill'); > INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3); > {code} > Here is the error I get: > {code} > [15:25:17,265][SEVERE][sql-connector-#150%null%][JdbcRequestHandler] Failed > to execute SQL query [reqId=26, req=JdbcQueryExecuteRequest [schemaName=null, > pageSize=1024, maxRows=0, sqlQry=INSERT INTO city (id, name) VALUES (2, > 'Forest Hill'); > INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3), args=[]]] > javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: > Can not set org.h2.command.Prepared field > org.h2.command.CommandContainer.prepared to org.h2.command.CommandList > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1863) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.executeQuery(JdbcRequestHandler.java:188) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.handle(JdbcRequestHandler.java:122) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:152) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:44) > 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:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: class org.apache.ignite.IgniteCheckedException: Can not set > org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to > org.h2.command.CommandList > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2316) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1860) > ... 12 more > Caused by: java.lang.IllegalArgumentException: Can not set > org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to > org.h2.command.CommandList > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) > at > sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:58) > at > sun.reflect.UnsafeObjectFieldAccessorImpl.get(UnsafeObjectFieldAccessorImpl.java:36) > at java.lang.reflect.Field.get(Field.java:393) > at > org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser$Getter.get(GridSqlQueryParser.java:1600) > at > org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.prepared(GridSqlQueryParser.java:443) > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryDistributedSqlFields(IgniteH2Indexing.java:1298) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$6.applyx(GridQueryProcessor.java:1856) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$6.applyx(GridQueryProcessor.java:1852) > at > org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36) > at >
[jira] [Commented] (IGNITE-6046) Multiple SQL statements in one JDBC command do not work
[ https://issues.apache.org/jira/browse/IGNITE-6046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167904#comment-16167904 ] Alexander Paschenko commented on IGNITE-6046: - [~taras.ledkov] I believe we need to call {{putIfAbsent}} in two places - one near {{continiue}} of that {{while}} loop. Currently it's get cached only in one case, doesn't it? > Multiple SQL statements in one JDBC command do not work > --- > > Key: IGNITE-6046 > URL: https://issues.apache.org/jira/browse/IGNITE-6046 > Project: Ignite > Issue Type: Task > Components: jdbc, sql >Reporter: Dmitriy Setrakyan >Assignee: Taras Ledkov > Labels: usability > Fix For: 2.3 > > > I have connected to Ignite from DBeaver using our thin JDBC driver. When I > execute more than one statement from the SQL Editor, I get an error. > For example, highlighting and executing these 2 statements gives an error: > {code:sql} > INSERT INTO city (id, name) VALUES (2, 'Forest Hill'); > INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3); > {code} > Here is the error I get: > {code} > [15:25:17,265][SEVERE][sql-connector-#150%null%][JdbcRequestHandler] Failed > to execute SQL query [reqId=26, req=JdbcQueryExecuteRequest [schemaName=null, > pageSize=1024, maxRows=0, sqlQry=INSERT INTO city (id, name) VALUES (2, > 'Forest Hill'); > INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3), args=[]]] > javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: > Can not set org.h2.command.Prepared field > org.h2.command.CommandContainer.prepared to org.h2.command.CommandList > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1863) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.executeQuery(JdbcRequestHandler.java:188) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.handle(JdbcRequestHandler.java:122) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:152) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:44) > 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:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: class org.apache.ignite.IgniteCheckedException: Can not set > org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to > org.h2.command.CommandList > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2316) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1860) > ... 12 more > Caused by: java.lang.IllegalArgumentException: Can not set > org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to > org.h2.command.CommandList > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) > at > sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:58) > at > sun.reflect.UnsafeObjectFieldAccessorImpl.get(UnsafeObjectFieldAccessorImpl.java:36) > at java.lang.reflect.Field.get(Field.java:393) > at > org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser$Getter.get(GridSqlQueryParser.java:1600) > at > org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.prepared(GridSqlQueryParser.java:443) > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryDistributedSqlFields(IgniteH2Indexing.java:1298) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$6.applyx(GridQueryProcessor.java:1856) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$6.applyx(GridQueryProcessor.java:1852) >
[jira] [Commented] (IGNITE-6395) Uncomment JdbcThinStatementSelfTest.testCloseOnCompletion
[ https://issues.apache.org/jira/browse/IGNITE-6395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167903#comment-16167903 ] ASF GitHub Bot commented on IGNITE-6395: GitHub user tledkov-gridgain opened a pull request: https://github.com/apache/ignite/pull/2673 IGNITE-6395: remove old test You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-6395 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/2673.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2673 commit 0d466f4ff8c5af18b6bb6fde9c0b3b148523bf5d Author: tledkov-gridgainDate: 2017-09-15T14:03:50Z IGNITE-6395: remove old test > Uncomment JdbcThinStatementSelfTest.testCloseOnCompletion > - > > Key: IGNITE-6395 > URL: https://issues.apache.org/jira/browse/IGNITE-6395 > Project: Ignite > Issue Type: Bug > Components: jdbc >Affects Versions: 2.3 >Reporter: Vladimir Ozerov >Assignee: Taras Ledkov > Fix For: 2.3 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Comment Edited] (IGNITE-6046) Multiple SQL statements in one JDBC command do not work
[ https://issues.apache.org/jira/browse/IGNITE-6046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167838#comment-16167838 ] Taras Ledkov edited comment on IGNITE-6046 at 9/15/17 1:56 PM: --- # Because {{org.h2.command.CommandList}} is not public class # I try to avoid creation new instances of the {{SqlFieldsQuery}} where it is possible. It was required for {{updateSqlFieldsDistributed}} because refactoring too hard. [~al.psc], good point. The operations with cache of queries are removed from {{executeTwoStepsQuery}} method. Waits for [tests results|https://ci.ignite.apache.org/project.html?projectId=Ignite20Tests=projectOverview_Ignite20Tests=pull%2F2618%2Fhead] was (Author: tledkov-gridgain): # Because {{org.h2.command.CommandList}} is not public class # I try to avoid creation new instances of the {{SqlFieldsQuery}} where it is possible. It was required for {{updateSqlFieldsDistributed}} because refactoring too hard. [~al.psc], good point. The operations with cache of queries are removed from {{executeTwoStepsQuery}} method. > Multiple SQL statements in one JDBC command do not work > --- > > Key: IGNITE-6046 > URL: https://issues.apache.org/jira/browse/IGNITE-6046 > Project: Ignite > Issue Type: Task > Components: jdbc, sql >Reporter: Dmitriy Setrakyan >Assignee: Taras Ledkov > Labels: usability > Fix For: 2.3 > > > I have connected to Ignite from DBeaver using our thin JDBC driver. When I > execute more than one statement from the SQL Editor, I get an error. > For example, highlighting and executing these 2 statements gives an error: > {code:sql} > INSERT INTO city (id, name) VALUES (2, 'Forest Hill'); > INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3); > {code} > Here is the error I get: > {code} > [15:25:17,265][SEVERE][sql-connector-#150%null%][JdbcRequestHandler] Failed > to execute SQL query [reqId=26, req=JdbcQueryExecuteRequest [schemaName=null, > pageSize=1024, maxRows=0, sqlQry=INSERT INTO city (id, name) VALUES (2, > 'Forest Hill'); > INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3), args=[]]] > javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: > Can not set org.h2.command.Prepared field > org.h2.command.CommandContainer.prepared to org.h2.command.CommandList > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1863) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.executeQuery(JdbcRequestHandler.java:188) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.handle(JdbcRequestHandler.java:122) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:152) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:44) > 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:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: class org.apache.ignite.IgniteCheckedException: Can not set > org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to > org.h2.command.CommandList > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2316) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1860) > ... 12 more > Caused by: java.lang.IllegalArgumentException: Can not set > org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to > org.h2.command.CommandList > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) > at > sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:58) > at >
[jira] [Comment Edited] (IGNITE-6046) Multiple SQL statements in one JDBC command do not work
[ https://issues.apache.org/jira/browse/IGNITE-6046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167838#comment-16167838 ] Taras Ledkov edited comment on IGNITE-6046 at 9/15/17 1:56 PM: --- # Because {{org.h2.command.CommandList}} is not public class # I try to avoid creation new instances of the {{SqlFieldsQuery}} where it is possible. It was required for {{updateSqlFieldsDistributed}} because refactoring too hard. [~al.psc], good point. The operations with cache of queries are removed from {{executeTwoStepsQuery}} method. was (Author: tledkov-gridgain): # Because {{org.h2.command.CommandList}} is not public class # I try to avoid creation new instances of the {{SqlFieldsQuery}} where it is possible. It was required for {{updateSqlFieldsDistributed}} because refactoring too hard. > Multiple SQL statements in one JDBC command do not work > --- > > Key: IGNITE-6046 > URL: https://issues.apache.org/jira/browse/IGNITE-6046 > Project: Ignite > Issue Type: Task > Components: jdbc, sql >Reporter: Dmitriy Setrakyan >Assignee: Taras Ledkov > Labels: usability > Fix For: 2.3 > > > I have connected to Ignite from DBeaver using our thin JDBC driver. When I > execute more than one statement from the SQL Editor, I get an error. > For example, highlighting and executing these 2 statements gives an error: > {code:sql} > INSERT INTO city (id, name) VALUES (2, 'Forest Hill'); > INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3); > {code} > Here is the error I get: > {code} > [15:25:17,265][SEVERE][sql-connector-#150%null%][JdbcRequestHandler] Failed > to execute SQL query [reqId=26, req=JdbcQueryExecuteRequest [schemaName=null, > pageSize=1024, maxRows=0, sqlQry=INSERT INTO city (id, name) VALUES (2, > 'Forest Hill'); > INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3), args=[]]] > javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: > Can not set org.h2.command.Prepared field > org.h2.command.CommandContainer.prepared to org.h2.command.CommandList > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1863) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.executeQuery(JdbcRequestHandler.java:188) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.handle(JdbcRequestHandler.java:122) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:152) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:44) > 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:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: class org.apache.ignite.IgniteCheckedException: Can not set > org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to > org.h2.command.CommandList > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2316) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1860) > ... 12 more > Caused by: java.lang.IllegalArgumentException: Can not set > org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to > org.h2.command.CommandList > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) > at > sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:58) > at > sun.reflect.UnsafeObjectFieldAccessorImpl.get(UnsafeObjectFieldAccessorImpl.java:36) > at java.lang.reflect.Field.get(Field.java:393) > at > org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser$Getter.get(GridSqlQueryParser.java:1600) > at >
[jira] [Created] (IGNITE-6400) Document ClientConnectorConfiguration
Vladimir Ozerov created IGNITE-6400: --- Summary: Document ClientConnectorConfiguration Key: IGNITE-6400 URL: https://issues.apache.org/jira/browse/IGNITE-6400 Project: Ignite Issue Type: Task Components: documentation Reporter: Vladimir Ozerov Assignee: Vladimir Ozerov Fix For: 2.3 -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6399) .NET: support ClientConnectorConfiguration
Vladimir Ozerov created IGNITE-6399: --- Summary: .NET: support ClientConnectorConfiguration Key: IGNITE-6399 URL: https://issues.apache.org/jira/browse/IGNITE-6399 Project: Ignite Issue Type: Task Components: clients, platforms Reporter: Vladimir Ozerov Assignee: Pavel Tupitsyn Fix For: 2.3 See {{IgniteConfiguration.clientConnectorConfiguration}}. We will use it instead of {{IgniteConfiguration.sqlConnectorConfiguration}}. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6398) WebConsole: support ClientConnectorConfiguration
Vladimir Ozerov created IGNITE-6398: --- Summary: WebConsole: support ClientConnectorConfiguration Key: IGNITE-6398 URL: https://issues.apache.org/jira/browse/IGNITE-6398 Project: Ignite Issue Type: Task Components: clients, wizards Reporter: Vladimir Ozerov Assignee: Alexey Kuznetsov Fix For: 2.3 See {{IgniteConfiguration.clientConnectorConfiguration}}. We will use it instead of {{IgniteConfiguration.sqlConnectorConfiguration}}. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6327) Configuration for thin client
[ https://issues.apache.org/jira/browse/IGNITE-6327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167886#comment-16167886 ] ASF GitHub Bot commented on IGNITE-6327: GitHub user devozerov opened a pull request: https://github.com/apache/ignite/pull/2672 IGNITE-6327 You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-6327 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/2672.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2672 commit 7b2d715a7083327db0d1decc6c83393ae7cbfa7f Author: devozerovDate: 2017-09-15T12:45:47Z Copy-pasted class. commit 310cf50a65d29d9d2f4d8164058b1ec2fe0aee21 Author: devozerov Date: 2017-09-15T13:06:53Z IgniteConfiguration. commit b67793b9e233b4815fcdbb9c807ffcbacf19ec95 Author: devozerov Date: 2017-09-15T13:08:22Z Better deprecations. commit 348b582cb0ae856e72c82d239c453e8e5b1502bf Author: devozerov Date: 2017-09-15T13:10:12Z WIP. commit 6277ab7662df9f940e15e7893a2dde81fa4c68fe Author: devozerov Date: 2017-09-15T13:32:48Z Naming and conversion. commit eaad0658199677087cdcd6237be9aff0de3d9ec9 Author: devozerov Date: 2017-09-15T13:46:06Z WIP. commit b389998a603b59d91911a26429af64f32ec28603 Author: devozerov Date: 2017-09-15T13:50:25Z Fixing usages. > Configuration for thin client > - > > Key: IGNITE-6327 > URL: https://issues.apache.org/jira/browse/IGNITE-6327 > Project: Ignite > Issue Type: Task > Components: clients, platforms >Reporter: Vladimir Ozerov >Assignee: Vladimir Ozerov > Fix For: 2.3 > > > We need to create configuration for thin client connector on the server side. > See linked devlist discussion. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (IGNITE-5771) Add Ignite.setActive method to C++ API
[ https://issues.apache.org/jira/browse/IGNITE-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Anton Vinogradov updated IGNITE-5771: - Fix Version/s: (was: 2.2) 2.3 > Add Ignite.setActive method to C++ API > -- > > Key: IGNITE-5771 > URL: https://issues.apache.org/jira/browse/IGNITE-5771 > Project: Ignite > Issue Type: New Feature > Components: platforms >Affects Versions: 2.0 >Reporter: Denis Magda >Assignee: Igor Sapego > Labels: cpp > Fix For: 2.3 > > > Presently, {{Ignite.setActive}} method is unavailable in C++ API which means > that there is now way to activate a cluster with the Ignite Persistent Store > enabled from a C++ application side. > Add this method and add a respective documentation paragraph to that section > https://apacheignite-cpp.readme.io/v2.1/docs/ignite-persistence#section-usage > in the same way as it's aleady done for .NET: > https://apacheignite-net.readme.io/v2.1/docs/ignite-persistent-store#section-usage -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (IGNITE-6346) Distributed set does not work in REPLICATED mode
[ https://issues.apache.org/jira/browse/IGNITE-6346?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Anton Vinogradov updated IGNITE-6346: - Fix Version/s: (was: 2.2) 2.3 > Distributed set does not work in REPLICATED mode > > > Key: IGNITE-6346 > URL: https://issues.apache.org/jira/browse/IGNITE-6346 > Project: Ignite > Issue Type: Bug > Components: data structures >Affects Versions: 2.1 >Reporter: Valentin Kulichenko > Fix For: 2.3 > > > When {{IgniteSet}} is created with {{REPLICATED}} cache mode, any attempt to > read it fails with exception: > {noformat} > Exception in thread "main" class org.apache.ignite.IgniteException: Cluster > group is empty. > at > org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:48) > at ReplicatedSet.main(ReplicatedSet.java:36) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) > Caused by: class > org.apache.ignite.internal.cluster.ClusterGroupEmptyCheckedException: Cluster > group is empty. > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter.execute0(GridCacheQueryAdapter.java:481) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter.execute(GridCacheQueryAdapter.java:442) > at > org.apache.ignite.internal.processors.datastructures.GridCacheSetImpl.iterator0(GridCacheSetImpl.java:420) > at > org.apache.ignite.internal.processors.datastructures.GridCacheSetImpl.iterator(GridCacheSetImpl.java:375) > at > org.apache.ignite.internal.processors.datastructures.GridCacheSetProxy.iterator(GridCacheSetProxy.java:342) > ... 6 more > {noformat} > To reproduce run the following code: > {code} > Ignition.start(new IgniteConfiguration().setIgniteInstanceName("server-1")); > Ignition.start(new IgniteConfiguration().setIgniteInstanceName("server-2")); > Ignition.setClientMode(true); > Ignite ignite = Ignition.start(); > IgniteSet set = ignite.set("my-set", new > CollectionConfiguration().setCacheMode(CacheMode.REPLICATED)); > for (String s : set) { > System.out.println(s); > } > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (IGNITE-6374) Web Console SQL doesn't work with 2.2.0 RC1
[ https://issues.apache.org/jira/browse/IGNITE-6374?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Anton Vinogradov updated IGNITE-6374: - Fix Version/s: (was: 2.2) 2.3 > Web Console SQL doesn't work with 2.2.0 RC1 > --- > > Key: IGNITE-6374 > URL: https://issues.apache.org/jira/browse/IGNITE-6374 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.2 >Reporter: Denis Magda >Assignee: Alexey Kuznetsov >Priority: Blocker > Fix For: 2.3 > > > Start a couple of nodes using 2.2.0-rc1 binary bundle: > {code} > ./ignite.sh ../examples/config/example-ignite.xml > {code} > Preload data using SQLLine tool and the SQL script as described here: > https://github.com/dmagda/ignite_world_demo > Go to Web Console SQL tab and send the simplest query possible: > {code} > select * from city > {code} > To get the exception like that: > {code} > [14:42:33,440][SEVERE][rest-#54%null%][GridTaskCommandHandler] Failed to > execute task [name=o.a.i.i.v.compute.VisorGatewayTask, clientId=null] > class org.apache.ignite.IgniteCheckedException: Failed to find constructor > for task argument > [taskName=org.apache.ignite.internal.visor.query.VisorQueryTask, argsCnt=8, > args=[SQL_PUBLIC_CITY, select * from city, false, false, false, false, 100, > false]] > at > org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7229) > at > org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:258) > at > org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:170) > at > org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:139) > at > org.apache.ignite.internal.processors.rest.handlers.task.GridTaskCommandHandler$2.apply(GridTaskCommandHandler.java:263) > at > org.apache.ignite.internal.processors.rest.handlers.task.GridTaskCommandHandler$2.apply(GridTaskCommandHandler.java:257) > at > org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:382) > at > org.apache.ignite.internal.util.future.GridFutureAdapter.listen(GridFutureAdapter.java:352) > at > org.apache.ignite.internal.processors.rest.handlers.task.GridTaskCommandHandler.handleAsyncUnsafe(GridTaskCommandHandler.java:257) > at > org.apache.ignite.internal.processors.rest.handlers.task.GridTaskCommandHandler.handleAsync(GridTaskCommandHandler.java:163) > at > org.apache.ignite.internal.processors.rest.GridRestProcessor.handleRequest(GridRestProcessor.java:268) > at > org.apache.ignite.internal.processors.rest.GridRestProcessor.access$100(GridRestProcessor.java:91) > at > org.apache.ignite.internal.processors.rest.GridRestProcessor$2.body(GridRestProcessor.java:157) > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: class org.apache.ignite.IgniteException: Failed to find > constructor for task argument > [taskName=org.apache.ignite.internal.visor.query.VisorQueryTask, argsCnt=8, > args=[SQL_PUBLIC_CITY, select * from city, false, false, false, false, 100, > false]] > at > org.apache.ignite.internal.visor.compute.VisorGatewayTask$VisorGatewayJob.execute(VisorGatewayTask.java:400) > at > org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:566) > at > org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6608) > at > org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:560) > at > org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:489) > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) > at > org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1115) > at > org.apache.ignite.internal.processors.task.GridTaskWorker.sendRequest(GridTaskWorker.java:1385) > at > org.apache.ignite.internal.processors.task.GridTaskWorker.processMappedJobs(GridTaskWorker.java:640) > at > org.apache.ignite.internal.processors.task.GridTaskWorker.body(GridTaskWorker.java:532) > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) > at > org.apache.ignite.internal.processors.task.GridTaskProcessor.startTask(GridTaskProcessor.java:749) > at > org.apache.ignite.internal.processors.task.GridTaskProcessor.execute(GridTaskProcessor.java:505) > at >
[jira] [Updated] (IGNITE-6200) org.dom4j.QName can't be serialized
[ https://issues.apache.org/jira/browse/IGNITE-6200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Anton Vinogradov updated IGNITE-6200: - Fix Version/s: (was: 2.2) 2.3 > org.dom4j.QName can't be serialized > --- > > Key: IGNITE-6200 > URL: https://issues.apache.org/jira/browse/IGNITE-6200 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.1 >Reporter: Alexei Scherbakov >Assignee: Andrey Gura > Fix For: 2.3 > > > Exception: > {noformat} > class org.apache.ignite.binary.BinaryObjectException: Failed to marshal > object with optimized marshaller: org.dom4j.QName@364492 [name: test > namespace: "org.dom4j.Namespace@e20 [Namespace: prefix qq mapped to URI ""]"] > at > org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:186) > at > org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:147) > at > org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:134) > at > org.apache.ignite.internal.binary.GridBinaryMarshaller.marshal(GridBinaryMarshaller.java:248) > at > org.apache.ignite.internal.binary.BinaryMarshaller.marshal0(BinaryMarshaller.java:82) > at > org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.marshal(AbstractNodeNameAwareMarshaller.java:58) > at > org.apache.ignite.internal.processors.cache.MarshallerTest.test(MarshallerTest.java:160) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at > org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:2000) > at > org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:132) > at > org.apache.ignite.testframework.junits.GridAbstractTest$5.run(GridAbstractTest.java:1915) > at java.lang.Thread.run(Thread.java:745) > Caused by: class org.apache.ignite.IgniteCheckedException: Failed to > serialize object: org.dom4j.QName@364492 [name: test namespace: > "org.dom4j.Namespace@e20 [Namespace: prefix qq mapped to URI ""]"] > at > org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.marshal0(OptimizedMarshaller.java:206) > at > org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.marshal(AbstractNodeNameAwareMarshaller.java:58) > at > org.apache.ignite.internal.util.IgniteUtils.marshal(IgniteUtils.java:9836) > at > org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:179) > ... 15 more > Caused by: java.io.IOException: java.io.NotActiveException: Not in > writeObject() call. > at > org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeSerializable(OptimizedObjectOutputStream.java:324) > at > org.apache.ignite.internal.marshaller.optimized.OptimizedClassDescriptor.write(OptimizedClassDescriptor.java:827) > at > org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeObject0(OptimizedObjectOutputStream.java:224) > at > org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeObjectOverride(OptimizedObjectOutputStream.java:152) > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344) > at > org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.marshal0(OptimizedMarshaller.java:201) > ... 18 more > Caused by: java.io.NotActiveException: Not in writeObject() call. > at > org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.defaultWriteObject(OptimizedObjectOutputStream.java:684) > at org.dom4j.QName.writeObject(QName.java:239) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at > org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeSerializable(OptimizedObjectOutputStream.java:318) > ... 23 more > {noformat} > Reproducer: > {noformat} > public void test() throws Exception { > try { > IgniteEx ex = startGrid(0); > QName qName = new QName("test", new Namespace("qq", null), "q"); > byte[] marshal = > ex.configuration().getMarshaller().marshal(qName); > } finally { > stopAllGrids(); > } > } > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (IGNITE-6282) C++: impossible to start node with persistent store
[ https://issues.apache.org/jira/browse/IGNITE-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Anton Vinogradov updated IGNITE-6282: - Fix Version/s: (was: 2.2) 2.3 > C++: impossible to start node with persistent store > --- > > Key: IGNITE-6282 > URL: https://issues.apache.org/jira/browse/IGNITE-6282 > Project: Ignite > Issue Type: Bug > Components: platforms >Affects Versions: 2.2 >Reporter: Irina Zaporozhtseva >Assignee: Igor Sapego >Priority: Blocker > Labels: C++ > Fix For: 2.3 > > > C++: impossible to start node with persistent store. > Add to config: > {code} > >class="org.apache.ignite.configuration.PersistentStoreConfiguration"/> > > {code} > After node started, error message appears: > {code} > [17:42:39] Topology snapshot [ver=1, servers=1, clients=0, CPUs=8, > heap=0.89GB] > ERROR: Can not perform the operation because the cluster is inactive. Note, > that the cluster is considered inactive by default if Ignite Persistent Store > is used to let all the nodes join the cluster. To activate the cluster call > Ignite.activate(true). > {code} > and after that node is stopped -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Comment Edited] (IGNITE-6046) Multiple SQL statements in one JDBC command do not work
[ https://issues.apache.org/jira/browse/IGNITE-6046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167838#comment-16167838 ] Taras Ledkov edited comment on IGNITE-6046 at 9/15/17 1:08 PM: --- # Because {{org.h2.command.CommandList}} is not public class # I try to avoid creation new instances of the {{SqlFieldsQuery}} where it is possible. It was required for {{updateSqlFieldsDistributed}} because refactoring too hard. was (Author: tledkov-gridgain): # Because {{org.h2.command.CommandList}} is not public class > Multiple SQL statements in one JDBC command do not work > --- > > Key: IGNITE-6046 > URL: https://issues.apache.org/jira/browse/IGNITE-6046 > Project: Ignite > Issue Type: Task > Components: jdbc, sql >Reporter: Dmitriy Setrakyan >Assignee: Taras Ledkov > Labels: usability > Fix For: 2.3 > > > I have connected to Ignite from DBeaver using our thin JDBC driver. When I > execute more than one statement from the SQL Editor, I get an error. > For example, highlighting and executing these 2 statements gives an error: > {code:sql} > INSERT INTO city (id, name) VALUES (2, 'Forest Hill'); > INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3); > {code} > Here is the error I get: > {code} > [15:25:17,265][SEVERE][sql-connector-#150%null%][JdbcRequestHandler] Failed > to execute SQL query [reqId=26, req=JdbcQueryExecuteRequest [schemaName=null, > pageSize=1024, maxRows=0, sqlQry=INSERT INTO city (id, name) VALUES (2, > 'Forest Hill'); > INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3), args=[]]] > javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: > Can not set org.h2.command.Prepared field > org.h2.command.CommandContainer.prepared to org.h2.command.CommandList > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1863) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.executeQuery(JdbcRequestHandler.java:188) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.handle(JdbcRequestHandler.java:122) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:152) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:44) > 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:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: class org.apache.ignite.IgniteCheckedException: Can not set > org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to > org.h2.command.CommandList > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2316) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1860) > ... 12 more > Caused by: java.lang.IllegalArgumentException: Can not set > org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to > org.h2.command.CommandList > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) > at > sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:58) > at > sun.reflect.UnsafeObjectFieldAccessorImpl.get(UnsafeObjectFieldAccessorImpl.java:36) > at java.lang.reflect.Field.get(Field.java:393) > at > org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser$Getter.get(GridSqlQueryParser.java:1600) > at > org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.prepared(GridSqlQueryParser.java:443) > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryDistributedSqlFields(IgniteH2Indexing.java:1298) > at >
[jira] [Updated] (IGNITE-6394) Can't create off-heap matrix with size over 2 Gb (int overflow in DenseOffHeapMatrixStorage.allocateMemory)
[ https://issues.apache.org/jira/browse/IGNITE-6394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yury Babak updated IGNITE-6394: --- Fix Version/s: 2.3 > Can't create off-heap matrix with size over 2 Gb (int overflow in > DenseOffHeapMatrixStorage.allocateMemory) > --- > > Key: IGNITE-6394 > URL: https://issues.apache.org/jira/browse/IGNITE-6394 > Project: Ignite > Issue Type: Bug > Components: ml >Reporter: Oleg Ignatenko >Assignee: Yury Babak > Fix For: 2.3 > > > In order to reproduce, try to create off-heap matrix with size larger than > 2Gb, eg like this: > {code}new DenseLocalOffHeapMatrix(17_000, 17_000){code} > Above fails: > {noformat} > java.lang.IllegalArgumentException: null > at sun.misc.Unsafe.allocateMemory(Native Method) > at > org.apache.ignite.internal.util.GridUnsafe.allocateMemory(GridUnsafe.java:1068) > at > org.apache.ignite.ml.math.impls.storage.matrix.DenseOffHeapMatrixStorage.allocateMemory(DenseOffHeapMatrixStorage.java:219) > ... > {noformat} > (you may need to allow Java get more than 2Gb off-heap memory for that with > VM argument like {{-XX:MaxDirectMemorySize=1000g}}) > The reason for failure is that int arguments aren't converted to long prior > to multiplying in {{DenseOffHeapMatrixStorage.allocateMemory}}: > {code}ptr = GridUnsafe.allocateMemory(rows * cols * Double.BYTES);{code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6046) Multiple SQL statements in one JDBC command do not work
[ https://issues.apache.org/jira/browse/IGNITE-6046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167838#comment-16167838 ] Taras Ledkov commented on IGNITE-6046: -- # Because {{org.h2.command.CommandList}} is not public class > Multiple SQL statements in one JDBC command do not work > --- > > Key: IGNITE-6046 > URL: https://issues.apache.org/jira/browse/IGNITE-6046 > Project: Ignite > Issue Type: Task > Components: jdbc, sql >Reporter: Dmitriy Setrakyan >Assignee: Taras Ledkov > Labels: usability > Fix For: 2.3 > > > I have connected to Ignite from DBeaver using our thin JDBC driver. When I > execute more than one statement from the SQL Editor, I get an error. > For example, highlighting and executing these 2 statements gives an error: > {code:sql} > INSERT INTO city (id, name) VALUES (2, 'Forest Hill'); > INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3); > {code} > Here is the error I get: > {code} > [15:25:17,265][SEVERE][sql-connector-#150%null%][JdbcRequestHandler] Failed > to execute SQL query [reqId=26, req=JdbcQueryExecuteRequest [schemaName=null, > pageSize=1024, maxRows=0, sqlQry=INSERT INTO city (id, name) VALUES (2, > 'Forest Hill'); > INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3), args=[]]] > javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: > Can not set org.h2.command.Prepared field > org.h2.command.CommandContainer.prepared to org.h2.command.CommandList > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1863) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.executeQuery(JdbcRequestHandler.java:188) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.handle(JdbcRequestHandler.java:122) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:152) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:44) > 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:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: class org.apache.ignite.IgniteCheckedException: Can not set > org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to > org.h2.command.CommandList > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2316) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1860) > ... 12 more > Caused by: java.lang.IllegalArgumentException: Can not set > org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to > org.h2.command.CommandList > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) > at > sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:58) > at > sun.reflect.UnsafeObjectFieldAccessorImpl.get(UnsafeObjectFieldAccessorImpl.java:36) > at java.lang.reflect.Field.get(Field.java:393) > at > org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser$Getter.get(GridSqlQueryParser.java:1600) > at > org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.prepared(GridSqlQueryParser.java:443) > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryDistributedSqlFields(IgniteH2Indexing.java:1298) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$6.applyx(GridQueryProcessor.java:1856) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$6.applyx(GridQueryProcessor.java:1852) > at > org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36) > at >
[jira] [Comment Edited] (IGNITE-6244) .NET: Thin client: ScanQuery
[ https://issues.apache.org/jira/browse/IGNITE-6244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167830#comment-16167830 ] Pavel Tupitsyn edited comment on IGNITE-6244 at 9/15/17 12:59 PM: -- Branch {{ignite-5896}} has been removed, merged from master. was (Author: ptupitsyn): Merged from master > .NET: Thin client: ScanQuery > > > Key: IGNITE-6244 > URL: https://issues.apache.org/jira/browse/IGNITE-6244 > Project: Ignite > Issue Type: Improvement > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.3 > > > Implement ScanQuery in thin client. > Challenges: > * Query cursor. This will require some kind of HandleRegistry on Java side, > so we can pass an ID back to client (see {{OdbcRequestHandler.qryCursors}} as > an example). > * Predicate. Thin client is not .NET-specific. We need a way to support > predicates in (at least) Java and .NET, there should be some platform id. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6244) .NET: Thin client: ScanQuery
[ https://issues.apache.org/jira/browse/IGNITE-6244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167830#comment-16167830 ] Pavel Tupitsyn commented on IGNITE-6244: Merged from master > .NET: Thin client: ScanQuery > > > Key: IGNITE-6244 > URL: https://issues.apache.org/jira/browse/IGNITE-6244 > Project: Ignite > Issue Type: Improvement > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.3 > > > Implement ScanQuery in thin client. > Challenges: > * Query cursor. This will require some kind of HandleRegistry on Java side, > so we can pass an ID back to client (see {{OdbcRequestHandler.qryCursors}} as > an example). > * Predicate. Thin client is not .NET-specific. We need a way to support > predicates in (at least) Java and .NET, there should be some platform id. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-5905) .NET: Thin client: cache.Get for primitives
[ https://issues.apache.org/jira/browse/IGNITE-5905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167820#comment-16167820 ] ASF GitHub Bot commented on IGNITE-5905: Github user asfgit closed the pull request at: https://github.com/apache/ignite/pull/2542 > .NET: Thin client: cache.Get for primitives > --- > > Key: IGNITE-5905 > URL: https://issues.apache.org/jira/browse/IGNITE-5905 > Project: Ignite > Issue Type: Task > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.3 > > > IGNITE-5899 implements cache.Get on Java side and includes a simple raw > socket test. > Next step is to provide .NET thin client foundation, so that user can call > something like > {{Ignition.GetClient(ClientConfiguration).GetCache(string).Get(...)}} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6236) .NET: Thin client: cache.Get and Put for user types
[ https://issues.apache.org/jira/browse/IGNITE-6236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167821#comment-16167821 ] ASF GitHub Bot commented on IGNITE-6236: Github user asfgit closed the pull request at: https://github.com/apache/ignite/pull/2580 > .NET: Thin client: cache.Get and Put for user types > --- > > Key: IGNITE-6236 > URL: https://issues.apache.org/jira/browse/IGNITE-6236 > Project: Ignite > Issue Type: Improvement > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.3 > > > Cache operations on user types require proper metadata handling. Make sure > dynamic type registration works. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6244) .NET: Thin client: ScanQuery
[ https://issues.apache.org/jira/browse/IGNITE-6244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167819#comment-16167819 ] ASF GitHub Bot commented on IGNITE-6244: Github user asfgit closed the pull request at: https://github.com/apache/ignite/pull/2625 > .NET: Thin client: ScanQuery > > > Key: IGNITE-6244 > URL: https://issues.apache.org/jira/browse/IGNITE-6244 > Project: Ignite > Issue Type: Improvement > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.3 > > > Implement ScanQuery in thin client. > Challenges: > * Query cursor. This will require some kind of HandleRegistry on Java side, > so we can pass an ID back to client (see {{OdbcRequestHandler.qryCursors}} as > an example). > * Predicate. Thin client is not .NET-specific. We need a way to support > predicates in (at least) Java and .NET, there should be some platform id. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (IGNITE-5839) Unclear exception from BinaryObjectBuilder::build call when builder is reused
[ https://issues.apache.org/jira/browse/IGNITE-5839?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Mashenkov updated IGNITE-5839: - Attachment: (was: Fix_BinaryObject_builder_reuse_issue_.patch) > Unclear exception from BinaryObjectBuilder::build call when builder is reused > - > > Key: IGNITE-5839 > URL: https://issues.apache.org/jira/browse/IGNITE-5839 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.1 >Reporter: Sergey Chugunov >Assignee: Andrew Mashenkov > Fix For: 2.3 > > > Simple test where {{BinaryObjectBuilder}} builder object is reused fails with > exception {noformat}org.apache.ignite.binary.BinaryObjectException: Wrong > value has been set [typeName=SimpleCls, fieldName=str, fieldType=String, > assignedValueType=Object]{noformat} > {noformat} > IgniteCache
[jira] [Assigned] (IGNITE-5302) Empty LOST partition may be used as OWNING after resetting lost partitions
[ https://issues.apache.org/jira/browse/IGNITE-5302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dmitriy Sorokin reassigned IGNITE-5302: --- Assignee: Dmitriy Sorokin > Empty LOST partition may be used as OWNING after resetting lost partitions > -- > > Key: IGNITE-5302 > URL: https://issues.apache.org/jira/browse/IGNITE-5302 > Project: Ignite > Issue Type: Bug >Reporter: Sergey Chugunov >Assignee: Dmitriy Sorokin >Priority: Blocker > Labels: MakeTeamcityGreenAgain, Muted_test, test-fail > Fix For: 2.3 > > > h2. Notes > Test *testPartitionLossAndRecover* reproducing the issue can be found in > ignite-5267 branch with PDS functionality. > h2. Steps to reproduce > # Four nodes are started, some key is added to partitioned cache > # Primary and backup nodes for the key are stopped, key's partition is > declared LOST on remaining nodes > # Primary and backup nodes are started again, cache's lost partitions are > reset > # Key is requested from cache > h2. Expected behavior > Correct value is returned from primary for this partition > h2. Actual behavior > Request for value is sent to node where partition is empty (not to primary > node), null is returned > h2. Latest findings > # The main problem with the scenario is that request for key gets mapped not > only to P/B nodes with real value but also to the node where that partition > existed only in LOST state after P/B shutdown on step #2 > # It was found that on step #3 after primary and backup are joined partition > counter is increased for empty partition in LOST state which looks wrong -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6397) .NET thin client: implement base cache operations
Vladimir Ozerov created IGNITE-6397: --- Summary: .NET thin client: implement base cache operations Key: IGNITE-6397 URL: https://issues.apache.org/jira/browse/IGNITE-6397 Project: Ignite Issue Type: Bug Components: clients, platforms Reporter: Vladimir Ozerov Assignee: Pavel Tupitsyn Fix For: 2.3 We need to implement base cache operations, such as "remove", "replace", "putIfAbsent". -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6046) Multiple SQL statements in one JDBC command do not work
[ https://issues.apache.org/jira/browse/IGNITE-6046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167805#comment-16167805 ] Alexander Paschenko commented on IGNITE-6046: - [~taras.ledkov] My comments: 1. Why do we refer to {{org.h2.command.CommandList}} by name and {{getClass}} at all? All references live in {{indexing}} module that has H2 dependency. 2. Why is new method {{executeTwoStepsQuery}} responsible for caching result and is given previous lookup result at the same time? I feel like it should either forget about caching at all, or handle it all by itself. Also probably we could pass it {{SqlFieldsQuery}} as an argument to make signature shorter, couldn't we? > Multiple SQL statements in one JDBC command do not work > --- > > Key: IGNITE-6046 > URL: https://issues.apache.org/jira/browse/IGNITE-6046 > Project: Ignite > Issue Type: Task > Components: jdbc, sql >Reporter: Dmitriy Setrakyan >Assignee: Taras Ledkov > Labels: usability > Fix For: 2.3 > > > I have connected to Ignite from DBeaver using our thin JDBC driver. When I > execute more than one statement from the SQL Editor, I get an error. > For example, highlighting and executing these 2 statements gives an error: > {code:sql} > INSERT INTO city (id, name) VALUES (2, 'Forest Hill'); > INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3); > {code} > Here is the error I get: > {code} > [15:25:17,265][SEVERE][sql-connector-#150%null%][JdbcRequestHandler] Failed > to execute SQL query [reqId=26, req=JdbcQueryExecuteRequest [schemaName=null, > pageSize=1024, maxRows=0, sqlQry=INSERT INTO city (id, name) VALUES (2, > 'Forest Hill'); > INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3), args=[]]] > javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: > Can not set org.h2.command.Prepared field > org.h2.command.CommandContainer.prepared to org.h2.command.CommandList > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1863) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.executeQuery(JdbcRequestHandler.java:188) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.handle(JdbcRequestHandler.java:122) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:152) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:44) > 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:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: class org.apache.ignite.IgniteCheckedException: Can not set > org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to > org.h2.command.CommandList > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2316) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1860) > ... 12 more > Caused by: java.lang.IllegalArgumentException: Can not set > org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to > org.h2.command.CommandList > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) > at > sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:58) > at > sun.reflect.UnsafeObjectFieldAccessorImpl.get(UnsafeObjectFieldAccessorImpl.java:36) > at java.lang.reflect.Field.get(Field.java:393) > at > org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser$Getter.get(GridSqlQueryParser.java:1600) > at > org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.prepared(GridSqlQueryParser.java:443) > at >
[jira] [Updated] (IGNITE-6313) transaction hangs while node left cluster
[ https://issues.apache.org/jira/browse/IGNITE-6313?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stanilovsky Evgeny updated IGNITE-6313: --- Attachment: TxDeadLockOnNodeRestart.java > transaction hangs while node left cluster > - > > Key: IGNITE-6313 > URL: https://issues.apache.org/jira/browse/IGNITE-6313 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.1 >Reporter: Stanilovsky Evgeny >Assignee: Semen Boikov > Attachments: run.py, tpre.tar.gz, trun.tar.gz, > TxDeadLockOnNodeRestart.java > > > in attached reproducer there are 2 projects, > first - tpre simple fills cache > second - trun concurrently update cache values. > expected behavior 100 or sometimes 99 numbers in output, but after several > grid autorestart python script we found grid have no active transactions ... > try to find time for pure ignite reproducer, but for now it need be run like : > sequentially start: > *java -jar tpre-1.0-SNAPSHOT-jar-with-dependencies.jar 1000 > java -jar trun-1.0-SNAPSHOT-jar-with-dependencies.jar 1000 20 1 > run.py* > console with *trun* process will soon output something like : BBB that > signals no transactions found. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6225) Improve tests of WAL iterator with checking DataRecord entries and TxRecords
[ https://issues.apache.org/jira/browse/IGNITE-6225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167793#comment-16167793 ] ASF GitHub Bot commented on IGNITE-6225: Github user dspavlov closed the pull request at: https://github.com/apache/ignite/pull/2562 > Improve tests of WAL iterator with checking DataRecord entries and TxRecords > > > Key: IGNITE-6225 > URL: https://issues.apache.org/jira/browse/IGNITE-6225 > Project: Ignite > Issue Type: Test > Components: persistence >Affects Versions: 2.1 >Reporter: Dmitriy Pavlov >Assignee: Dmitriy Pavlov > Fix For: 2.3 > > > There is WAL Iterator implemented under [IGNITE-5558] which allows to iterate > over WAL log records without Ignite instance up and running. > This feature was covered by test > IgniteWalReaderTest#testFillWalAndReadRecords() > It is required to cover transactional put and check of this transaction > results from test code. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6313) transaction hangs while node left cluster
[ https://issues.apache.org/jira/browse/IGNITE-6313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167790#comment-16167790 ] Stanilovsky Evgeny commented on IGNITE-6313: rewrite reproducer, plz take a look. > transaction hangs while node left cluster > - > > Key: IGNITE-6313 > URL: https://issues.apache.org/jira/browse/IGNITE-6313 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.1 >Reporter: Stanilovsky Evgeny > Attachments: run.py, tpre.tar.gz, trun.tar.gz, > TxDeadLockOnNodeRestart.java > > > in attached reproducer there are 2 projects, > first - tpre simple fills cache > second - trun concurrently update cache values. > expected behavior 100 or sometimes 99 numbers in output, but after several > grid autorestart python script we found grid have no active transactions ... > try to find time for pure ignite reproducer, but for now it need be run like : > sequentially start: > *java -jar tpre-1.0-SNAPSHOT-jar-with-dependencies.jar 1000 > java -jar trun-1.0-SNAPSHOT-jar-with-dependencies.jar 1000 20 1 > run.py* > console with *trun* process will soon output something like : BBB that > signals no transactions found. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (IGNITE-6313) transaction hangs while node left cluster
[ https://issues.apache.org/jira/browse/IGNITE-6313?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stanilovsky Evgeny reassigned IGNITE-6313: -- Assignee: Semen Boikov > transaction hangs while node left cluster > - > > Key: IGNITE-6313 > URL: https://issues.apache.org/jira/browse/IGNITE-6313 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.1 >Reporter: Stanilovsky Evgeny >Assignee: Semen Boikov > Attachments: run.py, tpre.tar.gz, trun.tar.gz, > TxDeadLockOnNodeRestart.java > > > in attached reproducer there are 2 projects, > first - tpre simple fills cache > second - trun concurrently update cache values. > expected behavior 100 or sometimes 99 numbers in output, but after several > grid autorestart python script we found grid have no active transactions ... > try to find time for pure ignite reproducer, but for now it need be run like : > sequentially start: > *java -jar tpre-1.0-SNAPSHOT-jar-with-dependencies.jar 1000 > java -jar trun-1.0-SNAPSHOT-jar-with-dependencies.jar 1000 20 1 > run.py* > console with *trun* process will soon output something like : BBB that > signals no transactions found. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (IGNITE-6313) transaction hangs while node left cluster
[ https://issues.apache.org/jira/browse/IGNITE-6313?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stanilovsky Evgeny updated IGNITE-6313: --- Attachment: TxDeadLockOnNodeRestart.java > transaction hangs while node left cluster > - > > Key: IGNITE-6313 > URL: https://issues.apache.org/jira/browse/IGNITE-6313 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.1 >Reporter: Stanilovsky Evgeny > Attachments: run.py, tpre.tar.gz, trun.tar.gz, > TxDeadLockOnNodeRestart.java > > > in attached reproducer there are 2 projects, > first - tpre simple fills cache > second - trun concurrently update cache values. > expected behavior 100 or sometimes 99 numbers in output, but after several > grid autorestart python script we found grid have no active transactions ... > try to find time for pure ignite reproducer, but for now it need be run like : > sequentially start: > *java -jar tpre-1.0-SNAPSHOT-jar-with-dependencies.jar 1000 > java -jar trun-1.0-SNAPSHOT-jar-with-dependencies.jar 1000 20 1 > run.py* > console with *trun* process will soon output something like : BBB that > signals no transactions found. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6394) Can't create off-heap matrix with size over 2 Gb (int overflow in DenseOffHeapMatrixStorage.allocateMemory)
[ https://issues.apache.org/jira/browse/IGNITE-6394?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167787#comment-16167787 ] ASF GitHub Bot commented on IGNITE-6394: GitHub user ybabak opened a pull request: https://github.com/apache/ignite/pull/2671 IGNITE-6394: Can't create off-heap matrix with size over 2 Gb Fixed int overflow. You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-6394 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/2671.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2671 commit c0b5f9f7a83f110cf2036a3e654690929797d199 Author: Yury BabakDate: 2017-09-15T11:40:54Z IGNITE-6394: Can't create off-heap matrix with size over 2 Gb (int overflow in DenseOffHeapMatrixStorage.allocateMemory) Fixed. > Can't create off-heap matrix with size over 2 Gb (int overflow in > DenseOffHeapMatrixStorage.allocateMemory) > --- > > Key: IGNITE-6394 > URL: https://issues.apache.org/jira/browse/IGNITE-6394 > Project: Ignite > Issue Type: Bug > Components: ml >Reporter: Oleg Ignatenko >Assignee: Yury Babak > > In order to reproduce, try to create off-heap matrix with size larger than > 2Gb, eg like this: > {code}new DenseLocalOffHeapMatrix(17_000, 17_000){code} > Above fails: > {noformat} > java.lang.IllegalArgumentException: null > at sun.misc.Unsafe.allocateMemory(Native Method) > at > org.apache.ignite.internal.util.GridUnsafe.allocateMemory(GridUnsafe.java:1068) > at > org.apache.ignite.ml.math.impls.storage.matrix.DenseOffHeapMatrixStorage.allocateMemory(DenseOffHeapMatrixStorage.java:219) > ... > {noformat} > (you may need to allow Java get more than 2Gb off-heap memory for that with > VM argument like {{-XX:MaxDirectMemorySize=1000g}}) > The reason for failure is that int arguments aren't converted to long prior > to multiplying in {{DenseOffHeapMatrixStorage.allocateMemory}}: > {code}ptr = GridUnsafe.allocateMemory(rows * cols * Double.BYTES);{code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Comment Edited] (IGNITE-6277) Convert WAL to human readable form
[ https://issues.apache.org/jira/browse/IGNITE-6277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167784#comment-16167784 ] Eduard Shangareev edited comment on IGNITE-6277 at 9/15/17 12:08 PM: - Some tips how to use {{converter}}: Example of command line: {code} java -cp "lib/ignite-dev-utils-2.3.0-SNAPSHOT.jar:lib/ignite-indexing-2.3.0-SNAPSHOT.jar:lib/ignite-core-2.3.0-SNAPSHOT.jar:~/.m2/repository/com/h2database/h2/1.4.195/h2-1.4.195.jar" org.apache.ignite.development.utils.IgniteWalConverter 4096 ~/IdeaProjects/incubator-ignite/work/db/wal/127_0_0_1_47503 ~/IdeaProjects/incubator-ignite/work/db/wal/archive/127_0_0_1_47503 {code} You need to pass as argument: 1. Page size. 2. Path to WAL dir. 3. (Optional) Path to Archive WAL dir. was (Author: edshanggg): Some tips how to use {{converter}}: Example of command line: {code} java -cp "lib/ignite-dev-utils-2.3.0-SNAPSHOT.jar:lib/ignite-indexing-2.3.0-SNAPSHOT.jar:lib/ignite-core-2.3.0-SNAPSHOT.jar:~/.m2/repository/com/h2database/h2/1.4.195/h2-1.4.195.jar" org.apache.ignite.development.utils.IgniteWalConverter 4096 /Users/ed/IdeaProjects/incubator-ignite/work/db/wal/127_0_0_1_47503 /Users/ed/IdeaProjects/incubator-ignite/work/db/wal/archive/127_0_0_1_47503 {code} You need to pass as argument: 1. Page size. 2. Path to WAL dir. 3. (Optional) Path to Archive WAL dir. > Convert WAL to human readable form > -- > > Key: IGNITE-6277 > URL: https://issues.apache.org/jira/browse/IGNITE-6277 > Project: Ignite > Issue Type: Bug > Components: persistence >Affects Versions: 2.1 >Reporter: Eduard Shangareev >Assignee: Alexey Goncharuk > Fix For: 2.3 > > > Now there is no way to make wal visible or understandable without coding. > I propose to write utility which would convert any given compatible WAL to > textual form. > Something like this: > {code} > [W] InsertRecord [idx=19, io=H2ExtrasLeafIO[ver=1], rightId=, > super=PageDeltaRecord [grpId=2141373875, pageId=00020011, > super=WALRecord [size=61, chainSize=0, pos=FileWALPointer [idx=0, > fileOffset=2504497, len=61, forceFlush=false], type=BTREE_PAGE_INSERT]]] > [W] DataRecord [writeEntries=[DataEntry [op=CREATE, writeVer=GridCacheVersion > [topVer=116006687, order=0, nodeOrder=1], partId=29, partCnt=33]], > super=WALRecord [size=171, chainSize=0, pos=FileWALPointer [idx=0, > fileOffset=2504558, len=171, forceFlush=false], type=DATA_RECORD]] > [W] PagesListRemovePageRecord [rmvdPageId=0001000c002f, > pageId=0001000c000a, grpId=-1368047377, super=PageDeltaRecord > [grpId=-1368047377, pageId=0001000c000a, super=WALRecord [size=37, > chainSize=0, pos=FileWALPointer [idx=0, fileOffset=2504729, len=37, > forceFlush=false], type=PAGES_LIST_REMOVE_PAGE]]] > [W] DataPageInsertRecord [super=PageDeltaRecord [grpId=-1368047377, > pageId=0001000c002f, super=WALRecord [size=76, chainSize=0, > pos=FileWALPointer [idx=0, fileOffset=2504766, len=76, forceFlush=false], > type=DATA_PAGE_INSERT_RECORD]]] > [W] PagesListAddPageRecord [dataPageId=0001000c002f, > super=PageDeltaRecord [grpId=-1368047377, pageId=0001000c000b, > super=WALRecord [size=37, chainSize=0, pos=FileWALPointer [idx=0, > fileOffset=2504842, len=37, forceFlush=false], type=PAGES_LIST_ADD_PAGE]]] > [W] DataPageSetFreeListPageRecord [freeListPage=281526516318219, > super=PageDeltaRecord [grpId=-1368047377, pageId=0001000c002f, > super=WALRecord [size=37, chainSize=0, pos=FileWALPointer [idx=0, > fileOffset=2504879, len=37, forceFlush=false], > type=DATA_PAGE_SET_FREE_LIST_PAGE]]] > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6235) Add ability to handle CacheObject from DataRecord in standalone WAL iterator
[ https://issues.apache.org/jira/browse/IGNITE-6235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167766#comment-16167766 ] ASF GitHub Bot commented on IGNITE-6235: Github user asfgit closed the pull request at: https://github.com/apache/ignite/pull/2620 > Add ability to handle CacheObject from DataRecord in standalone WAL iterator > > > Key: IGNITE-6235 > URL: https://issues.apache.org/jira/browse/IGNITE-6235 > Project: Ignite > Issue Type: Improvement > Components: persistence >Affects Versions: 2.1 >Reporter: Dmitriy Pavlov >Assignee: Dmitriy Pavlov > Fix For: 2.3 > > > There was utility class added for WAL iteration under [IGNITE-5558] > But LazyDataEntry provided by DataRecord does not allow to touch, parse or > print entry values. > It is necessary to improve iterator with ablity to handle data record entries. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (IGNITE-6387) SQL: NOT NULL fields validation with read-through cache store
[ https://issues.apache.org/jira/browse/IGNITE-6387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vladimir Ozerov updated IGNITE-6387: Fix Version/s: 2.3 > SQL: NOT NULL fields validation with read-through cache store > - > > Key: IGNITE-6387 > URL: https://issues.apache.org/jira/browse/IGNITE-6387 > Project: Ignite > Issue Type: Bug > Components: sql >Reporter: Sergey Kalashnikov >Assignee: Sergey Kalashnikov > Fix For: 2.3 > > > There is a case left unsolved during implementation of SQL NOT NULL > constraints feature. > It may happen so that cache update operation fails and the value loaded from > store is put into cache. > This value must also be validated with regards to configured NOT NULL > constraints. > See {{CacheConfiguration.setCacheStoreFactory()}}, > {{CacheConfiguration.setReadThrough()}}, {{QueryEntity.setNotNullFields()}} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (IGNITE-5456) JDBC thin driver: the statement produces multiple result sets must be handled correct
[ https://issues.apache.org/jira/browse/IGNITE-5456?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vladimir Ozerov reassigned IGNITE-5456: --- Assignee: (was: Taras Ledkov) > JDBC thin driver: the statement produces multiple result sets must be handled > correct > - > > Key: IGNITE-5456 > URL: https://issues.apache.org/jira/browse/IGNITE-5456 > Project: Ignite > Issue Type: Task > Components: jdbc >Affects Versions: 2.0 >Reporter: Taras Ledkov > Fix For: 2.3 > > > Now the SQL query statement that produces is failed with: > {code} > [18:53:56,231][ERROR][sql-connector-#81%thin.JdbcThinStatementFullApiSelfTest0%][SqlListenerProcessor] > Runtime error caught during grid runnable execution: GridWorker > [name=message-received-notify, > igniteInstanceName=thin.JdbcThinStatementFullApiSelfTest0, finished=false, > hashCode=841829578, interrupted=false, > runner=sql-connector-#81%thin.JdbcThinStatementFullApiSelfTest0%] > java.lang.AssertionError > at > org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.prepared(GridSqlQueryParser.java:435) > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryDistributedSqlFields(IgniteH2Indexing.java:1298) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$6.applyx(GridQueryProcessor.java:1834) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$6.applyx(GridQueryProcessor.java:1830) > at > org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2271) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1838) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.executeQuery(JdbcRequestHandler.java:188) > at > org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.handle(JdbcRequestHandler.java:122) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:152) > at > org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:44) > 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:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > {code} > This case must be handled and appropriate exception will be thrown. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (IGNITE-6393) ODBC: need to cleanup server cursors on client disconnect
[ https://issues.apache.org/jira/browse/IGNITE-6393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vladimir Ozerov reassigned IGNITE-6393: --- Assignee: (was: Igor Sapego) > ODBC: need to cleanup server cursors on client disconnect > - > > Key: IGNITE-6393 > URL: https://issues.apache.org/jira/browse/IGNITE-6393 > Project: Ignite > Issue Type: Bug > Components: odbc >Affects Versions: 2.3 >Reporter: Vladimir Ozerov > Fix For: 2.3 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Closed] (IGNITE-6393) ODBC: need to cleanup server cursors on client disconnect
[ https://issues.apache.org/jira/browse/IGNITE-6393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vladimir Ozerov closed IGNITE-6393. --- > ODBC: need to cleanup server cursors on client disconnect > - > > Key: IGNITE-6393 > URL: https://issues.apache.org/jira/browse/IGNITE-6393 > Project: Ignite > Issue Type: Bug > Components: odbc >Affects Versions: 2.3 >Reporter: Vladimir Ozerov > Fix For: 2.3 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Resolved] (IGNITE-6393) ODBC: need to cleanup server cursors on client disconnect
[ https://issues.apache.org/jira/browse/IGNITE-6393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vladimir Ozerov resolved IGNITE-6393. - Resolution: Duplicate > ODBC: need to cleanup server cursors on client disconnect > - > > Key: IGNITE-6393 > URL: https://issues.apache.org/jira/browse/IGNITE-6393 > Project: Ignite > Issue Type: Bug > Components: odbc >Affects Versions: 2.3 >Reporter: Vladimir Ozerov > Fix For: 2.3 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Resolved] (IGNITE-6392) JDBC thin driver: need to cleanup server cursors on client disconnect
[ https://issues.apache.org/jira/browse/IGNITE-6392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vladimir Ozerov resolved IGNITE-6392. - Resolution: Duplicate > JDBC thin driver: need to cleanup server cursors on client disconnect > - > > Key: IGNITE-6392 > URL: https://issues.apache.org/jira/browse/IGNITE-6392 > Project: Ignite > Issue Type: Bug > Components: jdbc >Affects Versions: 2.3 >Reporter: Vladimir Ozerov >Assignee: Taras Ledkov > Fix For: 2.3 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Closed] (IGNITE-6392) JDBC thin driver: need to cleanup server cursors on client disconnect
[ https://issues.apache.org/jira/browse/IGNITE-6392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vladimir Ozerov closed IGNITE-6392. --- > JDBC thin driver: need to cleanup server cursors on client disconnect > - > > Key: IGNITE-6392 > URL: https://issues.apache.org/jira/browse/IGNITE-6392 > Project: Ignite > Issue Type: Bug > Components: jdbc >Affects Versions: 2.3 >Reporter: Vladimir Ozerov > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (IGNITE-6392) JDBC thin driver: need to cleanup server cursors on client disconnect
[ https://issues.apache.org/jira/browse/IGNITE-6392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vladimir Ozerov updated IGNITE-6392: Fix Version/s: (was: 2.3) > JDBC thin driver: need to cleanup server cursors on client disconnect > - > > Key: IGNITE-6392 > URL: https://issues.apache.org/jira/browse/IGNITE-6392 > Project: Ignite > Issue Type: Bug > Components: jdbc >Affects Versions: 2.3 >Reporter: Vladimir Ozerov > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6200) org.dom4j.QName can't be serialized
[ https://issues.apache.org/jira/browse/IGNITE-6200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167737#comment-16167737 ] Alexandr Kuramshin commented on IGNITE-6200: TC looks good, please review > org.dom4j.QName can't be serialized > --- > > Key: IGNITE-6200 > URL: https://issues.apache.org/jira/browse/IGNITE-6200 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.1 >Reporter: Alexei Scherbakov >Assignee: Alexandr Kuramshin > Fix For: 2.2 > > > Exception: > {noformat} > class org.apache.ignite.binary.BinaryObjectException: Failed to marshal > object with optimized marshaller: org.dom4j.QName@364492 [name: test > namespace: "org.dom4j.Namespace@e20 [Namespace: prefix qq mapped to URI ""]"] > at > org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:186) > at > org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:147) > at > org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:134) > at > org.apache.ignite.internal.binary.GridBinaryMarshaller.marshal(GridBinaryMarshaller.java:248) > at > org.apache.ignite.internal.binary.BinaryMarshaller.marshal0(BinaryMarshaller.java:82) > at > org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.marshal(AbstractNodeNameAwareMarshaller.java:58) > at > org.apache.ignite.internal.processors.cache.MarshallerTest.test(MarshallerTest.java:160) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at > org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:2000) > at > org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:132) > at > org.apache.ignite.testframework.junits.GridAbstractTest$5.run(GridAbstractTest.java:1915) > at java.lang.Thread.run(Thread.java:745) > Caused by: class org.apache.ignite.IgniteCheckedException: Failed to > serialize object: org.dom4j.QName@364492 [name: test namespace: > "org.dom4j.Namespace@e20 [Namespace: prefix qq mapped to URI ""]"] > at > org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.marshal0(OptimizedMarshaller.java:206) > at > org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.marshal(AbstractNodeNameAwareMarshaller.java:58) > at > org.apache.ignite.internal.util.IgniteUtils.marshal(IgniteUtils.java:9836) > at > org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:179) > ... 15 more > Caused by: java.io.IOException: java.io.NotActiveException: Not in > writeObject() call. > at > org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeSerializable(OptimizedObjectOutputStream.java:324) > at > org.apache.ignite.internal.marshaller.optimized.OptimizedClassDescriptor.write(OptimizedClassDescriptor.java:827) > at > org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeObject0(OptimizedObjectOutputStream.java:224) > at > org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeObjectOverride(OptimizedObjectOutputStream.java:152) > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344) > at > org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.marshal0(OptimizedMarshaller.java:201) > ... 18 more > Caused by: java.io.NotActiveException: Not in writeObject() call. > at > org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.defaultWriteObject(OptimizedObjectOutputStream.java:684) > at org.dom4j.QName.writeObject(QName.java:239) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at > org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeSerializable(OptimizedObjectOutputStream.java:318) > ... 23 more > {noformat} > Reproducer: > {noformat} > public void test() throws Exception { > try { > IgniteEx ex = startGrid(0); > QName qName = new QName("test", new Namespace("qq", null), "q"); > byte[] marshal = > ex.configuration().getMarshaller().marshal(qName); > } finally { > stopAllGrids(); > } > } > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (IGNITE-6200) org.dom4j.QName can't be serialized
[ https://issues.apache.org/jira/browse/IGNITE-6200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexandr Kuramshin reassigned IGNITE-6200: -- Assignee: Andrey Gura (was: Alexandr Kuramshin) > org.dom4j.QName can't be serialized > --- > > Key: IGNITE-6200 > URL: https://issues.apache.org/jira/browse/IGNITE-6200 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.1 >Reporter: Alexei Scherbakov >Assignee: Andrey Gura > Fix For: 2.2 > > > Exception: > {noformat} > class org.apache.ignite.binary.BinaryObjectException: Failed to marshal > object with optimized marshaller: org.dom4j.QName@364492 [name: test > namespace: "org.dom4j.Namespace@e20 [Namespace: prefix qq mapped to URI ""]"] > at > org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:186) > at > org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:147) > at > org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:134) > at > org.apache.ignite.internal.binary.GridBinaryMarshaller.marshal(GridBinaryMarshaller.java:248) > at > org.apache.ignite.internal.binary.BinaryMarshaller.marshal0(BinaryMarshaller.java:82) > at > org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.marshal(AbstractNodeNameAwareMarshaller.java:58) > at > org.apache.ignite.internal.processors.cache.MarshallerTest.test(MarshallerTest.java:160) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at > org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:2000) > at > org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:132) > at > org.apache.ignite.testframework.junits.GridAbstractTest$5.run(GridAbstractTest.java:1915) > at java.lang.Thread.run(Thread.java:745) > Caused by: class org.apache.ignite.IgniteCheckedException: Failed to > serialize object: org.dom4j.QName@364492 [name: test namespace: > "org.dom4j.Namespace@e20 [Namespace: prefix qq mapped to URI ""]"] > at > org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.marshal0(OptimizedMarshaller.java:206) > at > org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.marshal(AbstractNodeNameAwareMarshaller.java:58) > at > org.apache.ignite.internal.util.IgniteUtils.marshal(IgniteUtils.java:9836) > at > org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:179) > ... 15 more > Caused by: java.io.IOException: java.io.NotActiveException: Not in > writeObject() call. > at > org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeSerializable(OptimizedObjectOutputStream.java:324) > at > org.apache.ignite.internal.marshaller.optimized.OptimizedClassDescriptor.write(OptimizedClassDescriptor.java:827) > at > org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeObject0(OptimizedObjectOutputStream.java:224) > at > org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeObjectOverride(OptimizedObjectOutputStream.java:152) > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344) > at > org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.marshal0(OptimizedMarshaller.java:201) > ... 18 more > Caused by: java.io.NotActiveException: Not in writeObject() call. > at > org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.defaultWriteObject(OptimizedObjectOutputStream.java:684) > at org.dom4j.QName.writeObject(QName.java:239) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at > org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeSerializable(OptimizedObjectOutputStream.java:318) > ... 23 more > {noformat} > Reproducer: > {noformat} > public void test() throws Exception { > try { > IgniteEx ex = startGrid(0); > QName qName = new QName("test", new Namespace("qq", null), "q"); > byte[] marshal = > ex.configuration().getMarshaller().marshal(qName); > } finally { > stopAllGrids(); > } > } > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6396) SQL: Support SQLSTATE error code for "NOT NULL" constraint
Vladimir Ozerov created IGNITE-6396: --- Summary: SQL: Support SQLSTATE error code for "NOT NULL" constraint Key: IGNITE-6396 URL: https://issues.apache.org/jira/browse/IGNITE-6396 Project: Ignite Issue Type: Bug Components: sql Affects Versions: 2.3 Reporter: Vladimir Ozerov Assignee: Sergey Kalashnikov Fix For: 2.3 Respective SQLSTATE: 20004. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6395) Uncomment JdbcThinStatementSelfTest.testCloseOnCompletion
Vladimir Ozerov created IGNITE-6395: --- Summary: Uncomment JdbcThinStatementSelfTest.testCloseOnCompletion Key: IGNITE-6395 URL: https://issues.apache.org/jira/browse/IGNITE-6395 Project: Ignite Issue Type: Bug Components: jdbc Affects Versions: 2.3 Reporter: Vladimir Ozerov Assignee: Taras Ledkov Fix For: 2.3 -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (IGNITE-6394) Can't create off-heap matrix with size over 2 Gb (int overflow in DenseOffHeapMatrixStorage.allocateMemory)
[ https://issues.apache.org/jira/browse/IGNITE-6394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Oleg Ignatenko updated IGNITE-6394: --- Description: In order to reproduce, try to create off-heap matrix with size larger than 2Gb, eg like this: {code}new DenseLocalOffHeapMatrix(17_000, 17_000){code} Above fails: {noformat} java.lang.IllegalArgumentException: null at sun.misc.Unsafe.allocateMemory(Native Method) at org.apache.ignite.internal.util.GridUnsafe.allocateMemory(GridUnsafe.java:1068) at org.apache.ignite.ml.math.impls.storage.matrix.DenseOffHeapMatrixStorage.allocateMemory(DenseOffHeapMatrixStorage.java:219) ... {noformat} (you may need to allow Java get more than 2Gb off-heap memory for that with VM argument like {{-XX:MaxDirectMemorySize=1000g}}) The reason for failure is that int arguments aren't converted to long prior to multiplying in {{DenseOffHeapMatrixStorage.allocateMemory}}: {code}ptr = GridUnsafe.allocateMemory(rows * cols * Double.BYTES);{code} was: In order to reproduce, try to create off-heap matrix with size larger than 2Gb, eg like this: {code}new DenseLocalOffHeapMatrix(17_000, 17_000){code} Above fails: {noformat} java.lang.IllegalArgumentException: null at sun.misc.Unsafe.allocateMemory(Native Method) at org.apache.ignite.internal.util.GridUnsafe.allocateMemory(GridUnsafe.java:1068) at org.apache.ignite.ml.math.impls.storage.matrix.DenseOffHeapMatrixStorage.allocateMemory(DenseOffHeapMatrixStorage.java:219) ... {noformat} (you may need to allow Java get more than 2Gb off-heap memory for that with VM argument like {{-XX:MaxDirectMemorySize=1000g}}) The reason for failure is that int arguments aren't converted to long prior to multiplying in {{DenseOffHeapMatrixStorage.allocateMemory}}: {code}ptr = GridUnsafe.allocateMemory((long)rows * cols * Double.BYTES);{code} > Can't create off-heap matrix with size over 2 Gb (int overflow in > DenseOffHeapMatrixStorage.allocateMemory) > --- > > Key: IGNITE-6394 > URL: https://issues.apache.org/jira/browse/IGNITE-6394 > Project: Ignite > Issue Type: Bug > Components: ml >Reporter: Oleg Ignatenko >Assignee: Yury Babak > > In order to reproduce, try to create off-heap matrix with size larger than > 2Gb, eg like this: > {code}new DenseLocalOffHeapMatrix(17_000, 17_000){code} > Above fails: > {noformat} > java.lang.IllegalArgumentException: null > at sun.misc.Unsafe.allocateMemory(Native Method) > at > org.apache.ignite.internal.util.GridUnsafe.allocateMemory(GridUnsafe.java:1068) > at > org.apache.ignite.ml.math.impls.storage.matrix.DenseOffHeapMatrixStorage.allocateMemory(DenseOffHeapMatrixStorage.java:219) > ... > {noformat} > (you may need to allow Java get more than 2Gb off-heap memory for that with > VM argument like {{-XX:MaxDirectMemorySize=1000g}}) > The reason for failure is that int arguments aren't converted to long prior > to multiplying in {{DenseOffHeapMatrixStorage.allocateMemory}}: > {code}ptr = GridUnsafe.allocateMemory(rows * cols * Double.BYTES);{code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6394) Can't create off-heap matrix with size over 2 Gb (int overflow in DenseOffHeapMatrixStorage.allocateMemory)
Oleg Ignatenko created IGNITE-6394: -- Summary: Can't create off-heap matrix with size over 2 Gb (int overflow in DenseOffHeapMatrixStorage.allocateMemory) Key: IGNITE-6394 URL: https://issues.apache.org/jira/browse/IGNITE-6394 Project: Ignite Issue Type: Bug Components: ml Reporter: Oleg Ignatenko Assignee: Yury Babak In order to reproduce, try to create off-heap matrix with size larger than 2Gb, eg like this: {code}new DenseLocalOffHeapMatrix(17_000, 17_000){code} Above fails: {noformat} java.lang.IllegalArgumentException: null at sun.misc.Unsafe.allocateMemory(Native Method) at org.apache.ignite.internal.util.GridUnsafe.allocateMemory(GridUnsafe.java:1068) at org.apache.ignite.ml.math.impls.storage.matrix.DenseOffHeapMatrixStorage.allocateMemory(DenseOffHeapMatrixStorage.java:219) ... {noformat} (you may need to allow Java get more than 2Gb off-heap memory for that with VM argument like {{-XX:MaxDirectMemorySize=1000g}}) The reason for failure is that int arguments aren't converted to long prior to multiplying in {{DenseOffHeapMatrixStorage.allocateMemory}}: {code}ptr = GridUnsafe.allocateMemory((long)rows * cols * Double.BYTES);{code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (IGNITE-6393) ODBC: need to cleanup server cursors on client disconnect
[ https://issues.apache.org/jira/browse/IGNITE-6393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vladimir Ozerov updated IGNITE-6393: Component/s: odbc > ODBC: need to cleanup server cursors on client disconnect > - > > Key: IGNITE-6393 > URL: https://issues.apache.org/jira/browse/IGNITE-6393 > Project: Ignite > Issue Type: Bug > Components: odbc >Affects Versions: 2.3 >Reporter: Vladimir Ozerov >Assignee: Igor Sapego > Fix For: 2.3 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6393) ODBC: need to cleanup server cursors on client disconnect
Vladimir Ozerov created IGNITE-6393: --- Summary: ODBC: need to cleanup server cursors on client disconnect Key: IGNITE-6393 URL: https://issues.apache.org/jira/browse/IGNITE-6393 Project: Ignite Issue Type: Bug Affects Versions: 2.3 Reporter: Vladimir Ozerov Assignee: Igor Sapego Fix For: 2.3 -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6392) JDBC thin driver: need to cleanup server cursors on client disconnect
Vladimir Ozerov created IGNITE-6392: --- Summary: JDBC thin driver: need to cleanup server cursors on client disconnect Key: IGNITE-6392 URL: https://issues.apache.org/jira/browse/IGNITE-6392 Project: Ignite Issue Type: Bug Components: jdbc Affects Versions: 2.3 Reporter: Vladimir Ozerov Assignee: Taras Ledkov Fix For: 2.3 -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6391) JDBC thin driver: JdbcThinTcpIo.srvProtocolVer is not used
Vladimir Ozerov created IGNITE-6391: --- Summary: JDBC thin driver: JdbcThinTcpIo.srvProtocolVer is not used Key: IGNITE-6391 URL: https://issues.apache.org/jira/browse/IGNITE-6391 Project: Ignite Issue Type: Bug Components: jdbc Affects Versions: 2.3 Reporter: Vladimir Ozerov Assignee: Taras Ledkov Fix For: 2.3 Need to understand why it is so. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-5896) Thin client protocol
[ https://issues.apache.org/jira/browse/IGNITE-5896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167721#comment-16167721 ] Pavel Tupitsyn commented on IGNITE-5896: Initial part done. {{ignite-5896}} merged to master: {{a00052e94531528c5df0dc4485d8882514b40af4}}. > Thin client protocol > > > Key: IGNITE-5896 > URL: https://issues.apache.org/jira/browse/IGNITE-5896 > Project: Ignite > Issue Type: New Feature > Components: platforms >Reporter: Pavel Tupitsyn > Fix For: 2.3 > > > Implement a protocol for thin clients in other languages. > This is an umbrella ticket for all related activities. > *Overview:* > * Client connects to a socket (according to {{SqlConnectorConfiguration}}) > * There is a new client type is {{SqlListenerNioListener}} > * Ignite binary protocol is used for data exchange (BinaryMarshaller) > * Protocol is stateless (though socket can be reused for multiple operations) > *Socket request message format:* > * {{uint32}} Message length > * {{uint32}} Request id > * {{byte}} Flags (compression, etc) > * {{uint16}} Operation code (like CacheGet or MessagingSend) > * Operation-specific data > *Socket response message format:* > * {{uint32}} Message length > * {{uint32}} Request id (value from above) > * {{byte}} Flags (success, compression, etc) > * Operation-specific data or exception details -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6368) .NET: Separate interfaces for Ignite and Cache facades for thin client
[ https://issues.apache.org/jira/browse/IGNITE-6368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167714#comment-16167714 ] ASF GitHub Bot commented on IGNITE-6368: Github user asfgit closed the pull request at: https://github.com/apache/ignite/pull/2670 > .NET: Separate interfaces for Ignite and Cache facades for thin client > -- > > Key: IGNITE-6368 > URL: https://issues.apache.org/jira/browse/IGNITE-6368 > Project: Ignite > Issue Type: Task > Components: platforms >Reporter: Vladimir Ozerov >Assignee: Pavel Tupitsyn > Fix For: 2.3 > > > We should have separate interfaces for {{IIgnite}} and {{ICache}}. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (IGNITE-6062) IllegalArgumentException thrown while getHeapMemoryUsage()
[ https://issues.apache.org/jira/browse/IGNITE-6062?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stanilovsky Evgeny reassigned IGNITE-6062: -- Assignee: (was: Stanilovsky Evgeny) > IllegalArgumentException thrown while getHeapMemoryUsage() > -- > > Key: IGNITE-6062 > URL: https://issues.apache.org/jira/browse/IGNITE-6062 > Project: Ignite > Issue Type: Bug > Components: general >Affects Versions: 1.8 >Reporter: Alexander Belyak > Fix For: 1.8 > > > In org.apache.ignite.internal.managers.discovery.GridDiscoveryManager > we can't just use getHeapMemoryUsage(): > private static final MemoryMXBean mem = ManagementFactory.getMemoryMXBean(); > mem.getHeapMemoryUsage().getCommitted(); > because of > https://bugs.openjdk.java.net/browse/JDK-6870537 > It should be somehow wrapped to catch IllegalArgumentException. > Also we need to test all codebase and use wrapped version of > getHeapMemoryUsage() method. > In version 2.1 its already fixed. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Resolved] (IGNITE-6062) IllegalArgumentException thrown while getHeapMemoryUsage()
[ https://issues.apache.org/jira/browse/IGNITE-6062?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stanilovsky Evgeny resolved IGNITE-6062. Resolution: Duplicate > IllegalArgumentException thrown while getHeapMemoryUsage() > -- > > Key: IGNITE-6062 > URL: https://issues.apache.org/jira/browse/IGNITE-6062 > Project: Ignite > Issue Type: Bug > Components: general >Affects Versions: 1.8 >Reporter: Alexander Belyak > Fix For: 1.8 > > > In org.apache.ignite.internal.managers.discovery.GridDiscoveryManager > we can't just use getHeapMemoryUsage(): > private static final MemoryMXBean mem = ManagementFactory.getMemoryMXBean(); > mem.getHeapMemoryUsage().getCommitted(); > because of > https://bugs.openjdk.java.net/browse/JDK-6870537 > It should be somehow wrapped to catch IllegalArgumentException. > Also we need to test all codebase and use wrapped version of > getHeapMemoryUsage() method. > In version 2.1 its already fixed. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (IGNITE-6062) IllegalArgumentException thrown while getHeapMemoryUsage()
[ https://issues.apache.org/jira/browse/IGNITE-6062?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stanilovsky Evgeny reassigned IGNITE-6062: -- Assignee: Stanilovsky Evgeny > IllegalArgumentException thrown while getHeapMemoryUsage() > -- > > Key: IGNITE-6062 > URL: https://issues.apache.org/jira/browse/IGNITE-6062 > Project: Ignite > Issue Type: Bug > Components: general >Affects Versions: 1.8 >Reporter: Alexander Belyak >Assignee: Stanilovsky Evgeny > Fix For: 1.8 > > > In org.apache.ignite.internal.managers.discovery.GridDiscoveryManager > we can't just use getHeapMemoryUsage(): > private static final MemoryMXBean mem = ManagementFactory.getMemoryMXBean(); > mem.getHeapMemoryUsage().getCommitted(); > because of > https://bugs.openjdk.java.net/browse/JDK-6870537 > It should be somehow wrapped to catch IllegalArgumentException. > Also we need to test all codebase and use wrapped version of > getHeapMemoryUsage() method. > In version 2.1 its already fixed. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Reopened] (IGNITE-6062) IllegalArgumentException thrown while getHeapMemoryUsage()
[ https://issues.apache.org/jira/browse/IGNITE-6062?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stanilovsky Evgeny reopened IGNITE-6062: > IllegalArgumentException thrown while getHeapMemoryUsage() > -- > > Key: IGNITE-6062 > URL: https://issues.apache.org/jira/browse/IGNITE-6062 > Project: Ignite > Issue Type: Bug > Components: general >Affects Versions: 1.8 >Reporter: Alexander Belyak >Assignee: Stanilovsky Evgeny > Fix For: 1.8 > > > In org.apache.ignite.internal.managers.discovery.GridDiscoveryManager > we can't just use getHeapMemoryUsage(): > private static final MemoryMXBean mem = ManagementFactory.getMemoryMXBean(); > mem.getHeapMemoryUsage().getCommitted(); > because of > https://bugs.openjdk.java.net/browse/JDK-6870537 > It should be somehow wrapped to catch IllegalArgumentException. > Also we need to test all codebase and use wrapped version of > getHeapMemoryUsage() method. > In version 2.1 its already fixed. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Resolved] (IGNITE-6062) IllegalArgumentException thrown while getHeapMemoryUsage()
[ https://issues.apache.org/jira/browse/IGNITE-6062?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stanilovsky Evgeny resolved IGNITE-6062. Resolution: Duplicate > IllegalArgumentException thrown while getHeapMemoryUsage() > -- > > Key: IGNITE-6062 > URL: https://issues.apache.org/jira/browse/IGNITE-6062 > Project: Ignite > Issue Type: Bug > Components: general >Affects Versions: 1.8 >Reporter: Alexander Belyak > Fix For: 1.8 > > > In org.apache.ignite.internal.managers.discovery.GridDiscoveryManager > we can't just use getHeapMemoryUsage(): > private static final MemoryMXBean mem = ManagementFactory.getMemoryMXBean(); > mem.getHeapMemoryUsage().getCommitted(); > because of > https://bugs.openjdk.java.net/browse/JDK-6870537 > It should be somehow wrapped to catch IllegalArgumentException. > Also we need to test all codebase and use wrapped version of > getHeapMemoryUsage() method. > In version 2.1 its already fixed. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-5620) Meaningful error codes and types of exceptions for SQL operations
[ https://issues.apache.org/jira/browse/IGNITE-5620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167707#comment-16167707 ] Vladimir Ozerov commented on IGNITE-5620: - [~al.psc], I doubt this is correct interpretation. SQLSTATE knows nothing about connection string. I think we should implement it as follows: 1) 08001 - any exception on client side (bad connection string, any IOException, etc. 2) 08004 - in case of handshake failure 3) 08006 - any exception on already opened connection > Meaningful error codes and types of exceptions for SQL operations > -- > > Key: IGNITE-5620 > URL: https://issues.apache.org/jira/browse/IGNITE-5620 > Project: Ignite > Issue Type: Task > Components: sql >Affects Versions: 2.0 >Reporter: Denis Magda >Assignee: Alexander Paschenko > Labels: usability > Fix For: 2.3 > > > Presently, SQL engine throws a generic type of exception with custom text in > case of an operation failure. In result, Ignite ODBC driver returns a similar > error code (2000) for different kind of failures. > For example, error code 2000 is returned for the following > {code} > Duplicate key during INSERT [key=CorpcontactcountKey [idHash=1412656257, > hash=2004096461, mdn=9192]] > {code} > {code} > Failed to parse query: INSERT INTO "DG".Corpcontactcount > (mdn,contactcount,lastupdatetime) > values(?,?,?,?) > {code} > {code} > Wrong value has been set [typeName=Pocsubscrinfo, fieldName=vocoderid, > fieldType=short, assignedValueType=byte] Error Code: 2000 > {code} > The following has to be done: > * Create unique types of exceptions for Java whenever applicable. > * Add {{errorCode}} parameter and method to a generic SQL exception. > * ODBC and JDBC drivers have to return unique codes based on the exception > code or type. > * All the codes have to be documented on readme.io. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6368) .NET: Separate interfaces for Ignite and Cache facades for thin client
[ https://issues.apache.org/jira/browse/IGNITE-6368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167702#comment-16167702 ] Pavel Tupitsyn commented on IGNITE-6368: [~vozerov] fixed. > .NET: Separate interfaces for Ignite and Cache facades for thin client > -- > > Key: IGNITE-6368 > URL: https://issues.apache.org/jira/browse/IGNITE-6368 > Project: Ignite > Issue Type: Task > Components: platforms >Reporter: Vladimir Ozerov >Assignee: Pavel Tupitsyn > Fix For: 2.3 > > > We should have separate interfaces for {{IIgnite}} and {{ICache}}. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6137) Inaccurate CAS handling in GridNearTxLocal async commit
[ https://issues.apache.org/jira/browse/IGNITE-6137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167701#comment-16167701 ] ASF GitHub Bot commented on IGNITE-6137: Github user asfgit closed the pull request at: https://github.com/apache/ignite/pull/2496 > Inaccurate CAS handling in GridNearTxLocal async commit > --- > > Key: IGNITE-6137 > URL: https://issues.apache.org/jira/browse/IGNITE-6137 > Project: Ignite > Issue Type: Bug > Components: cache >Affects Versions: 2.1 >Reporter: Andrey Kuznetsov >Assignee: Andrey Kuznetsov > Fix For: 2.3 > > > CAS for commitFuture is handled inaccurate in commitNearTxLocalAsync method. > Can fail on muliple calls, either concurrent or sequential. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6277) Convert WAL to human readable form
[ https://issues.apache.org/jira/browse/IGNITE-6277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167699#comment-16167699 ] Alexey Goncharuk commented on IGNITE-6277: -- Thanks, Eduard, merged your changes to master. > Convert WAL to human readable form > -- > > Key: IGNITE-6277 > URL: https://issues.apache.org/jira/browse/IGNITE-6277 > Project: Ignite > Issue Type: Bug > Components: persistence >Affects Versions: 2.1 >Reporter: Eduard Shangareev >Assignee: Alexey Goncharuk > Fix For: 2.3 > > > Now there is no way to make wal visible or understandable without coding. > I propose to write utility which would convert any given compatible WAL to > textual form. > Something like this: > {code} > [W] InsertRecord [idx=19, io=H2ExtrasLeafIO[ver=1], rightId=, > super=PageDeltaRecord [grpId=2141373875, pageId=00020011, > super=WALRecord [size=61, chainSize=0, pos=FileWALPointer [idx=0, > fileOffset=2504497, len=61, forceFlush=false], type=BTREE_PAGE_INSERT]]] > [W] DataRecord [writeEntries=[DataEntry [op=CREATE, writeVer=GridCacheVersion > [topVer=116006687, order=0, nodeOrder=1], partId=29, partCnt=33]], > super=WALRecord [size=171, chainSize=0, pos=FileWALPointer [idx=0, > fileOffset=2504558, len=171, forceFlush=false], type=DATA_RECORD]] > [W] PagesListRemovePageRecord [rmvdPageId=0001000c002f, > pageId=0001000c000a, grpId=-1368047377, super=PageDeltaRecord > [grpId=-1368047377, pageId=0001000c000a, super=WALRecord [size=37, > chainSize=0, pos=FileWALPointer [idx=0, fileOffset=2504729, len=37, > forceFlush=false], type=PAGES_LIST_REMOVE_PAGE]]] > [W] DataPageInsertRecord [super=PageDeltaRecord [grpId=-1368047377, > pageId=0001000c002f, super=WALRecord [size=76, chainSize=0, > pos=FileWALPointer [idx=0, fileOffset=2504766, len=76, forceFlush=false], > type=DATA_PAGE_INSERT_RECORD]]] > [W] PagesListAddPageRecord [dataPageId=0001000c002f, > super=PageDeltaRecord [grpId=-1368047377, pageId=0001000c000b, > super=WALRecord [size=37, chainSize=0, pos=FileWALPointer [idx=0, > fileOffset=2504842, len=37, forceFlush=false], type=PAGES_LIST_ADD_PAGE]]] > [W] DataPageSetFreeListPageRecord [freeListPage=281526516318219, > super=PageDeltaRecord [grpId=-1368047377, pageId=0001000c002f, > super=WALRecord [size=37, chainSize=0, pos=FileWALPointer [idx=0, > fileOffset=2504879, len=37, forceFlush=false], > type=DATA_PAGE_SET_FREE_LIST_PAGE]]] > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-5620) Meaningful error codes and types of exceptions for SQL operations
[ https://issues.apache.org/jira/browse/IGNITE-5620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167697#comment-16167697 ] Alexander Paschenko commented on IGNITE-5620: - [~vozerov] CONNECTION_ERROR - miscellaneous connection error (I use this when, say, because of malformed connection string we can't even attempt to connect). CLIENT_CONNECTION_FAILED - connection params are fine, but connection can't be established. CONNECTION_FAILURE - runtime error on a connection that has been successfully opened before. > Meaningful error codes and types of exceptions for SQL operations > -- > > Key: IGNITE-5620 > URL: https://issues.apache.org/jira/browse/IGNITE-5620 > Project: Ignite > Issue Type: Task > Components: sql >Affects Versions: 2.0 >Reporter: Denis Magda >Assignee: Alexander Paschenko > Labels: usability > Fix For: 2.3 > > > Presently, SQL engine throws a generic type of exception with custom text in > case of an operation failure. In result, Ignite ODBC driver returns a similar > error code (2000) for different kind of failures. > For example, error code 2000 is returned for the following > {code} > Duplicate key during INSERT [key=CorpcontactcountKey [idHash=1412656257, > hash=2004096461, mdn=9192]] > {code} > {code} > Failed to parse query: INSERT INTO "DG".Corpcontactcount > (mdn,contactcount,lastupdatetime) > values(?,?,?,?) > {code} > {code} > Wrong value has been set [typeName=Pocsubscrinfo, fieldName=vocoderid, > fieldType=short, assignedValueType=byte] Error Code: 2000 > {code} > The following has to be done: > * Create unique types of exceptions for Java whenever applicable. > * Add {{errorCode}} parameter and method to a generic SQL exception. > * ODBC and JDBC drivers have to return unique codes based on the exception > code or type. > * All the codes have to be documented on readme.io. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Comment Edited] (IGNITE-5620) Meaningful error codes and types of exceptions for SQL operations
[ https://issues.apache.org/jira/browse/IGNITE-5620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167697#comment-16167697 ] Alexander Paschenko edited comment on IGNITE-5620 at 9/15/17 10:50 AM: --- [~vozerov] {{CONNECTION_ERROR}} - miscellaneous connection error (I use this when, say, because of malformed connection string we can't even attempt to connect). {{CLIENT_CONNECTION_FAILED}} - connection params are fine, but connection can't be established. {{CONNECTION_FAILURE}} - runtime error on a connection that has been successfully opened before. was (Author: al.psc): [~vozerov] CONNECTION_ERROR - miscellaneous connection error (I use this when, say, because of malformed connection string we can't even attempt to connect). CLIENT_CONNECTION_FAILED - connection params are fine, but connection can't be established. CONNECTION_FAILURE - runtime error on a connection that has been successfully opened before. > Meaningful error codes and types of exceptions for SQL operations > -- > > Key: IGNITE-5620 > URL: https://issues.apache.org/jira/browse/IGNITE-5620 > Project: Ignite > Issue Type: Task > Components: sql >Affects Versions: 2.0 >Reporter: Denis Magda >Assignee: Alexander Paschenko > Labels: usability > Fix For: 2.3 > > > Presently, SQL engine throws a generic type of exception with custom text in > case of an operation failure. In result, Ignite ODBC driver returns a similar > error code (2000) for different kind of failures. > For example, error code 2000 is returned for the following > {code} > Duplicate key during INSERT [key=CorpcontactcountKey [idHash=1412656257, > hash=2004096461, mdn=9192]] > {code} > {code} > Failed to parse query: INSERT INTO "DG".Corpcontactcount > (mdn,contactcount,lastupdatetime) > values(?,?,?,?) > {code} > {code} > Wrong value has been set [typeName=Pocsubscrinfo, fieldName=vocoderid, > fieldType=short, assignedValueType=byte] Error Code: 2000 > {code} > The following has to be done: > * Create unique types of exceptions for Java whenever applicable. > * Add {{errorCode}} parameter and method to a generic SQL exception. > * ODBC and JDBC drivers have to return unique codes based on the exception > code or type. > * All the codes have to be documented on readme.io. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (IGNITE-6251) Web console: Selection stay on removed user.
[ https://issues.apache.org/jira/browse/IGNITE-6251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Konstantinov reassigned IGNITE-6251: -- Assignee: Alexey Kuznetsov (was: Alexey Kuznetsov) > Web console: Selection stay on removed user. > > > Key: IGNITE-6251 > URL: https://issues.apache.org/jira/browse/IGNITE-6251 > Project: Ignite > Issue Type: Bug > Components: wizards >Affects Versions: 2.1 >Reporter: Vasiliy Sisko >Assignee: Alexey Kuznetsov > Fix For: 2.3 > > > # Open admin panel. > # Select and remove user. > No user selected. Action key stay active. Exception occurs on some actions. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6251) Web console: Selection stay on removed user.
[ https://issues.apache.org/jira/browse/IGNITE-6251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167693#comment-16167693 ] Pavel Konstantinov commented on IGNITE-6251: Tested. > Web console: Selection stay on removed user. > > > Key: IGNITE-6251 > URL: https://issues.apache.org/jira/browse/IGNITE-6251 > Project: Ignite > Issue Type: Bug > Components: wizards >Affects Versions: 2.1 >Reporter: Vasiliy Sisko >Assignee: Pavel Konstantinov > Fix For: 2.3 > > > # Open admin panel. > # Select and remove user. > No user selected. Action key stay active. Exception occurs on some actions. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6390) Implement usable component cluster-selector on dependence pages
Dmitriy Shabalin created IGNITE-6390: Summary: Implement usable component cluster-selector on dependence pages Key: IGNITE-6390 URL: https://issues.apache.org/jira/browse/IGNITE-6390 Project: Ignite Issue Type: Improvement Components: wizards Reporter: Dmitriy Shabalin Assignee: Dmitriy Shabalin Fix For: 2.3 1. add cluster-selector to pages. 2. add update information of cluster data in page after change cluster. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-5839) Unclear exception from BinaryObjectBuilder::build call when builder is reused
[ https://issues.apache.org/jira/browse/IGNITE-5839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167647#comment-16167647 ] Andrew Mashenkov commented on IGNITE-5839: -- [~agura], thanks for pointing me. Fixed. > Unclear exception from BinaryObjectBuilder::build call when builder is reused > - > > Key: IGNITE-5839 > URL: https://issues.apache.org/jira/browse/IGNITE-5839 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.1 >Reporter: Sergey Chugunov >Assignee: Andrew Mashenkov > Fix For: 2.3 > > Attachments: Fix_BinaryObject_builder_reuse_issue_.patch > > > Simple test where {{BinaryObjectBuilder}} builder object is reused fails with > exception {noformat}org.apache.ignite.binary.BinaryObjectException: Wrong > value has been set [typeName=SimpleCls, fieldName=str, fieldType=String, > assignedValueType=Object]{noformat} > {noformat} > IgniteCache
[jira] [Commented] (IGNITE-5839) Unclear exception from BinaryObjectBuilder::build call when builder is reused
[ https://issues.apache.org/jira/browse/IGNITE-5839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167642#comment-16167642 ] Andrey Gura commented on IGNITE-5839: - [~amashenkov] It seems that {{BinaryObjectBuilderImpl.setField(String name, Object val0)}} is broken after changes. If passed {{val0}} value is {{null}} then {{new BinaryValueWithType(BinaryUtils.typeByClass(Object.class), null)}} should be set to the target value field. > Unclear exception from BinaryObjectBuilder::build call when builder is reused > - > > Key: IGNITE-5839 > URL: https://issues.apache.org/jira/browse/IGNITE-5839 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.1 >Reporter: Sergey Chugunov >Assignee: Andrew Mashenkov > Fix For: 2.3 > > Attachments: Fix_BinaryObject_builder_reuse_issue_.patch > > > Simple test where {{BinaryObjectBuilder}} builder object is reused fails with > exception {noformat}org.apache.ignite.binary.BinaryObjectException: Wrong > value has been set [typeName=SimpleCls, fieldName=str, fieldType=String, > assignedValueType=Object]{noformat} > {noformat} > IgniteCache
[jira] [Commented] (IGNITE-6368) .NET: Separate interfaces for Ignite and Cache facades for thin client
[ https://issues.apache.org/jira/browse/IGNITE-6368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167612#comment-16167612 ] Pavel Tupitsyn commented on IGNITE-6368: [~vozerov] please have a look, diff with {{ignite-5896}}. > .NET: Separate interfaces for Ignite and Cache facades for thin client > -- > > Key: IGNITE-6368 > URL: https://issues.apache.org/jira/browse/IGNITE-6368 > Project: Ignite > Issue Type: Task > Components: platforms >Reporter: Vladimir Ozerov >Assignee: Pavel Tupitsyn > Fix For: 2.3 > > > We should have separate interfaces for {{IIgnite}} and {{ICache}}. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6368) .NET: Separate interfaces for Ignite and Cache facades for thin client
[ https://issues.apache.org/jira/browse/IGNITE-6368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167610#comment-16167610 ] ASF GitHub Bot commented on IGNITE-6368: GitHub user ptupitsyn opened a pull request: https://github.com/apache/ignite/pull/2670 IGNITE-6368 .NET: Separate interfaces for Ignite and Cache facades for thin client You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-6368 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/2670.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2670 commit 5e1d5b1157a880f7d53fc94c7a706556aad170d9 Author: Pavel TupitsynDate: 2017-09-15T09:30:35Z IGNITE-6368 .NET: Separate interfaces for Ignite and Cache facades for thin client > .NET: Separate interfaces for Ignite and Cache facades for thin client > -- > > Key: IGNITE-6368 > URL: https://issues.apache.org/jira/browse/IGNITE-6368 > Project: Ignite > Issue Type: Task > Components: platforms >Reporter: Vladimir Ozerov >Assignee: Pavel Tupitsyn > Fix For: 2.3 > > > We should have separate interfaces for {{IIgnite}} and {{ICache}}. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6389) Cache.invoke fails on atomic cache with configured AccessedExpiryPolicy
Denis Mekhanikov created IGNITE-6389: Summary: Cache.invoke fails on atomic cache with configured AccessedExpiryPolicy Key: IGNITE-6389 URL: https://issues.apache.org/jira/browse/IGNITE-6389 Project: Ignite Issue Type: Bug Reporter: Denis Mekhanikov When calling {{invoke(...)}} on atomic cache with {{AccessedExpiryPolicy}}, and the target key already exists in cache, then the following exception is thrown: {noformat} [2017-09-15 12:10:18,435][ERROR][main][GridDhtAtomicCache] Unexpected exception during cache update class org.apache.ignite.IgniteException: Runtime failure on search row: org.apache.ignite.internal.processors.cache.tree.SearchRow@7334aada at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1632) at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1201) at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:343) at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:1693) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateSingle(GridDhtAtomicCache.java:2481) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update(GridDhtAtomicCache.java:1944) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1797) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1689) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.sendSingleRequest(GridNearAtomicAbstractUpdateFuture.java:299) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.map(GridNearAtomicSingleUpdateFuture.java:483) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapOnTopology(GridNearAtomicSingleUpdateFuture.java:443) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.map(GridNearAtomicAbstractUpdateFuture.java:248) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update0(GridDhtAtomicCache.java:1170) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.invoke0(GridDhtAtomicCache.java:879) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.invoke(GridDhtAtomicCache.java:837) at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.invoke(IgniteCacheProxyImpl.java:1338) at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.invoke(IgniteCacheProxyImpl.java:1384) at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.invoke(GatewayProtectedCacheProxy.java:1348) at org.apache.ignite.examples.ExpiryExample.main(ExpiryExample.java:67) Caused by: java.lang.NullPointerException at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.createRow(IgniteCacheOffheapManagerImpl.java:1253) at org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.initResultOnCancelUpdate(GridCacheMapEntry.java:4270) at org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.call(GridCacheMapEntry.java:4157) at org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.call(GridCacheMapEntry.java:3921) at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.invokeClosure(BPlusTree.java:2988) at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.access$6200(BPlusTree.java:2882) at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invokeDown(BPlusTree.java:1719) at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1602) ... 18 more Exception in thread "main" org.apache.ignite.cache.CachePartialUpdateException: Failed to update keys (retry update if possible).: [1] at org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1269) at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.cacheException(IgniteCacheProxyImpl.java:1648) at
[jira] [Created] (IGNITE-6388) ExpiryPolicy is used incorrectly during invoke
Denis Mekhanikov created IGNITE-6388: Summary: ExpiryPolicy is used incorrectly during invoke Key: IGNITE-6388 URL: https://issues.apache.org/jira/browse/IGNITE-6388 Project: Ignite Issue Type: Bug Affects Versions: 2.1, 2.0, 1.9, 1.8, 1.7 Reporter: Denis Mekhanikov Behavior of {{invoke(...)}} regarding {{ExpiryPolicy}} doesn't conform to the spec. Based on {{EntryProcessor}} doc, the expected behavior is: {code:java} cache.invoke(key, (e, a) -> { e.getValue(); // getExpiryForAccess() e.setValue(2); e.getValue(); e.setValue(3); // getExpiryForUpdate() return e.getValue(); }); {code} {code:java} cache.invoke(key, (e, a) -> { e.getValue(); // getExpiryForAccess() e.remove(); e.getValue(); e.setValue(2); // getExpiryForUpdate() return e.getValue(); }); {code} {code:java} cache.invoke(key, (e, a) -> { e.getValue(); // getExpiryForAccess() e.setValue(2); e.getValue(); e.setValue(3); e.remove(); return e.getValue(); }); {code} Additionally, if {{CacheStore}} with read-through is configured, and the accessed value wasn't loaded before, then {{getExpiryForCreation()}} should be called. Currently behavior depends on configured atomicity mode and none of observed options conform to the spec. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (IGNITE-6387) SQL: NOT NULL fields validation with read-through cache store
[ https://issues.apache.org/jira/browse/IGNITE-6387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sergey Kalashnikov updated IGNITE-6387: --- Description: There is a case left unsolved during implementation of SQL NOT NULL constraints feature. It may happen so that cache update operation fails and the value loaded from store is put into cache. This value must also be validated with regards to configured NOT NULL constraints. See {{CacheConfiguration.setCacheStoreFactory()}}, {{CacheConfiguration.setReadThrough()}}, {{QueryEntity.setNotNullFields()}} was: There is a case left unsolved during implementation of SQL NOT NULL constraints feature. It may happen so that cache update operation fails and the value loaded from store is put into cache. This value must also be validated with regards to configured NOT NULL constraints. See {{CacheConfiguration.setCacheStoreFactory()}}, {{CacheConfiguration.setReadThrough}}, {{QueryEntity.setNotNullFields}} > SQL: NOT NULL fields validation with read-through cache store > - > > Key: IGNITE-6387 > URL: https://issues.apache.org/jira/browse/IGNITE-6387 > Project: Ignite > Issue Type: Bug > Components: sql >Reporter: Sergey Kalashnikov >Assignee: Sergey Kalashnikov > > There is a case left unsolved during implementation of SQL NOT NULL > constraints feature. > It may happen so that cache update operation fails and the value loaded from > store is put into cache. > This value must also be validated with regards to configured NOT NULL > constraints. > See {{CacheConfiguration.setCacheStoreFactory()}}, > {{CacheConfiguration.setReadThrough()}}, {{QueryEntity.setNotNullFields()}} -- This message was sent by Atlassian JIRA (v6.4.14#64029)