[jira] [Updated] (IGNITE-962) node.js: provide json cache object implementation

2015-11-13 Thread Dmitriy Setrakyan (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dmitriy Setrakyan updated IGNITE-962:
-
Fix Version/s: 1.6

> node.js: provide json cache object implementation
> -
>
> Key: IGNITE-962
> URL: https://issues.apache.org/jira/browse/IGNITE-962
> Project: Ignite
>  Issue Type: Sub-task
>  Components: interop
>Reporter: Yakov Zhdanov
> Fix For: 1.6
>
>
> * check if  we can optimize strings store with storing byte arrays
> * implement SQL indexing support for new object



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (IGNITE-1915) .Net: Ignite as Entity Framework Second-Level Cache

2015-11-13 Thread Pavel Tupitsyn (JIRA)
Pavel  Tupitsyn created IGNITE-1915:
---

 Summary: .Net: Ignite as Entity Framework Second-Level Cache
 Key: IGNITE-1915
 URL: https://issues.apache.org/jira/browse/IGNITE-1915
 Project: Ignite
  Issue Type: Task
  Components: interop
Affects Versions: 1.1.4
Reporter: Pavel  Tupitsyn
 Fix For: 1.6


Entity Framework is #1 ORM for .NET
We should provide easy solution to boost Entity Framework performance with 
Ignite.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-529) Implement IgniteFlumeStreamer to stream data from Apache Flume

2015-11-13 Thread Anton Vinogradov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15004195#comment-15004195
 ] 

Anton Vinogradov commented on IGNITE-529:
-

Roman looks great, 
except creation of IgniteSink by passing Ignite as a constructor parameter. 
Better case is to create Ignite using configuration xml. Same configuration 
(except client mode) should be used to create Ignite instance at test's start.

Also please change event listening from remote to local.

I've made some minor fixes at own branch, hope you'll agree with them ;) : 
https://github.com/avinogradovgg/ignite/commit/5113cf2600ffdbe702f289be2b3a470aa97b041b



> Implement IgniteFlumeStreamer to stream data from Apache Flume
> --
>
> Key: IGNITE-529
> URL: https://issues.apache.org/jira/browse/IGNITE-529
> Project: Ignite
>  Issue Type: Sub-task
>  Components: streaming
>Reporter: Dmitriy Setrakyan
>Assignee: Roman Shtykh
>
> We have {{IgniteDataStreamer}} which is used to load data into Ignite under 
> high load. It was previously named {{IgniteDataLoader}}, see ticket 
> IGNITE-394.
> See [Apache Flume|http://flume.apache.org/] for more information.
> We should create {{IgniteFlumeStreamer}} which will consume messages from 
> Apache Flume and stream them into Ignite caches. 
> More details to follow, but to the least we should be able to:
> * Convert Flume data to Ignite data using an optional pluggable converter.
> * Specify the cache name for the Ignite cache to load data into.
> * Specify other flags available on {{IgniteDataStreamer}} class.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (IGNITE-1914) .Net: Get rid of boxing in DoOutInOpNullable

2015-11-13 Thread Pavel Tupitsyn (JIRA)
Pavel  Tupitsyn created IGNITE-1914:
---

 Summary: .Net: Get rid of boxing in DoOutInOpNullable
 Key: IGNITE-1914
 URL: https://issues.apache.org/jira/browse/IGNITE-1914
 Project: Ignite
  Issue Type: Improvement
  Components: interop
Affects Versions: 1.1.4
Reporter: Pavel  Tupitsyn
Priority: Minor
 Fix For: 1.6


See CacheImpl.DoOutInOpNullable overloads.
We read result as object and then check for null. Nulls are quite frequent in 
these scenarios.

To get rid of boxing we need to introduce TryUnmarshal method which allows 
reading value types with null semantics.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1912) .Net: Continuous query does not work for value types

2015-11-13 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1912?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15004182#comment-15004182
 ] 

ASF GitHub Bot commented on IGNITE-1912:


GitHub user ptupitsyn opened a pull request:

https://github.com/apache/ignite/pull/233

IGNITE-1912 .Net: Continuous query does not work for value types



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/ptupitsyn/ignite ignite-1912

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/ignite/pull/233.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 #233


commit ccfc3eabb730239eed2c5973fd6a271623f0c683
Author: Pavel Tupitsyn 
Date:   2015-11-13T14:40:33Z

Failing test added

commit 4ce90965153dcdba40cf59d394cd8e7ffec25d7b
Author: Pavel Tupitsyn 
Date:   2015-11-13T14:44:42Z

wip

commit 54e41fb452d1eedb52aeb6c1cfb03017a4dcb4b8
Author: Pavel Tupitsyn 
Date:   2015-11-13T15:12:04Z

wip

commit 51a72ecc6a530dcee0e7b198f8ff6c7bbde48101
Author: Pavel Tupitsyn 
Date:   2015-11-13T15:12:58Z

wip

commit 54f2f9aeb6a67d8332dfbccbd5c63c34ae3368b4
Author: Pavel Tupitsyn 
Date:   2015-11-13T15:17:19Z

wip

commit 225ca15089d81a29bd5281b8634f5c29674b114c
Author: Pavel Tupitsyn 
Date:   2015-11-13T15:35:49Z

wip

commit 9eb949908ad989e8d40d41be15274ce04c53ca0b
Author: Pavel Tupitsyn 
Date:   2015-11-13T15:49:29Z

Fix test

commit b18710311ea5ea9b1b19a0214ae746da9f501d4d
Author: Pavel Tupitsyn 
Date:   2015-11-13T16:06:53Z

Get rid of boxing




> .Net: Continuous query does not work for value types
> 
>
> Key: IGNITE-1912
> URL: https://issues.apache.org/jira/browse/IGNITE-1912
> Project: Ignite
>  Issue Type: Bug
>  Components: interop
>Affects Versions: 1.1.4
>Reporter: Pavel  Tupitsyn
>Assignee: Pavel  Tupitsyn
>Priority: Blocker
> Fix For: 1.5
>
>
> OldValue comes as Null from java, but we try to deserialize it as TK, which 
> fails for value types.
> Need to employ the same approach as in cache with CacheResult.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1913) Assertion fail cause Grid hangs

2015-11-13 Thread Anton Vinogradov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15004070#comment-15004070
 ] 

Anton Vinogradov commented on IGNITE-1913:
--

Happens in case partition map update generates before cache stop, but applies 
after cache restart.

> Assertion fail cause Grid hangs
> ---
>
> Key: IGNITE-1913
> URL: https://issues.apache.org/jira/browse/IGNITE-1913
> Project: Ignite
>  Issue Type: Bug
>Reporter: Anton Vinogradov
>Assignee: Anton Vinogradov
>Priority: Critical
>
> [08:45:57] :   [org.apache.ignite:ignite-core] [08:45:57,762][INFO 
> ][async-runner-1][GridDiscoveryManager] Topology snapshot [ver=278, 
> servers=4, clients=0, CPUs=8, heap=2.8GB]
> [08:45:57] :   [org.apache.ignite:ignite-core] [08:45:57,763][INFO 
> ][ignite-#69277%sys-atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest3%][GridDhtPartitionDemander]
>   Completed rebalancing [cache=null, 
> fromNode=0002a176-16e7-41e3-9b45-cce0a55a5000, 
> topology=AffinityTopologyVersion [topVer=278, minorTopVer=0], time=10 ms]
> [08:45:57] :   [org.apache.ignite:ignite-core] [08:45:57,767][INFO 
> ][ignite-#69279%sys-atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest3%][GridDhtPartitionDemander]
>   Completed rebalancing [cache=null, 
> fromNode=102f9887-7fbd-4010-a93b-5c239c38d001, 
> topology=AffinityTopologyVersion [topVer=278, minorTopVer=0], time=20 ms]
> [08:45:57] :   [org.apache.ignite:ignite-core] [08:45:57,767][INFO 
> ][ignite-#69280%sys-atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest3%][GridDhtPartitionDemander]
>   Completed (final) rebalancing [cache=null, 
> fromNode=204c4f10-06ca-4e70-9b67-13baf27f1002, 
> topology=AffinityTopologyVersion [topVer=278, minorTopVer=0], time=20 ms]
> [08:45:57] :   [org.apache.ignite:ignite-core] [08:45:57,768][INFO 
> ][main][root] >>> Stopping test: testPutInsideTransaction in 83897 ms <<<
> [08:45:57] :   [org.apache.ignite:ignite-core] [08:45:57,769][INFO 
> ][exchange-worker-#62068%atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest1%][GridCachePartitionExchangeManager]
>  Nothing scheduled, skipping rebalancing [top=AffinityTopologyVersion 
> [topVer=278, minorTopVer=1]]
> [08:45:57] :   [org.apache.ignite:ignite-core] [08:45:57,769][INFO 
> ][exchange-worker-#62066%atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest0%][GridCachePartitionExchangeManager]
>  Nothing scheduled, skipping rebalancing [top=AffinityTopologyVersion 
> [topVer=278, minorTopVer=1]]
> [08:45:57] :   [org.apache.ignite:ignite-core] [08:45:57,769][INFO 
> ][exchange-worker-#69294%atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest3%][GridCachePartitionExchangeManager]
>  Nothing scheduled, skipping rebalancing [top=AffinityTopologyVersion 
> [topVer=278, minorTopVer=1]]
> [08:45:57] :   [org.apache.ignite:ignite-core] [08:45:57,769][INFO 
> ][exchange-worker-#62069%atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest2%][GridCachePartitionExchangeManager]
>  Nothing scheduled, skipping rebalancing [top=AffinityTopologyVersion 
> [topVer=278, minorTopVer=1]]
> [08:45:57] :   [org.apache.ignite:ignite-core] [08:45:57,791][INFO 
> ][ignite-#61916%sys-atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest0%][GridCacheProcessor]
>  Stopped cache: null
> [08:45:57] :   [org.apache.ignite:ignite-core] [08:45:57,791][INFO 
> ][main][root] >>> Starting test: testPutAsyncStoreEnabled <<<
> [08:45:57] :   [org.apache.ignite:ignite-core] [08:45:57,794][INFO 
> ][exchange-worker-#62066%atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest0%][GridCachePartitionExchangeManager]
>  Nothing scheduled, skipping rebalancing [top=AffinityTopologyVersion 
> [topVer=278, minorTopVer=2]]
> [08:45:57] :   [org.apache.ignite:ignite-core] [08:45:57,812][INFO 
> ][ignite-#69275%sys-atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest3%][GridCacheProcessor]
>  Stopped cache: null
> [08:45:57] :   [org.apache.ignite:ignite-core] [08:45:57,814][INFO 
> ][exchange-worker-#69294%atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest3%][GridCachePartitionExchangeManager]
>  Nothing scheduled, skipping rebalancing [top=AffinityTopologyVersion 
> [topVer=278, minorTopVer=2]]
> [08:45:57] :   [org.apache.ignite:ignite-core] [08:45:57,815][INFO 
> ][ignite-#61990%sys-atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest2%][GridCacheProcessor]
>  Stopped cache: null
> [08:45:57] :   [org.apache.ignite:ignite-core] [08:45:57,818][INFO 
> ][exchange-worker-#62069%atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest2%][GridCachePartitionExchangeManager]
>  Nothing scheduled, skipping rebalancing [top=AffinityTopologyVersion 
> [topVer=278,

[jira] [Created] (IGNITE-1913) Assertion fail cause Grid hangs

2015-11-13 Thread Anton Vinogradov (JIRA)
Anton Vinogradov created IGNITE-1913:


 Summary: Assertion fail cause Grid hangs
 Key: IGNITE-1913
 URL: https://issues.apache.org/jira/browse/IGNITE-1913
 Project: Ignite
  Issue Type: Bug
Reporter: Anton Vinogradov
Assignee: Anton Vinogradov
Priority: Critical


[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,762][INFO 
][async-runner-1][GridDiscoveryManager] Topology snapshot [ver=278, servers=4, 
clients=0, CPUs=8, heap=2.8GB]
[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,763][INFO 
][ignite-#69277%sys-atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest3%][GridDhtPartitionDemander]
  Completed rebalancing [cache=null, 
fromNode=0002a176-16e7-41e3-9b45-cce0a55a5000, topology=AffinityTopologyVersion 
[topVer=278, minorTopVer=0], time=10 ms]
[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,767][INFO 
][ignite-#69279%sys-atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest3%][GridDhtPartitionDemander]
  Completed rebalancing [cache=null, 
fromNode=102f9887-7fbd-4010-a93b-5c239c38d001, topology=AffinityTopologyVersion 
[topVer=278, minorTopVer=0], time=20 ms]
[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,767][INFO 
][ignite-#69280%sys-atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest3%][GridDhtPartitionDemander]
  Completed (final) rebalancing [cache=null, 
fromNode=204c4f10-06ca-4e70-9b67-13baf27f1002, topology=AffinityTopologyVersion 
[topVer=278, minorTopVer=0], time=20 ms]
[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,768][INFO 
][main][root] >>> Stopping test: testPutInsideTransaction in 83897 ms <<<
[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,769][INFO 
][exchange-worker-#62068%atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest1%][GridCachePartitionExchangeManager]
 Nothing scheduled, skipping rebalancing [top=AffinityTopologyVersion 
[topVer=278, minorTopVer=1]]
[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,769][INFO 
][exchange-worker-#62066%atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest0%][GridCachePartitionExchangeManager]
 Nothing scheduled, skipping rebalancing [top=AffinityTopologyVersion 
[topVer=278, minorTopVer=1]]
[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,769][INFO 
][exchange-worker-#69294%atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest3%][GridCachePartitionExchangeManager]
 Nothing scheduled, skipping rebalancing [top=AffinityTopologyVersion 
[topVer=278, minorTopVer=1]]
[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,769][INFO 
][exchange-worker-#62069%atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest2%][GridCachePartitionExchangeManager]
 Nothing scheduled, skipping rebalancing [top=AffinityTopologyVersion 
[topVer=278, minorTopVer=1]]
[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,791][INFO 
][ignite-#61916%sys-atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest0%][GridCacheProcessor]
 Stopped cache: null
[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,791][INFO 
][main][root] >>> Starting test: testPutAsyncStoreEnabled <<<
[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,794][INFO 
][exchange-worker-#62066%atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest0%][GridCachePartitionExchangeManager]
 Nothing scheduled, skipping rebalancing [top=AffinityTopologyVersion 
[topVer=278, minorTopVer=2]]
[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,812][INFO 
][ignite-#69275%sys-atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest3%][GridCacheProcessor]
 Stopped cache: null
[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,814][INFO 
][exchange-worker-#69294%atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest3%][GridCachePartitionExchangeManager]
 Nothing scheduled, skipping rebalancing [top=AffinityTopologyVersion 
[topVer=278, minorTopVer=2]]
[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,815][INFO 
][ignite-#61990%sys-atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest2%][GridCacheProcessor]
 Stopped cache: null
[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,818][INFO 
][exchange-worker-#62069%atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest2%][GridCachePartitionExchangeManager]
 Nothing scheduled, skipping rebalancing [top=AffinityTopologyVersion 
[topVer=278, minorTopVer=2]]
[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,824][INFO 
][exchange-worker-#62066%atomic.IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest0%][GridCacheProcessor]
 Started cache [name=default, mode=PARTITIONED]
[08:45:57] : [org.apache.ignite:ignite-core] [08:45:57,825][INFO 
][ignite-#62003%sys-atomic.IgniteCachePutRetryAtomicPrimaryWriteOr

[jira] [Created] (IGNITE-1912) .Net: Continuous query does not work for value types

2015-11-13 Thread Pavel Tupitsyn (JIRA)
Pavel  Tupitsyn created IGNITE-1912:
---

 Summary: .Net: Continuous query does not work for value types
 Key: IGNITE-1912
 URL: https://issues.apache.org/jira/browse/IGNITE-1912
 Project: Ignite
  Issue Type: Bug
  Components: interop
Affects Versions: 1.1.4
Reporter: Pavel  Tupitsyn
Assignee: Pavel  Tupitsyn
Priority: Blocker
 Fix For: 1.5


OldValue comes as Null from java, but we try to deserialize it as TK, which 
fails for value types.
Need to employ the same approach as in cache with CacheResult.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (IGNITE-1910) .Net: Possible handle leak in ScanQuery

2015-11-13 Thread Pavel Tupitsyn (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1910?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel  Tupitsyn updated IGNITE-1910:

Description: 
* See ScanQuery.cs, "writer.WriteObject(holder);" line. If it fails due to user 
filter being non-serializable, we leak a handle.
* Same thing in Cache.LoadCache
* Another leak is in Java. If the GridCloseableIteratorAdapter fails in ctor, 
it does not close keyValFilter.

  was:
See ScanQuery.cs, "writer.WriteObject(holder);" line.
If it fails due to user filter being non-serializable, we leak a handle.

Another leak is in Java. If the GridCloseableIteratorAdapter fails in ctor, it 
does not close keyValFilter.


> .Net: Possible handle leak in ScanQuery
> ---
>
> Key: IGNITE-1910
> URL: https://issues.apache.org/jira/browse/IGNITE-1910
> Project: Ignite
>  Issue Type: Bug
>  Components: interop
>Affects Versions: 1.1.4
>Reporter: Pavel  Tupitsyn
>Assignee: Vladimir Ozerov
>Priority: Critical
> Fix For: 1.5
>
>
> * See ScanQuery.cs, "writer.WriteObject(holder);" line. If it fails due to 
> user filter being non-serializable, we leak a handle.
> * Same thing in Cache.LoadCache
> * Another leak is in Java. If the GridCloseableIteratorAdapter fails in ctor, 
> it does not close keyValFilter.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1910) .Net: Possible handle leak in ScanQuery

2015-11-13 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1910?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003984#comment-15003984
 ] 

Pavel  Tupitsyn commented on IGNITE-1910:
-

Leak check added to AfterTest.

> .Net: Possible handle leak in ScanQuery
> ---
>
> Key: IGNITE-1910
> URL: https://issues.apache.org/jira/browse/IGNITE-1910
> Project: Ignite
>  Issue Type: Bug
>  Components: interop
>Affects Versions: 1.1.4
>Reporter: Pavel  Tupitsyn
>Assignee: Vladimir Ozerov
>Priority: Critical
> Fix For: 1.5
>
>
> See ScanQuery.cs, "writer.WriteObject(holder);" line.
> If it fails due to user filter being non-serializable, we leak a handle.
> Another leak is in Java. If the GridCloseableIteratorAdapter fails in ctor, 
> it does not close keyValFilter.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1910) .Net: Possible handle leak in ScanQuery

2015-11-13 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1910?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003978#comment-15003978
 ] 

ASF GitHub Bot commented on IGNITE-1910:


GitHub user ptupitsyn opened a pull request:

https://github.com/apache/ignite/pull/232

IGNITE-1910 .Net: Possible handle leak in ScanQuery



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/ptupitsyn/ignite ignite-1910

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/ignite/pull/232.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 #232


commit e167b30ca643ca57cfcc1bab2ff31b35ab2ce120
Author: Pavel Tupitsyn 
Date:   2015-11-13T12:52:05Z

IGNITE-1910 .Net: Possible handle leak in ScanQuery

commit fab5c723dc9d8926ed88f52af9d047de63afa31f
Author: Pavel Tupitsyn 
Date:   2015-11-13T13:26:52Z

Fix predicate close in Java




> .Net: Possible handle leak in ScanQuery
> ---
>
> Key: IGNITE-1910
> URL: https://issues.apache.org/jira/browse/IGNITE-1910
> Project: Ignite
>  Issue Type: Bug
>  Components: interop
>Affects Versions: 1.1.4
>Reporter: Pavel  Tupitsyn
>Assignee: Pavel  Tupitsyn
>Priority: Critical
> Fix For: 1.5
>
>
> See ScanQuery.cs, "writer.WriteObject(holder);" line.
> If it fails due to user filter being non-serializable, we leak a handle.
> Another leak is in Java. If the GridCloseableIteratorAdapter fails in ctor, 
> it does not close keyValFilter.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (IGNITE-1910) .Net: Possible handle leak in ScanQuery

2015-11-13 Thread Pavel Tupitsyn (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1910?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel  Tupitsyn updated IGNITE-1910:

Description: 
See ScanQuery.cs, "writer.WriteObject(holder);" line.
If it fails due to user filter being non-serializable, we leak a handle.

Another leak is in Java. If the GridCloseableIteratorAdapter fails in ctor, it 
does not close keyValFilter.

  was:
See ScanQuery.cs, "writer.WriteObject(holder);" line.
If it fails due to user filter being non-serializable, we leak a handle.


> .Net: Possible handle leak in ScanQuery
> ---
>
> Key: IGNITE-1910
> URL: https://issues.apache.org/jira/browse/IGNITE-1910
> Project: Ignite
>  Issue Type: Bug
>  Components: interop
>Affects Versions: 1.1.4
>Reporter: Pavel  Tupitsyn
>Assignee: Pavel  Tupitsyn
>Priority: Critical
> Fix For: 1.5
>
>
> See ScanQuery.cs, "writer.WriteObject(holder);" line.
> If it fails due to user filter being non-serializable, we leak a handle.
> Another leak is in Java. If the GridCloseableIteratorAdapter fails in ctor, 
> it does not close keyValFilter.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (IGNITE-1910) .Net: Possible handle leak in ScanQuery

2015-11-13 Thread Pavel Tupitsyn (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1910?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel  Tupitsyn updated IGNITE-1910:

Priority: Critical  (was: Major)

> .Net: Possible handle leak in ScanQuery
> ---
>
> Key: IGNITE-1910
> URL: https://issues.apache.org/jira/browse/IGNITE-1910
> Project: Ignite
>  Issue Type: Bug
>  Components: interop
>Affects Versions: 1.1.4
>Reporter: Pavel  Tupitsyn
>Assignee: Pavel  Tupitsyn
>Priority: Critical
> Fix For: 1.5
>
>
> See ScanQuery.cs, "writer.WriteObject(holder);" line.
> If it fails due to user filter being non-serializable, we leak a handle.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (IGNITE-1911) Discovery MessageWorker thread moves node to "zombie" state when fails

2015-11-13 Thread Denis Magda (JIRA)
Denis Magda created IGNITE-1911:
---

 Summary: Discovery MessageWorker thread moves node to "zombie" 
state when fails
 Key: IGNITE-1911
 URL: https://issues.apache.org/jira/browse/IGNITE-1911
 Project: Ignite
  Issue Type: Bug
Affects Versions: ignite-1.4
Reporter: Denis Magda
Assignee: Denis Magda
Priority: Critical
 Fix For: 1.5


If MessageWorker thread fails by some reason (i.e. because of uncaught 
exception) it will move a node to "zombie" state. The node will still accept 
messages through SocketReader but won't process them. 

At some point of time the node will fail because the message queue will be 
overflowed. 

Such a node must be stopped as soon as MessageWorker terminates.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (IGNITE-1910) .Net: Possible handle leak in ScanQuery

2015-11-13 Thread Pavel Tupitsyn (JIRA)
Pavel  Tupitsyn created IGNITE-1910:
---

 Summary: .Net: Possible handle leak in ScanQuery
 Key: IGNITE-1910
 URL: https://issues.apache.org/jira/browse/IGNITE-1910
 Project: Ignite
  Issue Type: Bug
  Components: interop
Affects Versions: 1.1.4
Reporter: Pavel  Tupitsyn
Assignee: Pavel  Tupitsyn
 Fix For: 1.5


See ScanQuery.cs, "writer.WriteObject(holder);" line.
If it fails due to user filter being non-serializable, we leak a handle.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Assigned] (IGNITE-1894) .Net: Delegate support in the API via extension methods

2015-11-13 Thread Pavel Tupitsyn (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1894?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel  Tupitsyn reassigned IGNITE-1894:
---

Assignee: Pavel  Tupitsyn

> .Net: Delegate support in the API via extension methods
> ---
>
> Key: IGNITE-1894
> URL: https://issues.apache.org/jira/browse/IGNITE-1894
> Project: Ignite
>  Issue Type: Improvement
>  Components: interop
>Affects Versions: 1.1.4
>Reporter: Pavel  Tupitsyn
>Assignee: Pavel  Tupitsyn
> Fix For: 1.6
>
>
> In many places we require a single-method interface implementation from the 
> user:
> {code:title=ICompute}
> TRes Call(IComputeFunc clo);
> {code}
> All of these can be extended to accept a delegate:
> {code:title=ICompute}
> TRes Call(Func clo);
> {code}
> We can't replace interfaces with delegates completely (which is desirable), 
> because it will take away serialization control from the user. So the 
> interface approach has to stay as a primary.
> Delegate support can be added via extension methods, which wrap provided 
> delegates into a class that implements corresponding interface.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1896) .Net: Improve query API

2015-11-13 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003931#comment-15003931
 ] 

Pavel  Tupitsyn commented on IGNITE-1896:
-

As you can see, the change is very simple, yet simplifies user code a lot.
And if I was a user, I would do the same via extension methods.

> .Net: Improve query API
> ---
>
> Key: IGNITE-1896
> URL: https://issues.apache.org/jira/browse/IGNITE-1896
> Project: Ignite
>  Issue Type: Improvement
>  Components: interop
>Affects Versions: 1.1.4
>Reporter: Pavel  Tupitsyn
>Assignee: Pavel  Tupitsyn
> Fix For: 1.5
>
>
> Current API is very clumsy.
> Cache is generic, however we require the user to specify query type 
> explicitly.
> There are cases when query type is a string and/or is different from current 
> cache generic type, so the current API has to be kept.
> However, we should provide simple methods with generic inference:
> {code}
> IQueryCursor> ScanQuery(ICacheEntryFilter 
> filter);
> IQueryCursor> SqlQuery(string sql, params 
> object[] args);
> IQueryCursor> SqlQuery(string sql, bool local, 
> params object[] args);
> IQueryCursor> TextQuery(string text);
> IQueryCursor> TextQuery(string text, bool local);
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1896) .Net: Improve query API

2015-11-13 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003926#comment-15003926
 ] 

ASF GitHub Bot commented on IGNITE-1896:


GitHub user ptupitsyn opened a pull request:

https://github.com/apache/ignite/pull/231

IGNITE-1896 .Net: Improve query API



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/ptupitsyn/ignite ignite-1896

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/ignite/pull/231.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 #231


commit 66dc2543804e2639fd4b09da1ddd1cde3f552ffd
Author: Pavel Tupitsyn 
Date:   2015-11-13T12:17:16Z

IGNITE-1896 .Net: Improve query API

commit ed6eba566795ae21b20f31a5b8b127ea01c2e934
Author: Pavel Tupitsyn 
Date:   2015-11-13T12:18:38Z

Arg checks

commit a8040a2bdf73587b65c6413095389845b7f840bb
Author: Pavel Tupitsyn 
Date:   2015-11-13T12:21:51Z

Examples & tests

commit eb150cd13a2488daee6006de86c5545aca8fd600
Author: Pavel Tupitsyn 
Date:   2015-11-13T12:27:07Z

Fix typo

commit 9ed675e076790a3674a0df86de3201f43cd42a8a
Author: Pavel Tupitsyn 
Date:   2015-11-13T12:29:37Z

Cleanup




> .Net: Improve query API
> ---
>
> Key: IGNITE-1896
> URL: https://issues.apache.org/jira/browse/IGNITE-1896
> Project: Ignite
>  Issue Type: Improvement
>  Components: interop
>Affects Versions: 1.1.4
>Reporter: Pavel  Tupitsyn
>Assignee: Pavel  Tupitsyn
> Fix For: 1.5
>
>
> Current API is very clumsy.
> Cache is generic, however we require the user to specify query type 
> explicitly.
> There are cases when query type is a string and/or is different from current 
> cache generic type, so the current API has to be kept.
> However, we should provide simple methods with generic inference:
> {code}
> IQueryCursor> ScanQuery(ICacheEntryFilter 
> filter);
> IQueryCursor> SqlQuery(string sql, params 
> object[] args);
> IQueryCursor> SqlQuery(string sql, bool local, 
> params object[] args);
> IQueryCursor> TextQuery(string text);
> IQueryCursor> TextQuery(string text, bool local);
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (IGNITE-1898) Make it possible to obtain the local Ignite instance statically

2015-11-13 Thread Yakov Zhdanov (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1898?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yakov Zhdanov resolved IGNITE-1898.
---
Resolution: Won't Fix

> Make it possible to obtain the local Ignite instance statically
> ---
>
> Key: IGNITE-1898
> URL: https://issues.apache.org/jira/browse/IGNITE-1898
> Project: Ignite
>  Issue Type: Improvement
>  Components: general
>Reporter: Andrey Kornev
>Priority: Minor
>
> Currently the ways to obtain the local instance of Ignite make use of the 
> grid name or the node UUID with the corresponding {{Ignition.ignite()}} 
> methods. However, during deserialization if would sometime be desirable to be 
> able to obtain the local instance of Ignite (the one on which the given class 
> is being deserialized) without relying on the grid name. Such instance can 
> then be used to look up the node-local resources and any other context. The 
> grid name is not reliable way to serialize/deserialize {{IgniteKernal}} in a 
> situation when a single JVM has multiple Ignite nodes started (as is often 
> the case in unit tests).
> The proposed solution is to
> # implement a custom ThreadFactory to be used with the public, system, 
> utility and so on thread pools. For all newly created thread, the factory 
> will create a thread local and initialize it with the current instance of 
> Ignite.
> # modify the classes that create their own threads, to do the same.
> # provide a public static method on the Ignition class
> {{public static Ignite getLocalNode();}}
> that returns the value of the thread local. It throws 
> {{IllegalStateException}} if the method is invoked from a non-Ignite thread.
> This will guarantee that all threads started by a particular Ignite instance 
> will have the instance reference available in their thread locals.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (IGNITE-1898) Make it possible to obtain the local Ignite instance statically

2015-11-13 Thread Yakov Zhdanov (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1898?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yakov Zhdanov closed IGNITE-1898.
-

> Make it possible to obtain the local Ignite instance statically
> ---
>
> Key: IGNITE-1898
> URL: https://issues.apache.org/jira/browse/IGNITE-1898
> Project: Ignite
>  Issue Type: Improvement
>  Components: general
>Reporter: Andrey Kornev
>Priority: Minor
>
> Currently the ways to obtain the local instance of Ignite make use of the 
> grid name or the node UUID with the corresponding {{Ignition.ignite()}} 
> methods. However, during deserialization if would sometime be desirable to be 
> able to obtain the local instance of Ignite (the one on which the given class 
> is being deserialized) without relying on the grid name. Such instance can 
> then be used to look up the node-local resources and any other context. The 
> grid name is not reliable way to serialize/deserialize {{IgniteKernal}} in a 
> situation when a single JVM has multiple Ignite nodes started (as is often 
> the case in unit tests).
> The proposed solution is to
> # implement a custom ThreadFactory to be used with the public, system, 
> utility and so on thread pools. For all newly created thread, the factory 
> will create a thread local and initialize it with the current instance of 
> Ignite.
> # modify the classes that create their own threads, to do the same.
> # provide a public static method on the Ignition class
> {{public static Ignite getLocalNode();}}
> that returns the value of the thread local. It throws 
> {{IllegalStateException}} if the method is invoked from a non-Ignite thread.
> This will guarantee that all threads started by a particular Ignite instance 
> will have the instance reference available in their thread locals.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1900) Ignite JMX problem with Spring Boot

2015-11-13 Thread Denis Magda (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003919#comment-15003919
 ] 

Denis Magda commented on IGNITE-1900:
-

I've applied your patch on my side and got {{ClassCastException}}. I'm using 
the latest sources from the master branch.

{noformat}
Exception in thread "main" java.lang.ClassCastException: java.util.ArrayList 
cannot be cast to java.util.Set
at 
org.apache.ignite.internal.IgniteKernal.getUserAttributesFormatted(IgniteKernal.java:571)
at org.gridgain.fsb.ServerTest.main(ServerTest.java:39)
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 com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
{noformat}

Code that I executed {{((IgniteKernal)ignite).getUserAttributesFormatted();}}.

Please follow this steps and then re-submit the pull-request:

1) Fix {{ClassCastException}}. It's absolutely correct to return {{Set}} from 
{{getUserAttributesFormatted()}}. Re-implement IgniteKernal's implementation by 
removing usage of {{F.transform}} function. Just create a set and prefill it 
with data.

2) Add tests that will validate that the functions modified by you return what 
is expected from them. You can add the tests into {{GridMBeanSelfTest}}.

3) When everything is fixed resubmit the pull-request and move this ticket to 
"PATCH_AVAILABLE" state. This will trigger our TeamCity to check your patch 
against all the tests we have in Ignite.
Full info on how to contribute using pull-request is located here: 
https://cwiki.apache.org/confluence/display/IGNITE/How+to+Contribute#HowtoContribute-1.CreateGitHubpull-request

BTW, look though our coding guidelines 
(https://cwiki.apache.org/confluence/display/IGNITE/Coding+Guidelines). Now I 
don't see any issues related to the guidelines, just in order to prevent them 
in the future.

> Ignite JMX problem with Spring Boot
> ---
>
> Key: IGNITE-1900
> URL: https://issues.apache.org/jira/browse/IGNITE-1900
> Project: Ignite
>  Issue Type: Bug
>  Components: 1.4
>Affects Versions: ignite-1.4
>Reporter: wmz7year
>
> I use Ignite with Spring Boot.
> When start application,Spring Boot will register JMX info.
> In IgniteMXBean interface,There is two method getUserAttributesFormatted and 
> getLifecycleBeansFormatted return Collection
> But In JMX DefaultMXBeanMappingFactory.makeParameterizedTypeMapping method 
> will get method return type.
> {noformat}
>  final Type rawType = objType.getRawType();
> if (rawType instanceof Class) {
> Class c = (Class) rawType;
> if (c == List.class || c == Set.class || c == SortedSet.class) {
> Type[] actuals = objType.getActualTypeArguments();
> assert(actuals.length == 1);
> if (c == SortedSet.class)
> mustBeComparable(c, actuals[0]);
> return makeArrayOrCollectionMapping(objType, actuals[0], 
> factory);
> } else {
> boolean sortedMap = (c == SortedMap.class);
> if (c == Map.class || sortedMap) {
> Type[] actuals = objType.getActualTypeArguments();
> assert(actuals.length == 2);
> if (sortedMap)
> mustBeComparable(c, actuals[0]);
> return makeTabularMapping(objType, sortedMap,
> actuals[0], actuals[1], factory);
> }
> }
> }
> {noformat}
> The Collection will not match any type for this although IgniteKernal 
> return type is Set or List.
> I think IgniteMXBean interface should change Collection to Set and List



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (IGNITE-1899) Incorrect Ignite (IgniteKernal) instance deserialized when multiple Ignite nodes started in the same JVM

2015-11-13 Thread Yakov Zhdanov (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1899?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yakov Zhdanov resolved IGNITE-1899.
---
Resolution: Won't Fix

> Incorrect Ignite (IgniteKernal) instance deserialized when multiple Ignite 
> nodes started in the same JVM
> 
>
> Key: IGNITE-1899
> URL: https://issues.apache.org/jira/browse/IGNITE-1899
> Project: Ignite
>  Issue Type: Bug
>  Components: general
>Reporter: Andrey Kornev
>
> The current approach to serialization/deserialization of {{IgniteKernal}} is 
> flawed as it relies on the grid name. However, in a situation when a single 
> JVM instance has multiple Ignite instances started (as is often the case in 
> unit tests) this approach doesn't work. Ignite requires that each Ignite 
> instance started within the same JVM be assigned different names. Thus, 
> during deserialization on another node a wrong instance of {{IgniteKernal}} 
> gets looked up.
> Say, the JVM instance has 2 nodes started: node A and node B. Then, when the 
> node A serializes {{IgniteKernal}} it'll write the grid name "A" to the wire. 
> Then, during deserialization of the {{IgniteKernal}} instance on the node B, 
> the name "A" will be read from the wire and used to look up the Ignite 
> instance uisng {{Ignition.ignite("A");}}. Clearly the class (holding a 
> reference to {{IgniteKernal}}) ends up with a wrong instance of Ignite. If 
> the class also retrieves the node-local resources by doing 
> {{Ignition.ignite(deserializedGridName).cluster().nodeLocalMap()}} then it 
> may end up with incorrect data.
> As of Ignite 1.4, {{ClusterGroupAdapter}} class or any other class that 
> serialize the instance of {{IgniteKernal}} suffer from this issue. The fix 
> would be to simply stop serializing the grid name altogether and during 
> deserialization rely on the thread local instead, as per IGNITE-1898.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (IGNITE-1899) Incorrect Ignite (IgniteKernal) instance deserialized when multiple Ignite nodes started in the same JVM

2015-11-13 Thread Yakov Zhdanov (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1899?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yakov Zhdanov closed IGNITE-1899.
-

> Incorrect Ignite (IgniteKernal) instance deserialized when multiple Ignite 
> nodes started in the same JVM
> 
>
> Key: IGNITE-1899
> URL: https://issues.apache.org/jira/browse/IGNITE-1899
> Project: Ignite
>  Issue Type: Bug
>  Components: general
>Reporter: Andrey Kornev
>
> The current approach to serialization/deserialization of {{IgniteKernal}} is 
> flawed as it relies on the grid name. However, in a situation when a single 
> JVM instance has multiple Ignite instances started (as is often the case in 
> unit tests) this approach doesn't work. Ignite requires that each Ignite 
> instance started within the same JVM be assigned different names. Thus, 
> during deserialization on another node a wrong instance of {{IgniteKernal}} 
> gets looked up.
> Say, the JVM instance has 2 nodes started: node A and node B. Then, when the 
> node A serializes {{IgniteKernal}} it'll write the grid name "A" to the wire. 
> Then, during deserialization of the {{IgniteKernal}} instance on the node B, 
> the name "A" will be read from the wire and used to look up the Ignite 
> instance uisng {{Ignition.ignite("A");}}. Clearly the class (holding a 
> reference to {{IgniteKernal}}) ends up with a wrong instance of Ignite. If 
> the class also retrieves the node-local resources by doing 
> {{Ignition.ignite(deserializedGridName).cluster().nodeLocalMap()}} then it 
> may end up with incorrect data.
> As of Ignite 1.4, {{ClusterGroupAdapter}} class or any other class that 
> serialize the instance of {{IgniteKernal}} suffer from this issue. The fix 
> would be to simply stop serializing the grid name altogether and during 
> deserialization rely on the thread local instead, as per IGNITE-1898.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Assigned] (IGNITE-640) Implement IgniteMultimap data structures

2015-11-13 Thread Amir Akhmedov (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-640?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amir Akhmedov reassigned IGNITE-640:


Assignee: Amir Akhmedov

> Implement IgniteMultimap data structures
> 
>
> Key: IGNITE-640
> URL: https://issues.apache.org/jira/browse/IGNITE-640
> Project: Ignite
>  Issue Type: Sub-task
>  Components: data structures
>Reporter: Dmitriy Setrakyan
>Assignee: Amir Akhmedov
>
> We need to add {{IgniteMultimap}} data structure in addition to other data 
> structures provided by Ignite. {{IgniteMultiMap}} should have similar API to 
> {{java.util.Map}} class in JDK, but support the semantics of multiple values 
> per key, similar to [Guava 
> Multimap|http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html].
>  
> However, unlike in Guava, our multi-map should work with Lists, not 
> Collections. Lists should make it possible to support the following methods:
> {code}
> // Gets value at a certain index for a key.
> V get(K, index);
> // Gets all values for a collection of keys at a certain index.
> Map getAll(Collection, index);
> // Gets values for specified indexes for a key.
> Collection get(K, Iterable indexes);
> // Gets all values for a collection of keys at specified indexes.
> Map> getAll(Collection, Iterable indexes);
> // Gets values for specified range of indexes, between min and max.
> Collection get(K, int min, int max);
> // Gets all values for a collection of keys for a specified index range, 
> between min and max.
> Map> getAll(Collection, int min, int max);
> // Gets all values for a specific key.
> Collection get(K);
> // Gets all values for a collection of keys.
> Map> getAll(Collection);
> Collection> get(K, IgniteBiPredicate)
> {code}
> Multimap should also support colocated and non-colocated modes, similar to 
> [IgniteQueue|https://github.com/apache/incubator-ignite/blob/master/modules/core/src/main/java/org/apache/ignite/IgniteQueue.java]
>  and its implementation, 
> [GridAtomicCacheQueueImpl|https://github.com/apache/incubator-ignite/blob/master/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridAtomicCacheQueueImpl.java].
> h2. Design Details
> The most natural way to implement such map, would be to store every value 
> under a separate key in an Ignite cache. For example, let's say that we have 
> a key {{K}} with multiple values: {{V0, V1, V2, ...}}. Then the cache should 
> end up with the following values {{K0, V0}}, {{K1, V1}}, {{K2, V2}}, etc. 
> This means that we need to wrap user key into our own, internal key, which 
> will also have {{index}} field. 
> Also note that we need to collocate all the values for the same key on the 
> same node, which means that we need to define user key K as the affinity key, 
> like so:
> {code}
> class MultiKey {
> @CacheAffinityMapped
> private K key;
> int index;
> }
> {code}
> Look ups of values at specific indexes becomes very simple. Just attach a 
> specific index to a key and do a cache lookup. Look ups for all values for a 
> key should work as following:
> {code}
> MultiKey key;
> V v = null;
> int index = 0;
> List res = new LinkedList<>();
> do {
> v = cache.get(MultiKey(K, index));
> if (v != null)
> res.add(v);
> index++;
> }
> while (v != null);
> return res;
> {code}
> We could also use batching for performance reason. In this case the batch 
> size should be configurable.
> {code}
> int index = 0;
> List res = new LinkedList<>();
> while (true) {
> List batch = new ArrayList<>(batchSize);
> // Populate batch.
> for (; index < batchSize; index++)
> batch.add(new MultiKey(K, index % batchSize);
> Map batchRes = cache.getAll(batch);
> // Potentially need to properly sort values, based on the key order,
> // if the returning map does not do it automatically.
> res.addAll(batchRes.values());
> if (res.size() < batch.size())
> break;
> }
> return res;
> {code}
> h2. Evictions
> Evictions in the {{IgniteMultiMap}} should have 2 levels: maximum number of 
> keys, and maximum number of values for a key. The maximum number of keys 
> should be controlled by Ignite standard eviction policy. The maximum number 
> of values for a key should be controlled by the implementation of the 
> multi-map. Either eviction parameter should be configurable.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (IGNITE-1906) .Net: Ignite configuration without Spring

2015-11-13 Thread Pavel Tupitsyn (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1906?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel  Tupitsyn updated IGNITE-1906:

Description: 
* Spring is alien for .NET developers
* In-code configuration is often preferrable

  was:
* Spring is alien for .NET developers.
* In-code configuration is often preferrable


> .Net: Ignite configuration without Spring
> -
>
> Key: IGNITE-1906
> URL: https://issues.apache.org/jira/browse/IGNITE-1906
> Project: Ignite
>  Issue Type: Task
>  Components: interop
>Affects Versions: 1.1.4
>Reporter: Pavel  Tupitsyn
>Assignee: Pavel  Tupitsyn
> Fix For: 1.5
>
>
> * Spring is alien for .NET developers
> * In-code configuration is often preferrable



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (IGNITE-1906) .Net: Ignite configuration without Spring

2015-11-13 Thread Pavel Tupitsyn (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1906?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel  Tupitsyn updated IGNITE-1906:

Summary: .Net: Ignite configuration without Spring  (was: .Net: Ignite 
configuration without Spring.)

> .Net: Ignite configuration without Spring
> -
>
> Key: IGNITE-1906
> URL: https://issues.apache.org/jira/browse/IGNITE-1906
> Project: Ignite
>  Issue Type: Task
>  Components: interop
>Affects Versions: 1.1.4
>Reporter: Pavel  Tupitsyn
>Assignee: Pavel  Tupitsyn
> Fix For: 1.5
>
>
> * Spring is alien for .NET developers.
> * In-code configuration is often preferrable



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (IGNITE-1908) .Net: Query configuration

2015-11-13 Thread Pavel Tupitsyn (JIRA)
Pavel  Tupitsyn created IGNITE-1908:
---

 Summary: .Net: Query configuration
 Key: IGNITE-1908
 URL: https://issues.apache.org/jira/browse/IGNITE-1908
 Project: Ignite
  Issue Type: Sub-task
  Components: interop
Affects Versions: 1.1.4
Reporter: Pavel  Tupitsyn
 Fix For: 1.5


Configure queries in code.
This includes attribute-based configuration (similar to QuerySqlField in Java).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (IGNITE-1909) .Net: Discovery configuration

2015-11-13 Thread Pavel Tupitsyn (JIRA)
Pavel  Tupitsyn created IGNITE-1909:
---

 Summary: .Net: Discovery configuration
 Key: IGNITE-1909
 URL: https://issues.apache.org/jira/browse/IGNITE-1909
 Project: Ignite
  Issue Type: Sub-task
  Components: interop
Affects Versions: 1.1.4
Reporter: Pavel  Tupitsyn
 Fix For: 1.5


Configure discovery in code



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (IGNITE-1907) .Net: Cache configuration

2015-11-13 Thread Pavel Tupitsyn (JIRA)
Pavel  Tupitsyn created IGNITE-1907:
---

 Summary: .Net: Cache configuration
 Key: IGNITE-1907
 URL: https://issues.apache.org/jira/browse/IGNITE-1907
 Project: Ignite
  Issue Type: Sub-task
  Components: interop
Affects Versions: 1.1.4
Reporter: Pavel  Tupitsyn
 Fix For: 1.5


Configure cache in code



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (IGNITE-1906) .Net: Ignite configuration without Spring.

2015-11-13 Thread Pavel Tupitsyn (JIRA)
Pavel  Tupitsyn created IGNITE-1906:
---

 Summary: .Net: Ignite configuration without Spring.
 Key: IGNITE-1906
 URL: https://issues.apache.org/jira/browse/IGNITE-1906
 Project: Ignite
  Issue Type: Task
  Components: interop
Affects Versions: 1.1.4
Reporter: Pavel  Tupitsyn
Assignee: Pavel  Tupitsyn
 Fix For: 1.5


* Spring is alien for .NET developers.
* In-code configuration is often preferrable



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (IGNITE-1900) Ignite JMX problem with Spring Boot

2015-11-13 Thread Yakov Zhdanov (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yakov Zhdanov updated IGNITE-1900:
--
Description: 
I use Ignite with Spring Boot.
When start application,Spring Boot will register JMX info.

In IgniteMXBean interface,There is two method getUserAttributesFormatted and 
getLifecycleBeansFormatted return Collection
But In JMX DefaultMXBeanMappingFactory.makeParameterizedTypeMapping method will 
get method return type.

{noformat}
 final Type rawType = objType.getRawType();
if (rawType instanceof Class) {
Class c = (Class) rawType;
if (c == List.class || c == Set.class || c == SortedSet.class) {
Type[] actuals = objType.getActualTypeArguments();
assert(actuals.length == 1);
if (c == SortedSet.class)
mustBeComparable(c, actuals[0]);
return makeArrayOrCollectionMapping(objType, actuals[0], 
factory);
} else {
boolean sortedMap = (c == SortedMap.class);
if (c == Map.class || sortedMap) {
Type[] actuals = objType.getActualTypeArguments();
assert(actuals.length == 2);
if (sortedMap)
mustBeComparable(c, actuals[0]);
return makeTabularMapping(objType, sortedMap,
actuals[0], actuals[1], factory);
}
}
}

{noformat}

The Collection will not match any type for this although IgniteKernal 
return type is Set or List.


I think IgniteMXBean interface should change Collection to Set and List

  was:
I use Ignite with Spring Boot.
When start application,Spring Boot will register JMX info.

In IgniteMXBean interface,There is two method getUserAttributesFormatted and 
getLifecycleBeansFormatted return Collection
But In JMX DefaultMXBeanMappingFactory.makeParameterizedTypeMapping method will 
get method return type.

 final Type rawType = objType.getRawType();
if (rawType instanceof Class) {
Class c = (Class) rawType;
if (c == List.class || c == Set.class || c == SortedSet.class) {
Type[] actuals = objType.getActualTypeArguments();
assert(actuals.length == 1);
if (c == SortedSet.class)
mustBeComparable(c, actuals[0]);
return makeArrayOrCollectionMapping(objType, actuals[0], 
factory);
} else {
boolean sortedMap = (c == SortedMap.class);
if (c == Map.class || sortedMap) {
Type[] actuals = objType.getActualTypeArguments();
assert(actuals.length == 2);
if (sortedMap)
mustBeComparable(c, actuals[0]);
return makeTabularMapping(objType, sortedMap,
actuals[0], actuals[1], factory);
}
}
}

The Collection will not match any type for this although IgniteKernal 
return type is Set or List.


I think IgniteMXBean interface should change Collection to Set and List


> Ignite JMX problem with Spring Boot
> ---
>
> Key: IGNITE-1900
> URL: https://issues.apache.org/jira/browse/IGNITE-1900
> Project: Ignite
>  Issue Type: Bug
>  Components: 1.4
>Affects Versions: ignite-1.4
>Reporter: wmz7year
>
> I use Ignite with Spring Boot.
> When start application,Spring Boot will register JMX info.
> In IgniteMXBean interface,There is two method getUserAttributesFormatted and 
> getLifecycleBeansFormatted return Collection
> But In JMX DefaultMXBeanMappingFactory.makeParameterizedTypeMapping method 
> will get method return type.
> {noformat}
>  final Type rawType = objType.getRawType();
> if (rawType instanceof Class) {
> Class c = (Class) rawType;
> if (c == List.class || c == Set.class || c == SortedSet.class) {
> Type[] actuals = objType.getActualTypeArguments();
> assert(actuals.length == 1);
> if (c == SortedSet.class)
> mustBeComparable(c, actuals[0]);
> return makeArrayOrCollectionMapping(objType, actuals[0], 
> factory);
> } else {
> boolean sortedMap = (c == SortedMap.class);
> if (c == Map.class || sortedMap) {
> Type[] actuals = objType.getActualTypeArguments();
> assert(actuals.length == 2);
> if (sortedMap)
> mustBeComparable(c, actuals[0]);
> return makeTabularMapping(objType, sortedMap,
> actuals[0], actuals[1], factory);
> }
> }
> }
> {noformat}
> The Co

[jira] [Commented] (IGNITE-1878) Implement support to package manager for vendor libs

2015-11-13 Thread Dmitriyff (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003888#comment-15003888
 ] 

Dmitriyff commented on IGNITE-1878:
---

Added jspm config with vendords js libs

> Implement support to package manager for vendor libs
> 
>
> Key: IGNITE-1878
> URL: https://issues.apache.org/jira/browse/IGNITE-1878
> Project: Ignite
>  Issue Type: Sub-task
>  Components: wizards
>Affects Versions: 1.5
>Reporter: Dmitriyff
>Assignee: Dmitriyff
> Fix For: 1.6
>
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (IGNITE-1901) CPP: Adopt new marshalling flags.

2015-11-13 Thread Igor Sapego (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1901?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Igor Sapego updated IGNITE-1901:

Assignee: Vladimir Ozerov  (was: Igor Sapego)

> CPP: Adopt new marshalling flags.
> -
>
> Key: IGNITE-1901
> URL: https://issues.apache.org/jira/browse/IGNITE-1901
> Project: Ignite
>  Issue Type: Sub-task
>  Components: interop
>Affects Versions: ignite-1.4
>Reporter: Vladimir Ozerov
>Assignee: Vladimir Ozerov
>Priority: Critical
> Fix For: 1.5
>
>
> As a part of IGNITE-1816 I had to revisit our flags. Here are how they look 
> now:
> {code}
> /** Flag: user type. */
> public static final short FLAG_USR_TYP = 0x0001;
> /** Flag: schema exists. */
> public static final short FLAG_HAS_SCHEMA = 0x0002;
> /** Flag indicating that object has raw data. */
> public static final short FLAG_HAS_RAW = 0x0004;
> /** Flag: offsets take 1 byte. */
> public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;
> /** Flag: offsets take 2 bytes. */
> public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;
> /** Flag: compact footer, no field IDs. */
> public static final short FLAG_COMPACT_FOOTER = 0x0020;
> {code}
> The following changes must be made to CPP:
> 1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ 
> SCHEMA flag is set to true. This is the inversed version of what previously 
> was "RAW_ONLY".
> 2) When raw data exists, HAS_RAW flag is set to true. This flag should be 
> used to determine location of raw data. 
> *DO NOT USE % for this anymore!*
> 3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
> this flag set to 1, an exception must be thrown.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (IGNITE-1905) High contention for CacheLockImpl causes AssertionErrors

2015-11-13 Thread Denis Magda (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Denis Magda updated IGNITE-1905:

Attachment: ServerTest.java
ClientTest.java

> High contention for CacheLockImpl causes AssertionErrors
> 
>
> Key: IGNITE-1905
> URL: https://issues.apache.org/jira/browse/IGNITE-1905
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: ignite-1.4
> Environment: Windows 7
>Reporter: Denis Magda
>Priority: Critical
> Fix For: 1.5
>
> Attachments: ClientTest.java, ServerTest.java
>
>
> When multiple threads, running on the same client node, compete for 
> CacheLockImpl this leads to AssertionErrors.
> Pseudo-code snippet, that is called from multiple threads and causes the 
> assertions, looks like this:
> {noformat}
> boolean locked = lock.tryLock(100, TimeUnit.MILLISECONDS);
> if (locked)
> lock.unlock();
> {noformat}
> Initially the issue was detected on ignite-1.4.
> In server's node logs the following assertion appears
> {noformat}
> java.lang.AssertionError
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture.addOwned(GridDhtLockFuture.java:958)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture.map(GridDhtLockFuture.java:918)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture.onOwnerChanged(GridDhtLockFuture.java:663)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheMvccManager$2.onOwnerChanged(GridCacheMvccManager.java:155)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.GridDistributedCacheEntry.checkOwnerChanged(GridDistributedCacheEntry.java:810)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.GridDistributedCacheEntry.readyLock(GridDistributedCacheEntry.java:516)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture.readyLocks(GridDhtLockFuture.java:576)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture.map(GridDhtLockFuture.java:764)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.lockAllAsync(GridDhtTransactionalCacheAdapter.java:973)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.processNearLockRequest(GridDhtTransactionalCacheAdapter.java:557)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.access$000(GridDhtTransactionalCacheAdapter.java:88)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter$2.apply(GridDhtTransactionalCacheAdapter.java:132)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter$2.apply(GridDhtTransactionalCacheAdapter.java:130)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:580)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:280)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:198)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$000(GridCacheIoManager.java:77)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:160)
>   at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:811)
>   at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$1500(GridIoManager.java:106)
>   at 
> org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:774)
>   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)
> {noformat}
>   
> In addition from time to time a client node also outputs a different kind of 
> assertion:
> {noformat}
> Exception in thread "ignite-#4%sys-null%" java.lang.AssertionError
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheExplicitLockSpan.markOwned(GridCacheExplicitLockSpan.java:196)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheMvccManager.markExplicitOwner(GridCacheMvccManager.java:862)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedLockFuture$MiniFuture.onResult(GridDhtColocatedLockFuture.java:1412)
>   at 
> org.a

[jira] [Created] (IGNITE-1905) High contention for CacheLockImpl causes AssertionErrors

2015-11-13 Thread Denis Magda (JIRA)
Denis Magda created IGNITE-1905:
---

 Summary: High contention for CacheLockImpl causes AssertionErrors
 Key: IGNITE-1905
 URL: https://issues.apache.org/jira/browse/IGNITE-1905
 Project: Ignite
  Issue Type: Bug
  Components: cache
Affects Versions: ignite-1.4
 Environment: Windows 7
Reporter: Denis Magda
Priority: Critical
 Fix For: 1.5


When multiple threads, running on the same client node, compete for 
CacheLockImpl this leads to AssertionErrors.

Pseudo-code snippet, that is called from multiple threads and causes the 
assertions, looks like this:

{noformat}
boolean locked = lock.tryLock(100, TimeUnit.MILLISECONDS);
if (locked)
lock.unlock();
{noformat}

Initially the issue was detected on ignite-1.4.
In server's node logs the following assertion appears

{noformat}
java.lang.AssertionError
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture.addOwned(GridDhtLockFuture.java:958)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture.map(GridDhtLockFuture.java:918)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture.onOwnerChanged(GridDhtLockFuture.java:663)
at 
org.apache.ignite.internal.processors.cache.GridCacheMvccManager$2.onOwnerChanged(GridCacheMvccManager.java:155)
at 
org.apache.ignite.internal.processors.cache.distributed.GridDistributedCacheEntry.checkOwnerChanged(GridDistributedCacheEntry.java:810)
at 
org.apache.ignite.internal.processors.cache.distributed.GridDistributedCacheEntry.readyLock(GridDistributedCacheEntry.java:516)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture.readyLocks(GridDhtLockFuture.java:576)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture.map(GridDhtLockFuture.java:764)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.lockAllAsync(GridDhtTransactionalCacheAdapter.java:973)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.processNearLockRequest(GridDhtTransactionalCacheAdapter.java:557)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.access$000(GridDhtTransactionalCacheAdapter.java:88)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter$2.apply(GridDhtTransactionalCacheAdapter.java:132)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter$2.apply(GridDhtTransactionalCacheAdapter.java:130)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:580)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:280)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:198)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$000(GridCacheIoManager.java:77)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:160)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:811)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$1500(GridIoManager.java:106)
at 
org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:774)
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)
{noformat}
  
In addition from time to time a client node also outputs a different kind of 
assertion:

{noformat}
Exception in thread "ignite-#4%sys-null%" java.lang.AssertionError
at 
org.apache.ignite.internal.processors.cache.GridCacheExplicitLockSpan.markOwned(GridCacheExplicitLockSpan.java:196)
at 
org.apache.ignite.internal.processors.cache.GridCacheMvccManager.markExplicitOwner(GridCacheMvccManager.java:862)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedLockFuture$MiniFuture.onResult(GridDhtColocatedLockFuture.java:1412)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedLockFuture.onResult(GridDhtColocatedLockFuture.java:437)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedCache.processLockResponse(GridDhtColocatedCache.java:888)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColoc

[jira] [Assigned] (IGNITE-1227) Need to implement Ignite-based Spring transaction manager

2015-11-13 Thread Amir Akhmedov (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1227?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amir Akhmedov reassigned IGNITE-1227:
-

Assignee: Valentin Kulichenko  (was: Amir Akhmedov)

> Need to implement Ignite-based Spring transaction manager
> -
>
> Key: IGNITE-1227
> URL: https://issues.apache.org/jira/browse/IGNITE-1227
> Project: Ignite
>  Issue Type: Improvement
>  Components: cache
>Affects Versions: 1.1.4
>Reporter: Valentin Kulichenko
>Assignee: Valentin Kulichenko
>  Labels: newbie
> Attachments: IGNITE-1227.patch
>
>
> This will allow to use Spring transaction interceptor for wrapping cache 
> operations into Ignite transaction.
> Essentially, we need to implement Spring's {{PlatformTransactionManager}} 
> interface using {{IgniteTransactions}} API.
> Corresponding user list thread: 
> http://apache-ignite-users.70518.x6.nabble.com/Transactions-td885.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (IGNITE-1904) Need to add two new dependencies in pom-file to cover special cases

2015-11-13 Thread Pavel Konstantinov (JIRA)
Pavel Konstantinov created IGNITE-1904:
--

 Summary: Need to add two new dependencies in pom-file to cover 
special cases
 Key: IGNITE-1904
 URL: https://issues.apache.org/jira/browse/IGNITE-1904
 Project: Ignite
  Issue Type: Sub-task
Reporter: Pavel Konstantinov
Assignee: Vasiliy Sisko


If user added Generic JDBC and Secondary file system in cluster configuration, 
then the generated java-code contains to RED imports
{code}
import com.mchange.v2.c3p0.jboss.C3P0PooledDataSource;
import org.apache.ignite.hadoop.fs.IgniteHadoopIgfsSecondaryFileSystem;
{code}

We need to add that dependencies to the pom-file.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (IGNITE-1904) Need to add two new dependencies in pom-file to cover special cases

2015-11-13 Thread Pavel Konstantinov (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Konstantinov updated IGNITE-1904:
---
Description: 
If user added Generic JDBC and Secondary file system in cluster configuration, 
then the generated java-code contains two RED imports
{code}
import com.mchange.v2.c3p0.jboss.C3P0PooledDataSource;
import org.apache.ignite.hadoop.fs.IgniteHadoopIgfsSecondaryFileSystem;
{code}

We need to add that dependencies to the pom-file.

  was:
If user added Generic JDBC and Secondary file system in cluster configuration, 
then the generated java-code contains to RED imports
{code}
import com.mchange.v2.c3p0.jboss.C3P0PooledDataSource;
import org.apache.ignite.hadoop.fs.IgniteHadoopIgfsSecondaryFileSystem;
{code}

We need to add that dependencies to the pom-file.


> Need to add two new dependencies in pom-file to cover special cases
> ---
>
> Key: IGNITE-1904
> URL: https://issues.apache.org/jira/browse/IGNITE-1904
> Project: Ignite
>  Issue Type: Sub-task
>  Components: wizards
>Reporter: Pavel Konstantinov
>Assignee: Vasiliy Sisko
> Fix For: 1.5
>
>
> If user added Generic JDBC and Secondary file system in cluster 
> configuration, then the generated java-code contains two RED imports
> {code}
> import com.mchange.v2.c3p0.jboss.C3P0PooledDataSource;
> import org.apache.ignite.hadoop.fs.IgniteHadoopIgfsSecondaryFileSystem;
> {code}
> We need to add that dependencies to the pom-file.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (IGNITE-1877) Add ClassLoaderCodec for OSGI support

2015-11-13 Thread Romain Gilles (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1877?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Romain Gilles updated IGNITE-1877:
--
Assignee: Raúl Kripalani  (was: Romain Gilles)

> Add ClassLoaderCodec for OSGI support
> -
>
> Key: IGNITE-1877
> URL: https://issues.apache.org/jira/browse/IGNITE-1877
> Project: Ignite
>  Issue Type: Sub-task
>  Components: general
>Reporter: Dmitriy Setrakyan
>Assignee: Raúl Kripalani
> Fix For: 1.6
>
>
> The design is described here: 
> https://cwiki.apache.org/confluence/display/IGNITE/OSGI+Compatibility



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1901) CPP: Adopt new marshalling flags.

2015-11-13 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003839#comment-15003839
 ] 

ASF GitHub Bot commented on IGNITE-1901:


GitHub user isapego opened a pull request:

https://github.com/apache/ignite/pull/230

IGNITE-1901: Adopted new marshalling flags.



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/isapego/ignite ignite-1901

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/ignite/pull/230.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 #230


commit 8f868dd482cf571d215f8b7c91a53ee3c451d038
Author: isapego 
Date:   2015-11-13T10:37:09Z

IGNITE-1901: New marshalling flags adopted.




> CPP: Adopt new marshalling flags.
> -
>
> Key: IGNITE-1901
> URL: https://issues.apache.org/jira/browse/IGNITE-1901
> Project: Ignite
>  Issue Type: Sub-task
>  Components: interop
>Affects Versions: ignite-1.4
>Reporter: Vladimir Ozerov
>Assignee: Igor Sapego
>Priority: Critical
> Fix For: 1.5
>
>
> As a part of IGNITE-1816 I had to revisit our flags. Here are how they look 
> now:
> {code}
> /** Flag: user type. */
> public static final short FLAG_USR_TYP = 0x0001;
> /** Flag: schema exists. */
> public static final short FLAG_HAS_SCHEMA = 0x0002;
> /** Flag indicating that object has raw data. */
> public static final short FLAG_HAS_RAW = 0x0004;
> /** Flag: offsets take 1 byte. */
> public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;
> /** Flag: offsets take 2 bytes. */
> public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;
> /** Flag: compact footer, no field IDs. */
> public static final short FLAG_COMPACT_FOOTER = 0x0020;
> {code}
> The following changes must be made to CPP:
> 1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ 
> SCHEMA flag is set to true. This is the inversed version of what previously 
> was "RAW_ONLY".
> 2) When raw data exists, HAS_RAW flag is set to true. This flag should be 
> used to determine location of raw data. 
> *DO NOT USE % for this anymore!*
> 3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
> this flag set to 1, an exception must be thrown.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1837) Rebalancing on a big cluster (64 nodes and more)

2015-11-13 Thread Pavel Konstantinov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1837?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003820#comment-15003820
 ] 

Pavel Konstantinov commented on IGNITE-1837:


>From my side I can add that I'm facing with slow rebalancing when cache type 
>metadata contains many indexes (30-40). In this case rebalancing the cache 
>with 1 backupd and 40 millions of keys executes more the 10 minutes when the 
>second node is starting.

> Rebalancing on a big cluster (64 nodes and more)
> 
>
> Key: IGNITE-1837
> URL: https://issues.apache.org/jira/browse/IGNITE-1837
> Project: Ignite
>  Issue Type: Bug
>  Components: general
>Affects Versions: ignite-1.4
>Reporter: Denis Magda
>Assignee: Alexey Goncharuk
> Fix For: 1.5
>
>
> It seems that Ignite has different rebalancing related issues that appear 
> when a big cluster is started.
> Under the big cluster I mean:
> - cluster of 64 server nodes;
> - cluster of 64 server and 64 client nodes.
> The issues can be divided on three main use cases.
> 1) Slow rebalancing on start.
> - If to set partitions number for some cache to value bigger than default one 
> (to 3200 or to 6400, etc.) then rebalancing of such caches may take several 
> minutes. The caches are empty at that time. In addition, as a part of this 
> issue let's document that the number of partitions can't exceed some value.
> - exchange message on NODE_JOINED event that times out for a long time. 
> Discussed there: 
> http://apache-ignite-users.70518.x6.nabble.com/Help-with-tuning-for-larger-clusters-td1692.html#a1813
> 2) Slow rebalancing on client nodes shutdown.
> If to stop a significant number of client nodes at the same time then again 
> by some reason the rebalancing will take serveral minutes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (IGNITE-1093) Rebalancing with default parameters is very slow

2015-11-13 Thread Pavel Konstantinov (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1093?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Konstantinov updated IGNITE-1093:
---
Assignee: Sergey Kozlov  (was: Pavel Konstantinov)

> Rebalancing with default parameters is very slow
> 
>
> Key: IGNITE-1093
> URL: https://issues.apache.org/jira/browse/IGNITE-1093
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: sprint-7
>Reporter: Pavel Konstantinov
>Assignee: Sergey Kozlov
>Priority: Critical
> Fix For: 1.5
>
> Attachments: Plot_ThroughputLatencyProbe_01.png, rebalancing.zip
>
>
> # Start one node with partitioned cache with one backup.
> # Load into the cache 40billions of keys using DataStreamer
> # Start second node on the same host



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (IGNITE-1890) ignitevisorcmd: description for "-dl" key for "log" command should be updated

2015-11-13 Thread Vasiliy Sisko (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1890?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vasiliy Sisko resolved IGNITE-1890.
---
Resolution: Fixed
  Assignee: Pavel Konstantinov

> ignitevisorcmd: description for "-dl" key for "log" command should be updated
> -
>
> Key: IGNITE-1890
> URL: https://issues.apache.org/jira/browse/IGNITE-1890
> Project: Ignite
>  Issue Type: Bug
>  Components: general
>Affects Versions: 1.5
>Reporter: Vasilisa  Sidorova
>Assignee: Pavel Konstantinov
>Priority: Trivial
> Fix For: 1.6
>
>
> -
> DESCRIPTION
> -
> Description for "-dl" key for "log" command is obsoleted
> -
> STEPS FOR REPRODUCE
> -
> # Run ignitevisorcmd from IGNITE_HOME/bin
> # Type "help log"
> -
> ACTUAL RESULT
> -
> The description of "-dl" is:
> {noformat}
> "-dl
> Disables collecting of job and task fail events, licence violation 
> events, cache rebalance events from remote nodes."
> {noformat}
> -
> EXPECTED RESULT
> -
> The description of "-dl" is:
> {noformat}
> "-dl
> Disables collecting of job and task fail events, cache rebalance 
> events from remote nodes."
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1890) ignitevisorcmd: description for "-dl" key for "log" command should be updated

2015-11-13 Thread Vasiliy Sisko (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003781#comment-15003781
 ] 

Vasiliy Sisko commented on IGNITE-1890:
---

Fixed help.

> ignitevisorcmd: description for "-dl" key for "log" command should be updated
> -
>
> Key: IGNITE-1890
> URL: https://issues.apache.org/jira/browse/IGNITE-1890
> Project: Ignite
>  Issue Type: Bug
>  Components: general
>Affects Versions: 1.5
>Reporter: Vasilisa  Sidorova
>Priority: Trivial
> Fix For: 1.6
>
>
> -
> DESCRIPTION
> -
> Description for "-dl" key for "log" command is obsoleted
> -
> STEPS FOR REPRODUCE
> -
> # Run ignitevisorcmd from IGNITE_HOME/bin
> # Type "help log"
> -
> ACTUAL RESULT
> -
> The description of "-dl" is:
> {noformat}
> "-dl
> Disables collecting of job and task fail events, licence violation 
> events, cache rebalance events from remote nodes."
> {noformat}
> -
> EXPECTED RESULT
> -
> The description of "-dl" is:
> {noformat}
> "-dl
> Disables collecting of job and task fail events, cache rebalance 
> events from remote nodes."
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1902) NET: Adopt new marshalling flags.

2015-11-13 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1902?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003777#comment-15003777
 ] 

ASF GitHub Bot commented on IGNITE-1902:


GitHub user ptupitsyn opened a pull request:

https://github.com/apache/ignite/pull/229

IGNITE-1902 NET: Adopt new marshalling flags.



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/ptupitsyn/ignite ignite-1902

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/ignite/pull/229.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 #229


commit 351d64503b8dda4d10b1f13835c18ce134267d99
Author: Pavel Tupitsyn 
Date:   2015-11-13T09:12:45Z

wip header

commit 0ff80f97708f5394945489417505e432ed33766f
Author: Pavel Tupitsyn 
Date:   2015-11-13T09:17:42Z

wip header

commit 1e36575d7dd870b80017ad3cb349ba9468bb1854
Author: Pavel Tupitsyn 
Date:   2015-11-13T09:20:41Z

wip

commit 8b00aabddf8b19634423851de8e67c8f91e07adf
Author: Pavel Tupitsyn 
Date:   2015-11-13T09:22:02Z

Fix build

commit b0bdbd93f2407ffb6fefcd7e8802b5d530e2d871
Author: Pavel Tupitsyn 
Date:   2015-11-13T09:33:10Z

wip

commit 9134e1bc671a70b7fb1aa67bdfc75082ae8a21ec
Author: Pavel Tupitsyn 
Date:   2015-11-13T09:36:47Z

Fix flags calc




> NET: Adopt new marshalling flags.
> -
>
> Key: IGNITE-1902
> URL: https://issues.apache.org/jira/browse/IGNITE-1902
> Project: Ignite
>  Issue Type: Sub-task
>  Components: interop
>Affects Versions: ignite-1.4
>Reporter: Vladimir Ozerov
>Assignee: Pavel  Tupitsyn
>Priority: Critical
> Fix For: 1.5
>
>
> As a part of IGNITE-1816 I had to revisit our flags. Here are how they look 
> now:
> {code}
> /** Flag: user type. */
> public static final short FLAG_USR_TYP = 0x0001;
> /** Flag: schema exists. */
> public static final short FLAG_HAS_SCHEMA = 0x0002;
> /** Flag indicating that object has raw data. */
> public static final short FLAG_HAS_RAW = 0x0004;
> /** Flag: offsets take 1 byte. */
> public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;
> /** Flag: offsets take 2 bytes. */
> public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;
> /** Flag: compact footer, no field IDs. */
> public static final short FLAG_COMPACT_FOOTER = 0x0020;
> {code}
> The following changes must be made to NET:
> 1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ 
> SCHEMA flag is set to true. This is the inversed version of what previously 
> was "RAW_ONLY".
> 2) When raw data exists, HAS_RAW flag is set to true. This flag should be 
> used to determine location of raw data. 
> *DO NOT USE % for this anymore!*
> 3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
> this flag set to 1, an exception must be thrown.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1093) Rebalancing with default parameters is very slow

2015-11-13 Thread Pavel Konstantinov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003774#comment-15003774
 ] 

Pavel Konstantinov commented on IGNITE-1093:


For my test case I don't see any visual performance improvement.
In my test case the main problem  is cache indexing.
When I'm turning off the indexing then preloading finished in 100x faster.
I think we may trust Anton's benchmarks results and close this ticket.

> Rebalancing with default parameters is very slow
> 
>
> Key: IGNITE-1093
> URL: https://issues.apache.org/jira/browse/IGNITE-1093
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: sprint-7
>Reporter: Pavel Konstantinov
>Assignee: Pavel Konstantinov
>Priority: Critical
> Fix For: 1.5
>
> Attachments: Plot_ThroughputLatencyProbe_01.png, rebalancing.zip
>
>
> # Start one node with partitioned cache with one backup.
> # Load into the cache 40billions of keys using DataStreamer
> # Start second node on the same host



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Assigned] (IGNITE-1901) CPP: Adopt new marshalling flags.

2015-11-13 Thread Igor Sapego (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1901?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Igor Sapego reassigned IGNITE-1901:
---

Assignee: Igor Sapego

> CPP: Adopt new marshalling flags.
> -
>
> Key: IGNITE-1901
> URL: https://issues.apache.org/jira/browse/IGNITE-1901
> Project: Ignite
>  Issue Type: Sub-task
>  Components: interop
>Affects Versions: ignite-1.4
>Reporter: Vladimir Ozerov
>Assignee: Igor Sapego
>Priority: Critical
> Fix For: 1.5
>
>
> As a part of IGNITE-1816 I had to revisit our flags. Here are how they look 
> now:
> {code}
> /** Flag: user type. */
> public static final short FLAG_USR_TYP = 0x0001;
> /** Flag: schema exists. */
> public static final short FLAG_HAS_SCHEMA = 0x0002;
> /** Flag indicating that object has raw data. */
> public static final short FLAG_HAS_RAW = 0x0004;
> /** Flag: offsets take 1 byte. */
> public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;
> /** Flag: offsets take 2 bytes. */
> public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;
> /** Flag: compact footer, no field IDs. */
> public static final short FLAG_COMPACT_FOOTER = 0x0020;
> {code}
> The following changes must be made to CPP:
> 1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ 
> SCHEMA flag is set to true. This is the inversed version of what previously 
> was "RAW_ONLY".
> 2) When raw data exists, HAS_RAW flag is set to true. This flag should be 
> used to determine location of raw data. 
> *DO NOT USE % for this anymore!*
> 3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
> this flag set to 1, an exception must be thrown.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Reopened] (IGNITE-1870) Add aggregation function for Y axes values in TIME_LINE mode

2015-11-13 Thread Pavel Konstantinov (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1870?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Konstantinov reopened IGNITE-1870:

  Assignee: Alexey Kuznetsov  (was: Pavel Konstantinov)

> Add aggregation function for Y axes values in TIME_LINE mode
> 
>
> Key: IGNITE-1870
> URL: https://issues.apache.org/jira/browse/IGNITE-1870
> Project: Ignite
>  Issue Type: Sub-task
>  Components: wizards
>Affects Versions: 1.5
>Reporter: Alexey Kuznetsov
>Assignee: Alexey Kuznetsov
> Fix For: 1.5
>
>
> Add support for: First, Last, Min, Max, Avg, Sum, Count



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (IGNITE-1225) HadoopCommandLineTest testHadoopCommandLine and testHiveCommandLine always fails on public TC

2015-11-13 Thread Artem Shutak (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Artem Shutak closed IGNITE-1225.


> HadoopCommandLineTest testHadoopCommandLine and testHiveCommandLine always 
> fails on public TC
> -
>
> Key: IGNITE-1225
> URL: https://issues.apache.org/jira/browse/IGNITE-1225
> Project: Ignite
>  Issue Type: Test
>Reporter: Artem Shutak
>Assignee: Artem Shutak
>Priority: Blocker
> Fix For: 1.5
>
>
> HadoopCommandLineTest testHadoopCommandLine and testHiveCommandLine always 
> fails on public TC.
> See
> HadoopCommandLineTest.testHadoopCommandLine   
> HadoopCommandLineTest.testHiveCommandLine 
> Need to investigate.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1878) Implement support to package manager for vendor libs

2015-11-13 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003751#comment-15003751
 ] 

ASF GitHub Bot commented on IGNITE-1878:


GitHub user Dmitriyff opened a pull request:

https://github.com/apache/ignite/pull/228

IGNITE-1878 added jspm as vendor libs packet manager



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/Dmitriyff/ignite ignite-1878

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/ignite/pull/228.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 #228


commit fef16a7d2e91e89a84e07cbdadf8baa890861471
Author: Dmitriyff 
Date:   2015-11-13T09:16:40Z

IGNITE-1878 added jspm as vendor libs packet manager




> Implement support to package manager for vendor libs
> 
>
> Key: IGNITE-1878
> URL: https://issues.apache.org/jira/browse/IGNITE-1878
> Project: Ignite
>  Issue Type: Sub-task
>  Components: wizards
>Affects Versions: 1.5
>Reporter: Dmitriyff
>Assignee: Dmitriyff
> Fix For: 1.6
>
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1870) Add aggregation function for Y axes values in TIME_LINE mode

2015-11-13 Thread Pavel Konstantinov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003752#comment-15003752
 ] 

Pavel Konstantinov commented on IGNITE-1870:


1. change Y-axis label when function was changed - add function name
2. use query "select random() from car" (start agent in test drive slq mode)
set AVG as function and manually Execute several times - in my case the second 
and next executions returns 0 for aggregation
3. after playing with p.2 change function to LAST - no data available, chart 
does not repaint

> Add aggregation function for Y axes values in TIME_LINE mode
> 
>
> Key: IGNITE-1870
> URL: https://issues.apache.org/jira/browse/IGNITE-1870
> Project: Ignite
>  Issue Type: Sub-task
>  Components: wizards
>Affects Versions: 1.5
>Reporter: Alexey Kuznetsov
>Assignee: Pavel Konstantinov
> Fix For: 1.5
>
>
> Add support for: First, Last, Min, Max, Avg, Sum, Count



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (IGNITE-1903) CacheStore implementation is serialised to grid clients whether they require it or not

2015-11-13 Thread Michael Griggs (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Griggs updated IGNITE-1903:
---
Description: 
See User discussion thread:  
http://apache-ignite-users.70518.x6.nabble.com/CacheStore-being-serialized-to-client-td1931.html

Brief summary:  When a grid client joins the grid (clientMode=true) it receives 
a message from the server node(s) on the grid that contains the serialized 
CacheStore implementation object.  If the client does not have this class on 
its CLASSPATH (and there is no reason it should, as it is a client) then the 
de-serialization of this message will fail, causing this exception:

{{SEVERE: Failed to unmarshal discovery data for component: 1 
class org.apache.ignite.IgniteCheckedException: Failed to find class with given 
class loader for unmarshalling (make sure same versions of all classes are 
available on all nodes or enable peer-class-loading): 
sun.misc.Launcher$AppClassLoader@14dad5dc 
at 
org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:104)
 
at 
org.apache.ignite.marshaller.AbstractMarshaller.unmarshal(AbstractMarshaller.java:67)
 
at 
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:1529)
 
at 
org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processNodeAddFinishedMessage(ClientImpl.java:1317)
 
at 
org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processDiscoveryMessage(ClientImpl.java:1229)
 
at 
org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.body(ClientImpl.java:1199)
 
at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) 
Caused by: java.lang.ClassNotFoundException: 
c.g.r.cachewrapper.ignite.CacheMissHandlerIgnite}}

where {{c.g.r.cachewrapper.ignite.CacheMissHandlerIgnite}} is the CacheStore 
implementation.

The ostensible reason for the CacheStore serialization is so that clients of a 
TRANSACTIONAL cache can begin the transaction on the underlying store.  

The only current solution to this is to add the grid node's CacheStore 
implementation class definition to the CLASSPATH of the client.  This creates 
an *undesirable coupling* between server and client.


  was:
See User discussion thread:  
http://apache-ignite-users.70518.x6.nabble.com/CacheStore-being-serialized-to-client-td1931.html

Brief summary:  When a grid client joins the grid (clientMode=true) it receives 
a message from the server node(s) on the grid that contains the serialized 
CacheStore implementation object.  If the client does not have this class on 
its CLASSPATH (and there is no reason it should, as it is a client) then the 
de-serialization of this message will fail, causing this exception:

{{ SEVERE: Failed to unmarshal discovery data for component: 1 
class org.apache.ignite.IgniteCheckedException: Failed to find class with given 
class loader for unmarshalling (make sure same versions of all classes are 
available on all nodes or enable peer-class-loading): 
sun.misc.Launcher$AppClassLoader@14dad5dc 
at 
org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:104)
 
at 
org.apache.ignite.marshaller.AbstractMarshaller.unmarshal(AbstractMarshaller.java:67)
 
at 
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:1529)
 
at 
org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processNodeAddFinishedMessage(ClientImpl.java:1317)
 
at 
org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processDiscoveryMessage(ClientImpl.java:1229)
 
at 
org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.body(ClientImpl.java:1199)
 
at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) 
Caused by: java.lang.ClassNotFoundException: 
c.g.r.cachewrapper.ignite.CacheMissHandlerIgnite }}

where {{ c.g.r.cachewrapper.ignite.CacheMissHandlerIgnite }} is the CacheStore 
implementation.

The ostensible reason for the CacheStore serialization is so that clients of a 
TRANSACTIONAL cache can begin the transaction on the underlying store.  

The only current solution to this is to add the grid node's CacheStore 
implementation class definition to the CLASSPATH of the client.  This creates 
an *undesirable coupling* between server and client.



> CacheStore implementation is serialised to grid clients whether they require 
> it or not
> --
>
> Key: IGNITE-1903
> URL: https://issues.apache.org/jira/browse/IGNITE-1903
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 1.5
>Reporter: Michael Griggs
>
> See User discussion thread:  
> http://apache-ignite-users.70518.x6.nabble.com/CacheStore-being-serialized-to-client-td1931.html
> Br

[jira] [Updated] (IGNITE-1903) CacheStore implementation is serialised to grid clients whether they require it or not

2015-11-13 Thread Michael Griggs (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Griggs updated IGNITE-1903:
---
Description: 
See User discussion thread:  
http://apache-ignite-users.70518.x6.nabble.com/CacheStore-being-serialized-to-client-td1931.html

Brief summary:  When a grid client joins the grid (clientMode=true) it receives 
a message from the server node(s) on the grid that contains the serialized 
CacheStore implementation object.  If the client does not have this class on 
its CLASSPATH (and there is no reason it should, as it is a client) then the 
de-serialization of this message will fail, causing this exception:

{{ SEVERE: Failed to unmarshal discovery data for component: 1 
class org.apache.ignite.IgniteCheckedException: Failed to find class with given 
class loader for unmarshalling (make sure same versions of all classes are 
available on all nodes or enable peer-class-loading): 
sun.misc.Launcher$AppClassLoader@14dad5dc 
at 
org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:104)
 
at 
org.apache.ignite.marshaller.AbstractMarshaller.unmarshal(AbstractMarshaller.java:67)
 
at 
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:1529)
 
at 
org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processNodeAddFinishedMessage(ClientImpl.java:1317)
 
at 
org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processDiscoveryMessage(ClientImpl.java:1229)
 
at 
org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.body(ClientImpl.java:1199)
 
at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) 
Caused by: java.lang.ClassNotFoundException: 
c.g.r.cachewrapper.ignite.CacheMissHandlerIgnite }}

where {{ c.g.r.cachewrapper.ignite.CacheMissHandlerIgnite }} is the CacheStore 
implementation.

The ostensible reason for the CacheStore serialization is so that clients of a 
TRANSACTIONAL cache can begin the transaction on the underlying store.  

The only current solution to this is to add the grid node's CacheStore 
implementation class definition to the CLASSPATH of the client.  This creates 
an *undesirable coupling* between server and client.


  was:
See User discussion thread:  
http://apache-ignite-users.70518.x6.nabble.com/CacheStore-being-serialized-to-client-td1931.html

Brief summary:  When a grid client joins the grid (clientMode=true) it receives 
a message from the server node(s) on the grid that contains the serialized 
CacheStore implementation object.  If the client does not have this class on 
its CLASSPATH (and there is no reason it should, as it is a client) then the 
de-serialization of this message will fail, causing this exception:

{{SEVERE: Failed to unmarshal discovery data for component: 1 
class org.apache.ignite.IgniteCheckedException: Failed to find class with given 
class loader for unmarshalling (make sure same versions of all classes are 
available on all nodes or enable peer-class-loading): 
sun.misc.Launcher$AppClassLoader@14dad5dc 
at 
org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:104)
 
at 
org.apache.ignite.marshaller.AbstractMarshaller.unmarshal(AbstractMarshaller.java:67)
 
at 
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:1529)
 
at 
org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processNodeAddFinishedMessage(ClientImpl.java:1317)
 
at 
org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processDiscoveryMessage(ClientImpl.java:1229)
 
at 
org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.body(ClientImpl.java:1199)
 
at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) 
Caused by: java.lang.ClassNotFoundException: 
c.g.r.cachewrapper.ignite.CacheMissHandlerIgnite}}

where {{c.g.r.cachewrapper.ignite.CacheMissHandlerIgnite}} is the CacheStore 
implementation.

The ostensible reason for the CacheStore serialization is so that clients of a 
TRANSACTIONAL cache can begin the transaction on the underlying store.  

The only current solution to this is to add the grid node's CacheStore 
implementation class definition to the CLASSPATH of the client.  This creates 
an *undesirable coupling* between server and client.



> CacheStore implementation is serialised to grid clients whether they require 
> it or not
> --
>
> Key: IGNITE-1903
> URL: https://issues.apache.org/jira/browse/IGNITE-1903
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 1.5
>Reporter: Michael Griggs
>
> See User discussion thread:  
> http://apache-ignite-users.70518.x6.nabble.com/CacheStore-being-serialized-to-client-td1931.html
> Br

[jira] [Created] (IGNITE-1903) CacheStore implementation is serialised to grid clients whether they require it or not

2015-11-13 Thread Michael Griggs (JIRA)
Michael Griggs created IGNITE-1903:
--

 Summary: CacheStore implementation is serialised to grid clients 
whether they require it or not
 Key: IGNITE-1903
 URL: https://issues.apache.org/jira/browse/IGNITE-1903
 Project: Ignite
  Issue Type: Bug
Affects Versions: 1.5
Reporter: Michael Griggs


See User discussion thread:  
http://apache-ignite-users.70518.x6.nabble.com/CacheStore-being-serialized-to-client-td1931.html

Brief summary:  When a grid client joins the grid (clientMode=true) it receives 
a message from the server node(s) on the grid that contains the serialized 
CacheStore implementation object.  If the client does not have this class on 
its CLASSPATH (and there is no reason it should, as it is a client) then the 
de-serialization of this message will fail, causing this exception:

{{SEVERE: Failed to unmarshal discovery data for component: 1 
class org.apache.ignite.IgniteCheckedException: Failed to find class with given 
class loader for unmarshalling (make sure same versions of all classes are 
available on all nodes or enable peer-class-loading): 
sun.misc.Launcher$AppClassLoader@14dad5dc 
at 
org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:104)
 
at 
org.apache.ignite.marshaller.AbstractMarshaller.unmarshal(AbstractMarshaller.java:67)
 
at 
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:1529)
 
at 
org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processNodeAddFinishedMessage(ClientImpl.java:1317)
 
at 
org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processDiscoveryMessage(ClientImpl.java:1229)
 
at 
org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.body(ClientImpl.java:1199)
 
at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) 
Caused by: java.lang.ClassNotFoundException: 
c.g.r.cachewrapper.ignite.CacheMissHandlerIgnite}}

where {{c.g.r.cachewrapper.ignite.CacheMissHandlerIgnite}} is the CacheStore 
implementation.

The ostensible reason for the CacheStore serialization is so that clients of a 
TRANSACTIONAL cache can begin the transaction on the underlying store.  

The only current solution to this is to add the grid node's CacheStore 
implementation class definition to the CLASSPATH of the client.  This creates 
an *undesirable coupling* between server and client.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Assigned] (IGNITE-1829) We must use short name for packages in metadata dropdown list

2015-11-13 Thread Vasiliy Sisko (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1829?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vasiliy Sisko reassigned IGNITE-1829:
-

Assignee: (was: Vasiliy Sisko)

> We must use short name for packages in metadata dropdown list
> -
>
> Key: IGNITE-1829
> URL: https://issues.apache.org/jira/browse/IGNITE-1829
> Project: Ignite
>  Issue Type: Sub-task
>  Components: wizards
>Reporter: Pavel Konstantinov
>Priority: Critical
> Fix For: 1.6
>
> Attachments: ig-1829.png
>
>
> Current view is uncomfortable because user don't see class name.
> Please see attachment.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1377) Portable metadata update on changing topology causes hangs in tests

2015-11-13 Thread Vladimir Ozerov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003737#comment-15003737
 ] 

Vladimir Ozerov commented on IGNITE-1377:
-

Throwing an exception in case of primary node failure looks wrong to me. It 
means that user will have to account for distributed failures in virtually 
every single line of code, even if he performs only node-local operations. 
Probably we should decouple preloading of marshaller cache somehow, and keep 
retries because it is always possible to save value to replicated cache.

> Portable metadata update on changing topology causes hangs in tests
> ---
>
> Key: IGNITE-1377
> URL: https://issues.apache.org/jira/browse/IGNITE-1377
> Project: Ignite
>  Issue Type: Sub-task
>  Components: general, interop
>Reporter: Alexey Goncharuk
>Assignee: Semen Boikov
>Priority: Blocker
>  Labels: Muted_test
> Fix For: 1.5
>
>
> I removed metadata update on for objects not defined in configuration (this 
> is not an introduced bug, it existed before) because it causes portable 
> failover suite to hang.
> Need to investigate further the cause of the hang and unmute 
> {{testNoConfiguration}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (IGNITE-1626) .Net: Create NuGet package.

2015-11-13 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1626?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15002326#comment-15002326
 ] 

Pavel  Tupitsyn edited comment on IGNITE-1626 at 11/13/15 8:54 AM:
---

* nuspec file created to include all necessary JAR files, 
Apache.Ignite.Core.dll, and default config file
* version is being set automatically from assemblyinfo
* IGNITE_HOME resolve logic adjusted to detect NuGet deployment
* Package tested locally: no extra steps from the user are required (besides 
Java installation). Install package => Ignition.Start works.
* Package size is 13.5 MB

* TC config created to build nupkg: 
http://94.72.60.102/viewType.html?buildTypeId=IgniteBuildsAndUploads_IgniteBuildFabricOnlyNet

> INFRA team must be asked about a place where NuGet package could be stored.
No need for this. Package is created by TC task, tested, and then pushed to 
nuget.org.


was (Author: ptupitsyn):
* nuspec file created to include all necessary JAR files, 
Apache.Ignite.Core.dll, and default config file
* version is being set automatically from assemblyinfo
* IGNITE_HOME resolve logic adjusted to detect NuGet deployment
* Package tested locally: no extra steps from the user are required (besides 
Java installation). Install package => Ignition.Start works.
* Package size is 13.5 MB

* TC config created to build nupkg: 
http://94.72.60.102/viewType.html?buildTypeId=IgniteBuildsAndUploads_IgniteBuildFabricOnlyNet

> INFRA team must be asked about a place where NuGet package could be stored.
No need for this. Package is created by TC task, tested, and then pushed to 
nuget.org.

What is left:
* proper wording in summary and description
* icon

> .Net: Create NuGet package.
> ---
>
> Key: IGNITE-1626
> URL: https://issues.apache.org/jira/browse/IGNITE-1626
> Project: Ignite
>  Issue Type: Task
>  Components: interop
>Affects Versions: 1.5
>Reporter: Vladimir Ozerov
>Assignee: Vladimir Ozerov
>Priority: Blocker
> Fix For: 1.6
>
>
> *Overview*
> To boost usage of the product we need to distribute it using NuGet, which is 
> tightly integrated with Visual Studio.
> To achieve this several technical, infrastructure and marketing tasks must be 
> completed.
> *Technical tasks*
> - Apache Ignite.NET heavily depends on relative positions of compiled Java 
> classes. We must be able to apply different classpath search strategies 
> depending on packaging. This includes normal search in exploded build 
> directory, search in NuGet package, search in local Maven repo.
> - We need a way to select classpath search strategy. E.g. we can add special 
> marker resource to NuGet package so that DLL understands that it is 
> NuGet-based. More investigation here is reuqired.
> - Minimal set of required JARs should be defined. Currently we have over 
> >100Mb of Java libraries shipped with Ignite build. NuGet have limitation of 
> 30Mb per package. Only vital subset of JARs should be shipped.
> *Infrastructure tasks*
> - INFRA team must be asked about a place where NuGet package could be stored. 
> - Separate build plan should be created, producing NuGet artifacts.
> *Marketing tasks*
> - We need to produce clean, selling and intriguing header and description for 
> our package and attach logo.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (IGNITE-1626) .Net: Create NuGet package.

2015-11-13 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1626?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15002326#comment-15002326
 ] 

Pavel  Tupitsyn edited comment on IGNITE-1626 at 11/13/15 8:54 AM:
---

* nuspec file created to include all necessary JAR files, 
Apache.Ignite.Core.dll, and default config file
* version is being set automatically from assemblyinfo
* IGNITE_HOME resolve logic adjusted to detect NuGet deployment
* Package tested locally: no extra steps from the user are required (besides 
Java installation). Install package => Ignition.Start works.
* Package size is 13.5 MB

* TC config created to build nupkg: 
http://94.72.60.102/viewType.html?buildTypeId=IgniteBuildsAndUploads_IgniteBuildFabricOnlyNet

> INFRA team must be asked about a place where NuGet package could be stored.
No need for this. Package is created by TC task, tested, and then pushed to 
nuget.org.

What is left:
* proper wording in summary and description
* icon


was (Author: ptupitsyn):
* nuspec file created to include all necessary JAR files, 
Apache.Ignite.Core.dll, and default config file
* version is being set automatically from assemblyinfo
* IGNITE_HOME resolve logic adjusted to detect NuGet deployment
* Package tested locally: no extra steps from the user are required (besides 
Java installation). Install package => Ignition.Start works.

* TC config created to build nupkg: 
http://94.72.60.102/viewType.html?buildTypeId=IgniteBuildsAndUploads_IgniteBuildFabricOnlyNet

> INFRA team must be asked about a place where NuGet package could be stored.
No need for this. Package is created by TC task, tested, and then pushed to 
nuget.org.

What is left:
* proper wording in summary and description
* icon

> .Net: Create NuGet package.
> ---
>
> Key: IGNITE-1626
> URL: https://issues.apache.org/jira/browse/IGNITE-1626
> Project: Ignite
>  Issue Type: Task
>  Components: interop
>Affects Versions: 1.5
>Reporter: Vladimir Ozerov
>Assignee: Vladimir Ozerov
>Priority: Blocker
> Fix For: 1.6
>
>
> *Overview*
> To boost usage of the product we need to distribute it using NuGet, which is 
> tightly integrated with Visual Studio.
> To achieve this several technical, infrastructure and marketing tasks must be 
> completed.
> *Technical tasks*
> - Apache Ignite.NET heavily depends on relative positions of compiled Java 
> classes. We must be able to apply different classpath search strategies 
> depending on packaging. This includes normal search in exploded build 
> directory, search in NuGet package, search in local Maven repo.
> - We need a way to select classpath search strategy. E.g. we can add special 
> marker resource to NuGet package so that DLL understands that it is 
> NuGet-based. More investigation here is reuqired.
> - Minimal set of required JARs should be defined. Currently we have over 
> >100Mb of Java libraries shipped with Ignite build. NuGet have limitation of 
> 30Mb per package. Only vital subset of JARs should be shipped.
> *Infrastructure tasks*
> - INFRA team must be asked about a place where NuGet package could be stored. 
> - Separate build plan should be created, producing NuGet artifacts.
> *Marketing tasks*
> - We need to produce clean, selling and intriguing header and description for 
> our package and attach logo.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (IGNITE-1892) Incorrect focus on table fields

2015-11-13 Thread Pavel Konstantinov (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1892?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Konstantinov closed IGNITE-1892.
--
Assignee: (was: Pavel Konstantinov)

Tested.

> Incorrect focus on table fields
> ---
>
> Key: IGNITE-1892
> URL: https://issues.apache.org/jira/browse/IGNITE-1892
> Project: Ignite
>  Issue Type: Sub-task
>  Components: wizards
>Reporter: Vasiliy Sisko
> Fix For: 1.5
>
>
> Open metadata configuration dialog.
> Configure query fields or aliases or indexes and add more than one row.
> On edit second row focus on first field is lost.
> Error popover showed in incorrect place. 
> On enter should be focused next editor or row should be saved



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Assigned] (IGNITE-1902) NET: Adopt new marshalling flags.

2015-11-13 Thread Pavel Tupitsyn (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel  Tupitsyn reassigned IGNITE-1902:
---

Assignee: Pavel  Tupitsyn

> NET: Adopt new marshalling flags.
> -
>
> Key: IGNITE-1902
> URL: https://issues.apache.org/jira/browse/IGNITE-1902
> Project: Ignite
>  Issue Type: Sub-task
>  Components: interop
>Affects Versions: ignite-1.4
>Reporter: Vladimir Ozerov
>Assignee: Pavel  Tupitsyn
>Priority: Critical
> Fix For: 1.5
>
>
> As a part of IGNITE-1816 I had to revisit our flags. Here are how they look 
> now:
> {code}
> /** Flag: user type. */
> public static final short FLAG_USR_TYP = 0x0001;
> /** Flag: schema exists. */
> public static final short FLAG_HAS_SCHEMA = 0x0002;
> /** Flag indicating that object has raw data. */
> public static final short FLAG_HAS_RAW = 0x0004;
> /** Flag: offsets take 1 byte. */
> public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;
> /** Flag: offsets take 2 bytes. */
> public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;
> /** Flag: compact footer, no field IDs. */
> public static final short FLAG_COMPACT_FOOTER = 0x0020;
> {code}
> The following changes must be made to NET:
> 1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ 
> SCHEMA flag is set to true. This is the inversed version of what previously 
> was "RAW_ONLY".
> 2) When raw data exists, HAS_RAW flag is set to true. This flag should be 
> used to determine location of raw data. 
> *DO NOT USE % for this anymore!*
> 3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
> this flag set to 1, an exception must be thrown.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1896) .Net: Improve query API

2015-11-13 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003723#comment-15003723
 ] 

Pavel  Tupitsyn commented on IGNITE-1896:
-

1) I don't propose to remove current method altogether, I propose to complement 
it with more usable methods. If arguments are added, API won't be broken. We 
can keep simple methods for simple scenarios, and current approach for higher 
customization

2) There is a problem. When you use a dictionary, you have to specify generic 
arguments only once, in constructor. Then you never have to do it again:
{code}
var dict = new Dictionary();
dict[1] = new Person();  // No generic arguments
var person = dict[1];  // No generic arguments
{code}

Same with put/get in our cache, no problem there.
But with queries:
{code}
var cache = ignite.GetCache();  // generic arguments specified 
once, this is fine
var person = cache.Get(1);  // no generic arguments, good

// Why do we force user to specify typeof(Person)? Cache already knows this 
type. 
// And there will be an exception if the user specifies wrong type
var sqlQuery = cache.Query(new SqlQuery(typeof (Person), "Age > ?", 5));  
// Much cleaner, isn't it?
var sqlQuery = cache.SqlQuery("Age > ?", 5)

// Again, why do we force user to type so much? Generic arguments are known.
var scanQuery = cache.Query(new ScanQuery());
// Compare to:
var scanQuery = cache.ScanQuery();
{code}

Same issue we had with GetFuture. Too much typing, prone to errors, makes 
refactoring hard.

> .Net: Improve query API
> ---
>
> Key: IGNITE-1896
> URL: https://issues.apache.org/jira/browse/IGNITE-1896
> Project: Ignite
>  Issue Type: Improvement
>  Components: interop
>Affects Versions: 1.1.4
>Reporter: Pavel  Tupitsyn
>Assignee: Pavel  Tupitsyn
> Fix For: 1.5
>
>
> Current API is very clumsy.
> Cache is generic, however we require the user to specify query type 
> explicitly.
> There are cases when query type is a string and/or is different from current 
> cache generic type, so the current API has to be kept.
> However, we should provide simple methods with generic inference:
> {code}
> IQueryCursor> ScanQuery(ICacheEntryFilter 
> filter);
> IQueryCursor> SqlQuery(string sql, params 
> object[] args);
> IQueryCursor> SqlQuery(string sql, bool local, 
> params object[] args);
> IQueryCursor> TextQuery(string text);
> IQueryCursor> TextQuery(string text, bool local);
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (IGNITE-1896) .Net: Improve query API

2015-11-13 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003723#comment-15003723
 ] 

Pavel  Tupitsyn edited comment on IGNITE-1896 at 11/13/15 8:44 AM:
---

1) I don't propose to remove current method altogether, I propose to complement 
it with more usable methods. If arguments are added, API won't be broken. We 
can keep simple methods for simple scenarios, and current approach for higher 
customization

2) There is a problem. When you use a dictionary, you have to specify generic 
arguments only once, in constructor. Then you never have to do it again, no 
chance to make a mistake:
{code}
var dict = new Dictionary();
dict[1] = new Person();  // No generic arguments
var person = dict[1];  // No generic arguments
{code}

Same with put/get in our cache, no problem there.
But with queries:
{code}
var cache = ignite.GetCache();  // generic arguments specified 
once, this is fine
var person = cache.Get(1);  // no generic arguments, good

// Why do we force user to specify typeof(Person)? Cache already knows this 
type. 
// And there will be an exception if the user specifies wrong type
var sqlQuery = cache.Query(new SqlQuery(typeof (Person), "Age > ?", 5));  
// Much cleaner, isn't it?
var sqlQuery = cache.SqlQuery("Age > ?", 5)

// Again, why do we force user to type so much? Generic arguments are known.
var scanQuery = cache.Query(new ScanQuery());
// Compare to:
var scanQuery = cache.ScanQuery();
{code}

Same issue we had with GetFuture. Too much typing, prone to errors, makes 
refactoring hard.


was (Author: ptupitsyn):
1) I don't propose to remove current method altogether, I propose to complement 
it with more usable methods. If arguments are added, API won't be broken. We 
can keep simple methods for simple scenarios, and current approach for higher 
customization

2) There is a problem. When you use a dictionary, you have to specify generic 
arguments only once, in constructor. Then you never have to do it again:
{code}
var dict = new Dictionary();
dict[1] = new Person();  // No generic arguments
var person = dict[1];  // No generic arguments
{code}

Same with put/get in our cache, no problem there.
But with queries:
{code}
var cache = ignite.GetCache();  // generic arguments specified 
once, this is fine
var person = cache.Get(1);  // no generic arguments, good

// Why do we force user to specify typeof(Person)? Cache already knows this 
type. 
// And there will be an exception if the user specifies wrong type
var sqlQuery = cache.Query(new SqlQuery(typeof (Person), "Age > ?", 5));  
// Much cleaner, isn't it?
var sqlQuery = cache.SqlQuery("Age > ?", 5)

// Again, why do we force user to type so much? Generic arguments are known.
var scanQuery = cache.Query(new ScanQuery());
// Compare to:
var scanQuery = cache.ScanQuery();
{code}

Same issue we had with GetFuture. Too much typing, prone to errors, makes 
refactoring hard.

> .Net: Improve query API
> ---
>
> Key: IGNITE-1896
> URL: https://issues.apache.org/jira/browse/IGNITE-1896
> Project: Ignite
>  Issue Type: Improvement
>  Components: interop
>Affects Versions: 1.1.4
>Reporter: Pavel  Tupitsyn
>Assignee: Pavel  Tupitsyn
> Fix For: 1.5
>
>
> Current API is very clumsy.
> Cache is generic, however we require the user to specify query type 
> explicitly.
> There are cases when query type is a string and/or is different from current 
> cache generic type, so the current API has to be kept.
> However, we should provide simple methods with generic inference:
> {code}
> IQueryCursor> ScanQuery(ICacheEntryFilter 
> filter);
> IQueryCursor> SqlQuery(string sql, params 
> object[] args);
> IQueryCursor> SqlQuery(string sql, bool local, 
> params object[] args);
> IQueryCursor> TextQuery(string text);
> IQueryCursor> TextQuery(string text, bool local);
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (IGNITE-1892) Incorrect focus on table fields

2015-11-13 Thread Vasiliy Sisko (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1892?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vasiliy Sisko resolved IGNITE-1892.
---
Resolution: Fixed
  Assignee: Pavel Konstantinov  (was: Vasiliy Sisko)

> Incorrect focus on table fields
> ---
>
> Key: IGNITE-1892
> URL: https://issues.apache.org/jira/browse/IGNITE-1892
> Project: Ignite
>  Issue Type: Sub-task
>  Components: wizards
>Reporter: Vasiliy Sisko
>Assignee: Pavel Konstantinov
> Fix For: 1.5
>
>
> Open metadata configuration dialog.
> Configure query fields or aliases or indexes and add more than one row.
> On edit second row focus on first field is lost.
> Error popover showed in incorrect place. 
> On enter should be focused next editor or row should be saved



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1892) Incorrect focus on table fields

2015-11-13 Thread Vasiliy Sisko (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003716#comment-15003716
 ] 

Vasiliy Sisko commented on IGNITE-1892:
---

Fixed editors in table fields.
To check: adding, removing, editing of all table fields.

> Incorrect focus on table fields
> ---
>
> Key: IGNITE-1892
> URL: https://issues.apache.org/jira/browse/IGNITE-1892
> Project: Ignite
>  Issue Type: Sub-task
>  Components: wizards
>Reporter: Vasiliy Sisko
>Assignee: Vasiliy Sisko
> Fix For: 1.5
>
>
> Open metadata configuration dialog.
> Configure query fields or aliases or indexes and add more than one row.
> On edit second row focus on first field is lost.
> Error popover showed in incorrect place. 
> On enter should be focused next editor or row should be saved



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1901) CPP: Adopt new marshalling flags.

2015-11-13 Thread Vladimir Ozerov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003714#comment-15003714
 ] 

Vladimir Ozerov commented on IGNITE-1901:
-

Please create a branch from IGNITE-1816.

> CPP: Adopt new marshalling flags.
> -
>
> Key: IGNITE-1901
> URL: https://issues.apache.org/jira/browse/IGNITE-1901
> Project: Ignite
>  Issue Type: Sub-task
>  Components: interop
>Affects Versions: ignite-1.4
>Reporter: Vladimir Ozerov
>Priority: Critical
> Fix For: 1.5
>
>
> As a part of IGNITE-1816 I had to revisit our flags. Here are how they look 
> now:
> {code}
> /** Flag: user type. */
> public static final short FLAG_USR_TYP = 0x0001;
> /** Flag: schema exists. */
> public static final short FLAG_HAS_SCHEMA = 0x0002;
> /** Flag indicating that object has raw data. */
> public static final short FLAG_HAS_RAW = 0x0004;
> /** Flag: offsets take 1 byte. */
> public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;
> /** Flag: offsets take 2 bytes. */
> public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;
> /** Flag: compact footer, no field IDs. */
> public static final short FLAG_COMPACT_FOOTER = 0x0020;
> {code}
> The following changes must be made to CPP:
> 1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ 
> SCHEMA flag is set to true. This is the inversed version of what previously 
> was "RAW_ONLY".
> 2) When raw data exists, HAS_RAW flag is set to true. This flag should be 
> used to determine location of raw data. 
> *DO NOT USE % for this anymore!*
> 3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
> this flag set to 1, an exception must be thrown.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1902) NET: Adopt new marshalling flags.

2015-11-13 Thread Vladimir Ozerov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1902?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003713#comment-15003713
 ] 

Vladimir Ozerov commented on IGNITE-1902:
-

Please create a branch from IGNITE-1816.

> NET: Adopt new marshalling flags.
> -
>
> Key: IGNITE-1902
> URL: https://issues.apache.org/jira/browse/IGNITE-1902
> Project: Ignite
>  Issue Type: Sub-task
>  Components: interop
>Affects Versions: ignite-1.4
>Reporter: Vladimir Ozerov
>Priority: Critical
> Fix For: 1.5
>
>
> As a part of IGNITE-1816 I had to revisit our flags. Here are how they look 
> now:
> {code}
> /** Flag: user type. */
> public static final short FLAG_USR_TYP = 0x0001;
> /** Flag: schema exists. */
> public static final short FLAG_HAS_SCHEMA = 0x0002;
> /** Flag indicating that object has raw data. */
> public static final short FLAG_HAS_RAW = 0x0004;
> /** Flag: offsets take 1 byte. */
> public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;
> /** Flag: offsets take 2 bytes. */
> public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;
> /** Flag: compact footer, no field IDs. */
> public static final short FLAG_COMPACT_FOOTER = 0x0020;
> {code}
> The following changes must be made to NET:
> 1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ 
> SCHEMA flag is set to true. This is the inversed version of what previously 
> was "RAW_ONLY".
> 2) When raw data exists, HAS_RAW flag is set to true. This flag should be 
> used to determine location of raw data. 
> *DO NOT USE % for this anymore!*
> 3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
> this flag set to 1, an exception must be thrown.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (IGNITE-1902) NET: Adopt new marshalling flags.

2015-11-13 Thread Pavel Tupitsyn (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel  Tupitsyn updated IGNITE-1902:

Description: 
As a part of IGNITE-1816 I had to revisit our flags. Here are how they look now:

{code}
/** Flag: user type. */
public static final short FLAG_USR_TYP = 0x0001;

/** Flag: schema exists. */
public static final short FLAG_HAS_SCHEMA = 0x0002;

/** Flag indicating that object has raw data. */
public static final short FLAG_HAS_RAW = 0x0004;

/** Flag: offsets take 1 byte. */
public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;

/** Flag: offsets take 2 bytes. */
public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;

/** Flag: compact footer, no field IDs. */
public static final short FLAG_COMPACT_FOOTER = 0x0020;
{code}

The following changes must be made to .NET:
1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ SCHEMA 
flag is set to true. This is the inversed version of what previously was 
"RAW_ONLY".
2) When raw data exists, HAS_RAW flag is set to true. This flag should be used 
to determine location of raw data. 
*DO NOT USE % for this anymore!*
3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
this flag set to 1, an exception must be thrown.

  was:
As a part of IGNITE-1816 I had to revisit our flags. Here are how they look now:

{code}
/** Flag: user type. */
public static final short FLAG_USR_TYP = 0x0001;

/** Flag: schema exists. */
public static final short FLAG_HAS_SCHEMA = 0x0002;

/** Flag indicating that object has raw data. */
public static final short FLAG_HAS_RAW = 0x0004;

/** Flag: offsets take 1 byte. */
public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;

/** Flag: offsets take 2 bytes. */
public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;

/** Flag: compact footer, no field IDs. */
public static final short FLAG_COMPACT_FOOTER = 0x0020;
{code}

The following changes must be made to CPP:
1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ SCHEMA 
flag is set to true. This is the inversed version of what previously was 
"RAW_ONLY".
2) When raw data exists, HAS_RAW flag is set to true. This flag should be used 
to determine location of raw data. 
*DO NOT USE % for this anymore!*
3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
this flag set to 1, an exception must be thrown.


> NET: Adopt new marshalling flags.
> -
>
> Key: IGNITE-1902
> URL: https://issues.apache.org/jira/browse/IGNITE-1902
> Project: Ignite
>  Issue Type: Sub-task
>  Components: interop
>Affects Versions: ignite-1.4
>Reporter: Vladimir Ozerov
>Priority: Critical
> Fix For: 1.5
>
>
> As a part of IGNITE-1816 I had to revisit our flags. Here are how they look 
> now:
> {code}
> /** Flag: user type. */
> public static final short FLAG_USR_TYP = 0x0001;
> /** Flag: schema exists. */
> public static final short FLAG_HAS_SCHEMA = 0x0002;
> /** Flag indicating that object has raw data. */
> public static final short FLAG_HAS_RAW = 0x0004;
> /** Flag: offsets take 1 byte. */
> public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;
> /** Flag: offsets take 2 bytes. */
> public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;
> /** Flag: compact footer, no field IDs. */
> public static final short FLAG_COMPACT_FOOTER = 0x0020;
> {code}
> The following changes must be made to .NET:
> 1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ 
> SCHEMA flag is set to true. This is the inversed version of what previously 
> was "RAW_ONLY".
> 2) When raw data exists, HAS_RAW flag is set to true. This flag should be 
> used to determine location of raw data. 
> *DO NOT USE % for this anymore!*
> 3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
> this flag set to 1, an exception must be thrown.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (IGNITE-1902) NET: Adopt new marshalling flags.

2015-11-13 Thread Vladimir Ozerov (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov updated IGNITE-1902:

Description: 
As a part of IGNITE-1816 I had to revisit our flags. Here are how they look now:

{code}
/** Flag: user type. */
public static final short FLAG_USR_TYP = 0x0001;

/** Flag: schema exists. */
public static final short FLAG_HAS_SCHEMA = 0x0002;

/** Flag indicating that object has raw data. */
public static final short FLAG_HAS_RAW = 0x0004;

/** Flag: offsets take 1 byte. */
public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;

/** Flag: offsets take 2 bytes. */
public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;

/** Flag: compact footer, no field IDs. */
public static final short FLAG_COMPACT_FOOTER = 0x0020;
{code}

The following changes must be made to NET:
1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ SCHEMA 
flag is set to true. This is the inversed version of what previously was 
"RAW_ONLY".
2) When raw data exists, HAS_RAW flag is set to true. This flag should be used 
to determine location of raw data. 
*DO NOT USE % for this anymore!*
3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
this flag set to 1, an exception must be thrown.

  was:
As a part of IGNITE-1816 I had to revisit our flags. Here are how they look now:

{code}
/** Flag: user type. */
public static final short FLAG_USR_TYP = 0x0001;

/** Flag: schema exists. */
public static final short FLAG_HAS_SCHEMA = 0x0002;

/** Flag indicating that object has raw data. */
public static final short FLAG_HAS_RAW = 0x0004;

/** Flag: offsets take 1 byte. */
public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;

/** Flag: offsets take 2 bytes. */
public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;

/** Flag: compact footer, no field IDs. */
public static final short FLAG_COMPACT_FOOTER = 0x0020;
{code}

The following changes must be made to .NET:
1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ SCHEMA 
flag is set to true. This is the inversed version of what previously was 
"RAW_ONLY".
2) When raw data exists, HAS_RAW flag is set to true. This flag should be used 
to determine location of raw data. 
*DO NOT USE % for this anymore!*
3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
this flag set to 1, an exception must be thrown.


> NET: Adopt new marshalling flags.
> -
>
> Key: IGNITE-1902
> URL: https://issues.apache.org/jira/browse/IGNITE-1902
> Project: Ignite
>  Issue Type: Sub-task
>  Components: interop
>Affects Versions: ignite-1.4
>Reporter: Vladimir Ozerov
>Priority: Critical
> Fix For: 1.5
>
>
> As a part of IGNITE-1816 I had to revisit our flags. Here are how they look 
> now:
> {code}
> /** Flag: user type. */
> public static final short FLAG_USR_TYP = 0x0001;
> /** Flag: schema exists. */
> public static final short FLAG_HAS_SCHEMA = 0x0002;
> /** Flag indicating that object has raw data. */
> public static final short FLAG_HAS_RAW = 0x0004;
> /** Flag: offsets take 1 byte. */
> public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;
> /** Flag: offsets take 2 bytes. */
> public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;
> /** Flag: compact footer, no field IDs. */
> public static final short FLAG_COMPACT_FOOTER = 0x0020;
> {code}
> The following changes must be made to NET:
> 1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ 
> SCHEMA flag is set to true. This is the inversed version of what previously 
> was "RAW_ONLY".
> 2) When raw data exists, HAS_RAW flag is set to true. This flag should be 
> used to determine location of raw data. 
> *DO NOT USE % for this anymore!*
> 3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
> this flag set to 1, an exception must be thrown.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (IGNITE-1902) NET: Adopt new marshalling flags.

2015-11-13 Thread Vladimir Ozerov (JIRA)
Vladimir Ozerov created IGNITE-1902:
---

 Summary: NET: Adopt new marshalling flags.
 Key: IGNITE-1902
 URL: https://issues.apache.org/jira/browse/IGNITE-1902
 Project: Ignite
  Issue Type: Sub-task
  Components: interop
Affects Versions: ignite-1.4
Reporter: Vladimir Ozerov
Priority: Critical
 Fix For: 1.5


As a part of IGNITE-1816 I had to revisit our flags. Here are how they look now:

{code}
/** Flag: user type. */
public static final short FLAG_USR_TYP = 0x0001;

/** Flag: schema exists. */
public static final short FLAG_HAS_SCHEMA = 0x0002;

/** Flag indicating that object has raw data. */
public static final short FLAG_HAS_RAW = 0x0004;

/** Flag: offsets take 1 byte. */
public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;

/** Flag: offsets take 2 bytes. */
public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;

/** Flag: compact footer, no field IDs. */
public static final short FLAG_COMPACT_FOOTER = 0x0020;
{code}

The following changes must be made to CPP:
1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ SCHEMA 
flag is set to true. This is the inversed version of what previously was 
"RAW_ONLY".
2) When raw data exists, HAS_RAW flag is set to true. This flag should be used 
to determine location of raw data. 
*DO NOT USE % for this anymore!*
3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
this flag set to 1, an exception must be thrown.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (IGNITE-1901) CPP: Adopt new marshalling flags.

2015-11-13 Thread Vladimir Ozerov (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1901?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov updated IGNITE-1901:

Issue Type: Sub-task  (was: Bug)
Parent: IGNITE-1816

> CPP: Adopt new marshalling flags.
> -
>
> Key: IGNITE-1901
> URL: https://issues.apache.org/jira/browse/IGNITE-1901
> Project: Ignite
>  Issue Type: Sub-task
>  Components: interop
>Affects Versions: ignite-1.4
>Reporter: Vladimir Ozerov
>Priority: Critical
> Fix For: 1.5
>
>
> As a part of IGNITE-1816 I had to revisit our flags. Here are how they look 
> now:
> {code}
> /** Flag: user type. */
> public static final short FLAG_USR_TYP = 0x0001;
> /** Flag: schema exists. */
> public static final short FLAG_HAS_SCHEMA = 0x0002;
> /** Flag indicating that object has raw data. */
> public static final short FLAG_HAS_RAW = 0x0004;
> /** Flag: offsets take 1 byte. */
> public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;
> /** Flag: offsets take 2 bytes. */
> public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;
> /** Flag: compact footer, no field IDs. */
> public static final short FLAG_COMPACT_FOOTER = 0x0020;
> {code}
> The following changes must be made to CPP:
> 1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ 
> SCHEMA flag is set to true. This is the inversed version of what previously 
> was "RAW_ONLY".
> 2) When raw data exists, HAS_RAW flag is set to true. This flag should be 
> used to determine location of raw data. 
> *DO NOT USE % for this anymore!*
> 3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
> this flag set to 1, an exception must be thrown.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (IGNITE-1901) CPP: Adopt new marshalling flags.

2015-11-13 Thread Vladimir Ozerov (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1901?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov updated IGNITE-1901:

Issue Type: Bug  (was: Sub-task)
Parent: (was: IGNITE-1847)

> CPP: Adopt new marshalling flags.
> -
>
> Key: IGNITE-1901
> URL: https://issues.apache.org/jira/browse/IGNITE-1901
> Project: Ignite
>  Issue Type: Bug
>  Components: interop
>Affects Versions: ignite-1.4
>Reporter: Vladimir Ozerov
>Priority: Critical
> Fix For: 1.5
>
>
> As a part of IGNITE-1816 I had to revisit our flags. Here are how they look 
> now:
> {code}
> /** Flag: user type. */
> public static final short FLAG_USR_TYP = 0x0001;
> /** Flag: schema exists. */
> public static final short FLAG_HAS_SCHEMA = 0x0002;
> /** Flag indicating that object has raw data. */
> public static final short FLAG_HAS_RAW = 0x0004;
> /** Flag: offsets take 1 byte. */
> public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;
> /** Flag: offsets take 2 bytes. */
> public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;
> /** Flag: compact footer, no field IDs. */
> public static final short FLAG_COMPACT_FOOTER = 0x0020;
> {code}
> The following changes must be made to CPP:
> 1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ 
> SCHEMA flag is set to true. This is the inversed version of what previously 
> was "RAW_ONLY".
> 2) When raw data exists, HAS_RAW flag is set to true. This flag should be 
> used to determine location of raw data. 
> *DO NOT USE % for this anymore!*
> 3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
> this flag set to 1, an exception must be thrown.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (IGNITE-1901) CPP: Adopt new marshalling flags.

2015-11-13 Thread Vladimir Ozerov (JIRA)
Vladimir Ozerov created IGNITE-1901:
---

 Summary: CPP: Adopt new marshalling flags.
 Key: IGNITE-1901
 URL: https://issues.apache.org/jira/browse/IGNITE-1901
 Project: Ignite
  Issue Type: Sub-task
  Components: interop
Affects Versions: ignite-1.4
Reporter: Vladimir Ozerov
Priority: Critical
 Fix For: 1.5


As a part of IGNITE-1816 I had to revisit our flags. Here are how they look now:

{code}
/** Flag: user type. */
public static final short FLAG_USR_TYP = 0x0001;

/** Flag: schema exists. */
public static final short FLAG_HAS_SCHEMA = 0x0002;

/** Flag indicating that object has raw data. */
public static final short FLAG_HAS_RAW = 0x0004;

/** Flag: offsets take 1 byte. */
public static final short FLAG_OFFSET_ONE_BYTE = 0x0008;

/** Flag: offsets take 2 bytes. */
public static final short FLAG_OFFSET_TWO_BYTES = 0x0010;

/** Flag: compact footer, no field IDs. */
public static final short FLAG_COMPACT_FOOTER = 0x0020;
{code}

The following changes must be made to CPP:
1) When schema exists (i.e. at least on non-raw fieid was written), HAS_ SCHEMA 
flag is set to true. This is the inversed version of what previously was 
"RAW_ONLY".
2) When raw data exists, HAS_RAW flag is set to true. This flag should be used 
to determine location of raw data. 
*DO NOT USE % for this anymore!*
3) For now COMPACT_FOOTER should always be 0. If you receive an object with 
this flag set to 1, an exception must be thrown.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-1227) Need to implement Ignite-based Spring transaction manager

2015-11-13 Thread tc_commenter (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003704#comment-15003704
 ] 

tc_commenter commented on IGNITE-1227:
--

There was triggered next test builds for last attached patch-file:
01. http://ci.ignite.apache.org/viewQueued.html?itemId=117935 - Ignite 150 
Clients
02. http://ci.ignite.apache.org/viewQueued.html?itemId=117936 - Ignite AOP
03. http://ci.ignite.apache.org/viewQueued.html?itemId=117937 - Ignite AWS
04. http://ci.ignite.apache.org/viewQueued.html?itemId=117938 - Ignite Basic
05. http://ci.ignite.apache.org/viewQueued.html?itemId=117939 - Ignite Cache
06. http://ci.ignite.apache.org/viewQueued.html?itemId=117940 - Ignite Cache 2
07. http://ci.ignite.apache.org/viewQueued.html?itemId=117941 - Ignite Cache 3
08. http://ci.ignite.apache.org/viewQueued.html?itemId=117942 - Ignite Cache 4
09. http://ci.ignite.apache.org/viewQueued.html?itemId=117943 - Ignite Cache 5
10. http://ci.ignite.apache.org/viewQueued.html?itemId=117944 - Ignite Cache 
Expiry Policy
11. http://ci.ignite.apache.org/viewQueued.html?itemId=117945 - Ignite Cache 
Failover
12. http://ci.ignite.apache.org/viewQueued.html?itemId=117946 - Ignite Cache 
Failover Multi JVM
13. http://ci.ignite.apache.org/viewQueued.html?itemId=117947 - Ignite Cache 
Failover2
14. http://ci.ignite.apache.org/viewQueued.html?itemId=117948 - Ignite Cache 
Failover3
15. http://ci.ignite.apache.org/viewQueued.html?itemId=117949 - Ignite Cache 
Full API
16. http://ci.ignite.apache.org/viewQueued.html?itemId=117950 - Ignite Cache 
Full API Multi JVM
17. http://ci.ignite.apache.org/viewQueued.html?itemId=117951 - Ignite Cache 
Full API Portable
18. http://ci.ignite.apache.org/viewQueued.html?itemId=117952 - Ignite Cache 
Portable
19. http://ci.ignite.apache.org/viewQueued.html?itemId=117953 - Ignite Cache 
Query Portable
20. http://ci.ignite.apache.org/viewQueued.html?itemId=117954 - Ignite Cache 
Restarts
21. http://ci.ignite.apache.org/viewQueued.html?itemId=117955 - Ignite Cache 
Restarts2
22. http://ci.ignite.apache.org/viewQueued.html?itemId=117956 - Ignite Cache Tx 
Recovery
23. http://ci.ignite.apache.org/viewQueued.html?itemId=117957 - Ignite Client 
Nodes
24. http://ci.ignite.apache.org/viewQueued.html?itemId=117958 - Ignite Cloud
25. http://ci.ignite.apache.org/viewQueued.html?itemId=117959 - Ignite Compute 
Grid
26. http://ci.ignite.apache.org/viewQueued.html?itemId=117960 - Ignite Data 
Strucutures
27. http://ci.ignite.apache.org/viewQueued.html?itemId=117961 - Ignite Examples
28. http://ci.ignite.apache.org/viewQueued.html?itemId=117962 - Ignite GCE
29. http://ci.ignite.apache.org/viewQueued.html?itemId=117963 - Ignite 
Geospacial Indexing
30. http://ci.ignite.apache.org/viewQueued.html?itemId=117964 - Ignite H2 
Indexing
31. http://ci.ignite.apache.org/viewQueued.html?itemId=117965 - Ignite Hadoop
32. http://ci.ignite.apache.org/viewQueued.html?itemId=117966 - Ignite Hibernate
33. http://ci.ignite.apache.org/viewQueued.html?itemId=117967 - Ignite IGFS
34. http://ci.ignite.apache.org/viewQueued.html?itemId=117968 - Ignite IGFS 
Examples
35. http://ci.ignite.apache.org/viewQueued.html?itemId=117969 - Ignite IGFS 
Linux and MacOS
36. http://ci.ignite.apache.org/viewQueued.html?itemId=117970 - Ignite Indexed 
Objects Cache
37. http://ci.ignite.apache.org/viewQueued.html?itemId=117971 - Ignite Indexed 
Objects Cache 2
38. http://ci.ignite.apache.org/viewQueued.html?itemId=117972 - Ignite Indexed 
Objects Cache 3
39. http://ci.ignite.apache.org/viewQueued.html?itemId=117973 - Ignite Indexed 
Objects Cache 4
40. http://ci.ignite.apache.org/viewQueued.html?itemId=117974 - Ignite Indexed 
Objects Cache Expiry Policy
41. http://ci.ignite.apache.org/viewQueued.html?itemId=117975 - Ignite Indexed 
Objects Cache Failover
42. http://ci.ignite.apache.org/viewQueued.html?itemId=117976 - Ignite Indexed 
Objects Cache Failover2
43. http://ci.ignite.apache.org/viewQueued.html?itemId=117977 - Ignite Indexed 
Objects Cache Full API
44. http://ci.ignite.apache.org/viewQueued.html?itemId=117978 - Ignite Indexed 
Objects Cache Restarts
45. http://ci.ignite.apache.org/viewQueued.html?itemId=117979 - Ignite Indexed 
Objects Data Strucutures
46. http://ci.ignite.apache.org/viewQueued.html?itemId=117980 - Ignite Indexed 
Objects Queries
47. http://ci.ignite.apache.org/viewQueued.html?itemId=117981 - Ignite Java 
Client
48. http://ci.ignite.apache.org/viewQueued.html?itemId=117982 - Ignite JDBC 
Driver
49. http://ci.ignite.apache.org/viewQueued.html?itemId=117983 - Ignite JTA
50. http://ci.ignite.apache.org/viewQueued.html?itemId=117984 - Ignite Logging
51. http://ci.ignite.apache.org/viewQueued.html?itemId=117985 - Ignite 
Portables Basic
52. http://ci.ignite.apache.org/viewQueued.html?itemId=117986 - Ignite Queries
53. http://ci.ignite.apache.org/viewQueued.html?itemId=117987 - Ignite Queries 
Portable
54. http://ci.ignite.apache.org/v

[jira] [Commented] (IGNITE-1896) .Net: Improve query API

2015-11-13 Thread Vladimir Ozerov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003700#comment-15003700
 ] 

Vladimir Ozerov commented on IGNITE-1896:
-

I do not think we should do anything here for several reasons:
1) We had similar approach in Java before, but decided to switch to current 
model when all query arguments are kept inside an object. This allowed us to 
have less methods on public API. What is more important, this design survives 
changes gracefullly. E.g., if some new argument is added to query object, no 
API changes is needed.
2) I do not see a problem with generics either. This is a standard way how they 
used. See IDictionary API for example.

> .Net: Improve query API
> ---
>
> Key: IGNITE-1896
> URL: https://issues.apache.org/jira/browse/IGNITE-1896
> Project: Ignite
>  Issue Type: Improvement
>  Components: interop
>Affects Versions: 1.1.4
>Reporter: Pavel  Tupitsyn
>Assignee: Pavel  Tupitsyn
> Fix For: 1.5
>
>
> Current API is very clumsy.
> Cache is generic, however we require the user to specify query type 
> explicitly.
> There are cases when query type is a string and/or is different from current 
> cache generic type, so the current API has to be kept.
> However, we should provide simple methods with generic inference:
> {code}
> IQueryCursor> ScanQuery(ICacheEntryFilter 
> filter);
> IQueryCursor> SqlQuery(string sql, params 
> object[] args);
> IQueryCursor> SqlQuery(string sql, bool local, 
> params object[] args);
> IQueryCursor> TextQuery(string text);
> IQueryCursor> TextQuery(string text, bool local);
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (IGNITE-1227) Need to implement Ignite-based Spring transaction manager

2015-11-13 Thread Amir Akhmedov (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1227?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amir Akhmedov updated IGNITE-1227:
--
Attachment: IGNITE-1227.patch

> Need to implement Ignite-based Spring transaction manager
> -
>
> Key: IGNITE-1227
> URL: https://issues.apache.org/jira/browse/IGNITE-1227
> Project: Ignite
>  Issue Type: Improvement
>  Components: cache
>Affects Versions: 1.1.4
>Reporter: Valentin Kulichenko
>Assignee: Amir Akhmedov
>  Labels: newbie
> Attachments: IGNITE-1227.patch
>
>
> This will allow to use Spring transaction interceptor for wrapping cache 
> operations into Ignite transaction.
> Essentially, we need to implement Spring's {{PlatformTransactionManager}} 
> interface using {{IgniteTransactions}} API.
> Corresponding user list thread: 
> http://apache-ignite-users.70518.x6.nabble.com/Transactions-td885.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (IGNITE-529) Implement IgniteFlumeStreamer to stream data from Apache Flume

2015-11-13 Thread Roman Shtykh (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003695#comment-15003695
 ] 

Roman Shtykh commented on IGNITE-529:
-

Anton,

I have changed an implementation according to what was discussed and updated PR.
In addition, I have introduced batching for performance and Flume sink counter 
for monitoring.

> Implement IgniteFlumeStreamer to stream data from Apache Flume
> --
>
> Key: IGNITE-529
> URL: https://issues.apache.org/jira/browse/IGNITE-529
> Project: Ignite
>  Issue Type: Sub-task
>  Components: streaming
>Reporter: Dmitriy Setrakyan
>Assignee: Roman Shtykh
>
> We have {{IgniteDataStreamer}} which is used to load data into Ignite under 
> high load. It was previously named {{IgniteDataLoader}}, see ticket 
> IGNITE-394.
> See [Apache Flume|http://flume.apache.org/] for more information.
> We should create {{IgniteFlumeStreamer}} which will consume messages from 
> Apache Flume and stream them into Ignite caches. 
> More details to follow, but to the least we should be able to:
> * Convert Flume data to Ignite data using an optional pluggable converter.
> * Specify the cache name for the Ignite cache to load data into.
> * Specify other flags available on {{IgniteDataStreamer}} class.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (IGNITE-1870) Add aggregation function for Y axes values in TIME_LINE mode

2015-11-13 Thread Alexey Kuznetsov (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1870?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexey Kuznetsov resolved IGNITE-1870.
--
Resolution: Fixed
  Assignee: Pavel Konstantinov  (was: Alexey Kuznetsov)

Implemented support for aggregation functions over returned result set.
Aggregation is implemented only for current fetched page.
Available and visible only in TIME_LINE mode.
Please test.

> Add aggregation function for Y axes values in TIME_LINE mode
> 
>
> Key: IGNITE-1870
> URL: https://issues.apache.org/jira/browse/IGNITE-1870
> Project: Ignite
>  Issue Type: Sub-task
>  Components: wizards
>Affects Versions: 1.5
>Reporter: Alexey Kuznetsov
>Assignee: Pavel Konstantinov
> Fix For: 1.5
>
>
> Add support for: First, Last, Min, Max, Avg, Sum, Count



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (IGNITE-1867) Fix java class names and package declaration

2015-11-13 Thread Vasiliy Sisko (JIRA)

 [ 
https://issues.apache.org/jira/browse/IGNITE-1867?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vasiliy Sisko resolved IGNITE-1867.
---
Resolution: Fixed
  Assignee: Pavel Konstantinov  (was: Vasiliy Sisko)

> Fix java class names and package declaration
> 
>
> Key: IGNITE-1867
> URL: https://issues.apache.org/jira/browse/IGNITE-1867
> Project: Ignite
>  Issue Type: Sub-task
>  Components: wizards
>Reporter: Prachi Garg
>Assignee: Pavel Konstantinov
> Fix For: 1.5
>
>
> I noticed a few issues when I imported my project, created using the web 
> console, in IDEA -
> 1. ServerConfigurationFactory class name is create in the file called 
> “ConfigurationFactory.java”. Class name and file name should be the same.
> 2. The package declaration for ClientConfigurationFactory and 
> SeverConfigurationFactory classes is missing.
> 3. There should be simple 'nodeStartup' class for starting a node, in the 
> IDE, using the XML configuration file.
> 4. Missing near configuration for client in java code.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (IGNITE-1867) Fix java class names and package declaration

2015-11-13 Thread Vasiliy Sisko (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-1867?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15001889#comment-15001889
 ] 

Vasiliy Sisko edited comment on IGNITE-1867 at 11/13/15 8:06 AM:
-

Removed deprecated random eviction policy.
Implemented generation of near caches in generated java factory class.


was (Author: vsisko):
Removed deprecated random eviction policy

> Fix java class names and package declaration
> 
>
> Key: IGNITE-1867
> URL: https://issues.apache.org/jira/browse/IGNITE-1867
> Project: Ignite
>  Issue Type: Sub-task
>  Components: wizards
>Reporter: Prachi Garg
>Assignee: Vasiliy Sisko
> Fix For: 1.5
>
>
> I noticed a few issues when I imported my project, created using the web 
> console, in IDEA -
> 1. ServerConfigurationFactory class name is create in the file called 
> “ConfigurationFactory.java”. Class name and file name should be the same.
> 2. The package declaration for ClientConfigurationFactory and 
> SeverConfigurationFactory classes is missing.
> 3. There should be simple 'nodeStartup' class for starting a node, in the 
> IDE, using the XML configuration file.
> 4. Missing near configuration for client in java code.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)