[jira] [Updated] (IGNITE-6324) transactional cache data partially available after crash.

2017-09-15 Thread Dmitriy Pavlov (JIRA)

 [ 
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

2017-09-15 Thread vk (JIRA)

[ 
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

2017-09-15 Thread Ivan Rakov (JIRA)

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

2017-09-15 Thread Alexey Kuznetsov (JIRA)

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

2017-09-15 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-09-15 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-09-15 Thread ASF GitHub Bot (JIRA)

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

2017-09-15 Thread Alexei Scherbakov (JIRA)
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

2017-09-15 Thread rajeev gandhi (JIRA)

[ 
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

2017-09-15 Thread Vladimir Ozerov (JIRA)
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

2017-09-15 Thread Vladimir Ozerov (JIRA)
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

2017-09-15 Thread Ksenia Rybakova (JIRA)
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

2017-09-15 Thread Ilya Lantukh (JIRA)

[ 
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

2017-09-15 Thread Aleksei Zaitsev (JIRA)

[ 
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

2017-09-15 Thread Ksenia Rybakova (JIRA)
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

2017-09-15 Thread Alexey Kuznetsov (JIRA)

[ 
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

2017-09-15 Thread Taras Ledkov (JIRA)

[ 
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

2017-09-15 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-09-15 Thread Ilya Lantukh (JIRA)

[ 
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

2017-09-15 Thread Vadim Opolski (JIRA)

 [ 
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

2017-09-15 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-09-15 Thread Ilya Lantukh (JIRA)

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

2017-09-15 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-09-15 Thread Andrey Gura (JIRA)

[ 
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

2017-09-15 Thread Vladimir Ozerov (JIRA)

[ 
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

2017-09-15 Thread Alexander Paschenko (JIRA)

[ 
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

2017-09-15 Thread Alexander Paschenko (JIRA)

[ 
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

2017-09-15 Thread ASF GitHub Bot (JIRA)

[ 
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-gridgain 
Date:   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

2017-09-15 Thread Taras Ledkov (JIRA)

[ 
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

2017-09-15 Thread Taras Ledkov (JIRA)

[ 
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

2017-09-15 Thread Vladimir Ozerov (JIRA)
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

2017-09-15 Thread Vladimir Ozerov (JIRA)
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

2017-09-15 Thread Vladimir Ozerov (JIRA)
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

2017-09-15 Thread ASF GitHub Bot (JIRA)

[ 
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: devozerov 
Date:   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

2017-09-15 Thread Anton Vinogradov (JIRA)

 [ 
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

2017-09-15 Thread Anton Vinogradov (JIRA)

 [ 
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

2017-09-15 Thread Anton Vinogradov (JIRA)

 [ 
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

2017-09-15 Thread Anton Vinogradov (JIRA)

 [ 
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

2017-09-15 Thread Anton Vinogradov (JIRA)

 [ 
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

2017-09-15 Thread Taras Ledkov (JIRA)

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

2017-09-15 Thread Yury Babak (JIRA)

 [ 
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

2017-09-15 Thread Taras Ledkov (JIRA)

[ 
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

2017-09-15 Thread Pavel Tupitsyn (JIRA)

[ 
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

2017-09-15 Thread Pavel Tupitsyn (JIRA)

[ 
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

2017-09-15 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-09-15 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-09-15 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-09-15 Thread Andrew Mashenkov (JIRA)

 [ 
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 cache = /* obtain a reference to 
> withKeepBinary cache instance */;
> BinaryObjectBuilder bldr = grid(0).binary().builder("SimpleCls");
> bldr.setField("str", "abc");
> c.put(0, bldr.build());
> bldr.setField("str", null);
> c.put(1, bldr.build());
> bldr.setField("str", "def");
> c.put(2, bldr.build()); //exception will be thrown by call 
> bldr.build()
> {noformat}
> It can be fixed by simply recreating BinaryObjectBuilder instead of reusing 
> the same instance. 
> However reusing builder object must be either explicitly prohibited or 
> exception must be fixed.
> Right now documentation on builder class says nothing about reusing this 
> object.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Assigned] (IGNITE-5302) Empty LOST partition may be used as OWNING after resetting lost partitions

2017-09-15 Thread Dmitriy Sorokin (JIRA)

 [ 
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

2017-09-15 Thread Vladimir Ozerov (JIRA)
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

2017-09-15 Thread Alexander Paschenko (JIRA)

[ 
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

2017-09-15 Thread Stanilovsky Evgeny (JIRA)

 [ 
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

2017-09-15 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-09-15 Thread Stanilovsky Evgeny (JIRA)

[ 
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

2017-09-15 Thread Stanilovsky Evgeny (JIRA)

 [ 
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

2017-09-15 Thread Stanilovsky Evgeny (JIRA)

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

2017-09-15 Thread ASF GitHub Bot (JIRA)

[ 
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 Babak 
Date:   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

2017-09-15 Thread Eduard Shangareev (JIRA)

[ 
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

2017-09-15 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-09-15 Thread Vladimir Ozerov (JIRA)

 [ 
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

2017-09-15 Thread Vladimir Ozerov (JIRA)

 [ 
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

2017-09-15 Thread Vladimir Ozerov (JIRA)

 [ 
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

2017-09-15 Thread Vladimir Ozerov (JIRA)

 [ 
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

2017-09-15 Thread Vladimir Ozerov (JIRA)

 [ 
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

2017-09-15 Thread Vladimir Ozerov (JIRA)

 [ 
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

2017-09-15 Thread Vladimir Ozerov (JIRA)

 [ 
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

2017-09-15 Thread Vladimir Ozerov (JIRA)

 [ 
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

2017-09-15 Thread Alexandr Kuramshin (JIRA)

[ 
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

2017-09-15 Thread Alexandr Kuramshin (JIRA)

 [ 
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

2017-09-15 Thread Vladimir Ozerov (JIRA)
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

2017-09-15 Thread Vladimir Ozerov (JIRA)
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)

2017-09-15 Thread Oleg Ignatenko (JIRA)

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

2017-09-15 Thread Oleg Ignatenko (JIRA)
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

2017-09-15 Thread Vladimir Ozerov (JIRA)

 [ 
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

2017-09-15 Thread Vladimir Ozerov (JIRA)
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

2017-09-15 Thread Vladimir Ozerov (JIRA)
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

2017-09-15 Thread Vladimir Ozerov (JIRA)
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

2017-09-15 Thread Pavel Tupitsyn (JIRA)

[ 
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

2017-09-15 Thread ASF GitHub Bot (JIRA)

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

2017-09-15 Thread Stanilovsky Evgeny (JIRA)

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

2017-09-15 Thread Stanilovsky Evgeny (JIRA)

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

2017-09-15 Thread Stanilovsky Evgeny (JIRA)

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

2017-09-15 Thread Stanilovsky Evgeny (JIRA)

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

2017-09-15 Thread Stanilovsky Evgeny (JIRA)

 [ 
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

2017-09-15 Thread Vladimir Ozerov (JIRA)

[ 
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

2017-09-15 Thread Pavel Tupitsyn (JIRA)

[ 
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

2017-09-15 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-09-15 Thread Alexey Goncharuk (JIRA)

[ 
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

2017-09-15 Thread Alexander Paschenko (JIRA)

[ 
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

2017-09-15 Thread Alexander Paschenko (JIRA)

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

2017-09-15 Thread Pavel Konstantinov (JIRA)

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

2017-09-15 Thread Pavel Konstantinov (JIRA)

[ 
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

2017-09-15 Thread Dmitriy Shabalin (JIRA)
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

2017-09-15 Thread Andrew Mashenkov (JIRA)

[ 
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 cache = /* obtain a reference to 
> withKeepBinary cache instance */;
> BinaryObjectBuilder bldr = grid(0).binary().builder("SimpleCls");
> bldr.setField("str", "abc");
> c.put(0, bldr.build());
> bldr.setField("str", null);
> c.put(1, bldr.build());
> bldr.setField("str", "def");
> c.put(2, bldr.build()); //exception will be thrown by call 
> bldr.build()
> {noformat}
> It can be fixed by simply recreating BinaryObjectBuilder instead of reusing 
> the same instance. 
> However reusing builder object must be either explicitly prohibited or 
> exception must be fixed.
> Right now documentation on builder class says nothing about reusing this 
> object.



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

2017-09-15 Thread Andrey Gura (JIRA)

[ 
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 cache = /* obtain a reference to 
> withKeepBinary cache instance */;
> BinaryObjectBuilder bldr = grid(0).binary().builder("SimpleCls");
> bldr.setField("str", "abc");
> c.put(0, bldr.build());
> bldr.setField("str", null);
> c.put(1, bldr.build());
> bldr.setField("str", "def");
> c.put(2, bldr.build()); //exception will be thrown by call 
> bldr.build()
> {noformat}
> It can be fixed by simply recreating BinaryObjectBuilder instead of reusing 
> the same instance. 
> However reusing builder object must be either explicitly prohibited or 
> exception must be fixed.
> Right now documentation on builder class says nothing about reusing this 
> object.



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

2017-09-15 Thread Pavel Tupitsyn (JIRA)

[ 
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

2017-09-15 Thread ASF GitHub Bot (JIRA)

[ 
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 Tupitsyn 
Date:   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

2017-09-15 Thread Denis Mekhanikov (JIRA)
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

2017-09-15 Thread Denis Mekhanikov (JIRA)
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

2017-09-15 Thread Sergey Kalashnikov (JIRA)

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


  1   2   >