[jira] [Updated] (IGNITE-12533) Remote security context tests refactoring.

2020-01-22 Thread Anton Vinogradov (Jira)


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

Anton Vinogradov updated IGNITE-12533:
--
Fix Version/s: 2.9

> Remote security context tests refactoring.
> --
>
> Key: IGNITE-12533
> URL: https://issues.apache.org/jira/browse/IGNITE-12533
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Garus
>Assignee: Denis Garus
>Priority: Major
> Fix For: 2.9
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> To make tests more readable and robust, we should use the 
> _AbstractRemoteSecurityContextCheckTest.Verifier#register(String)_ method in 
> all related tests.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12568) MessageFactory implementations refactoring

2020-01-22 Thread Andrey N. Gura (Jira)


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

Andrey N. Gura commented on IGNITE-12568:
-

[~ibessonov] Good point about extensions. I need additional time to think about 
it.

About performance... Also good idea. But we should measure all three solution 
in order to choose the best of them. 

> MessageFactory implementations refactoring
> --
>
> Key: IGNITE-12568
> URL: https://issues.apache.org/jira/browse/IGNITE-12568
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Andrey N. Gura
>Assignee: Andrey N. Gura
>Priority: Major
>
> Currently existing {{MessageFactory}} implementations (at least 
> {{GridIoMessageFactory}} and {{GridH2ValueMessageFactory}}) have serious 
> problem: it is possible to register several messages with the same direct 
> type. It could lead to the cluster freeze due to unexpected unmarshaling 
> error.
> *Solution:*
> Each message should be registered and during registration we can check that 
> there is no registered message with the same type. Otherwise we should not 
> start node and print error message.
> *Proposed implementation:*
> Instead of {{switch-case}} block new array of size 2^16 should be created.  
> Each array cell should contain message default constructor reference or 
> lambda which is responsible for message instance creation. So during message 
> unmarshaling system just lookup ctor-ref or lambda from array by index and 
> invoke it in order to create proper message instance.
> All message factory extensions and custom message should be registered at the 
> same array before communication SPI will be started.
> If we try to register message with direct type for which already exists 
> registered message then node start process must be terminated (directly, with 
> out any failure handlers).
> If we get message with unknown direct type (there is now registered message 
> for this direct type) then failure handler be invoked.
> It could affect perfromance so we should run microbenchmark for this change.
> Additional benefit of this change is improving code readability. At present 
> we have the following code:
> {code:java}
> @Override public Message create(short type) {
> Message msg = null;
> switch (type) {
> case -61:
> msg = new IgniteDiagnosticMessage();
> break;
> case -53:
> msg = new SchemaOperationStatusMessage();
> break;
> // etc.
> }
> {code}
> After refactoring it will looks like:
> {code:java}
> private Supplier[] msgCtrs;
> public GridIoMessageFactory(MessageFactory[] ext) {
> this.ext = ext;
>registerMessage(-61, IgniteDiagnosticMessage::new)
>registerMessage(-53, SchemaOperationStatusMessage::new)
> }
> @Override public Message create(short type) {
> return msgCtros[type].get();
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (IGNITE-12549) Scan query/iterator on a replicated cache may get wrong results

2020-01-22 Thread Sergey Kosarev (Jira)


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

Sergey Kosarev reassigned IGNITE-12549:
---

Assignee: Sergey Kosarev

> Scan query/iterator on a replicated cache may get wrong results
> ---
>
> Key: IGNITE-12549
> URL: https://issues.apache.org/jira/browse/IGNITE-12549
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: 2.7.6
>Reporter: Sergey Kosarev
>Assignee: Sergey Kosarev
>Priority: Critical
> Fix For: 2.8
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Case 1
> 1. start server node 1
> 2. create and fill replicated cache with RebalanceMode.Async (as by default)
> 3. start servr node 2 
> 4. immediately execute scan query  on the replicated cache((or just iterate 
> the cache)) on the node 2
> It can get empty or partial results. (if rebalance on node 2 is finished)
> Case 2
> 1. start server node 1
> 2. create and fill replicated cache with RebalanceMode.Async (as by default)
> 3. start client node 2
> 4. start server node 3 
> 5. immediately execute scan query  on the replicated cache((or just iterate 
> the cache)) on the client node 2
> It can get empty or partial results. (if rebalance on node 2 is not finished 
> and query is mapped on the node 2)
> It looks like problem in the 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter#nodes()
> case REPLICATED:
> if (prj != null || part != null)
> return nodes(cctx, prj, part);
> if (cctx.affinityNode())
> return *Collections.singletonList(cctx.localNode())*;
> Collection affNodes = nodes(cctx, null, null);
> return affNodes.isEmpty() ? affNodes : 
> *Collections.singletonList(F.rand(affNodes))*;
> case PARTITIONED:
> return nodes(cctx, prj, part);
>  which is executed in 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter#executeScanQuery.
> If executed on a just started node it obviously returns the local node 
> disregarding was it rebalanced or not.
> If executed on a client it returns a random affinity node, so it also can be 
> not yet rebalanced node.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Issue Comment Deleted] (IGNITE-6804) Print a warning if HashMap is passed into bulk update operations

2020-01-22 Thread Ilya Kasnacheev (Jira)


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

Ilya Kasnacheev updated IGNITE-6804:

Comment: was deleted

(was: {panel:title=Branch: [pull/6976/head] Base: [master] : Possible Blockers 
(109)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}Cache 6{color} [[tests 0 TIMEOUT , Exit Code 
|https://ci.ignite.apache.org/viewLog.html?buildId=4947291]]

{color:#d04437}ZooKeeper (Discovery) 2{color} [[tests 
105|https://ci.ignite.apache.org/viewLog.html?buildId=4947261]]
* ZookeeperDiscoverySpiTestSuite2: 
GridCacheReplicatedMultiNodeFullApiSelfTest.testPutxIfAbsentAsync - Test has 
low fail rate in base branch 0,0% and is not flaky
* ZookeeperDiscoverySpiTestSuite2: 
GridCacheReplicatedMultiNodeFullApiSelfTest.testRemoveAllSkipStore - Test has 
low fail rate in base branch 0,0% and is not flaky
* ZookeeperDiscoverySpiTestSuite2: 
GridCacheReplicatedMultiNodeFullApiSelfTest.testNoReadThroughTx - Test has low 
fail rate in base branch 0,0% and is not flaky
* ZookeeperDiscoverySpiTestSuite2: 
GridCacheReplicatedMultiNodeFullApiSelfTest.testPutIfAbsent - Test has low fail 
rate in base branch 0,0% and is not flaky
* ZookeeperDiscoverySpiTestSuite2: 
GridCacheReplicatedMultiNodeFullApiSelfTest.testRemoveAllDuplicatesTx - Test 
has low fail rate in base branch 0,0% and is not flaky
* ZookeeperDiscoverySpiTestSuite2: 
GridCacheReplicatedMultiNodeFullApiSelfTest.testGetAndPutObject - Test has low 
fail rate in base branch 0,0% and is not flaky
* ZookeeperDiscoverySpiTestSuite2: 
GridCacheReplicatedMultiNodeFullApiSelfTest.testContainsKeyTx - Test has low 
fail rate in base branch 0,0% and is not flaky
* ZookeeperDiscoverySpiTestSuite2: 
GridCacheReplicatedMultiNodeFullApiSelfTest.testLoadAll - Test has low fail 
rate in base branch 0,0% and is not flaky
* ZookeeperDiscoverySpiTestSuite2: 
GridCacheReplicatedMultiNodeFullApiSelfTest.testGetAndPutIfAbsent - Test has 
low fail rate in base branch 0,0% and is not flaky
* ZookeeperDiscoverySpiTestSuite2: 
GridCacheReplicatedMultiNodeFullApiSelfTest.testTransformAllWithNulls - Test 
has low fail rate in base branch 0,0% and is not flaky
* ZookeeperDiscoverySpiTestSuite2: 
GridCommandHandlerTest.testBaselineAutoAdjustmentAutoRemoveNode - Test has low 
fail rate in base branch 0,0% and is not flaky
... and 94 tests blockers

{color:#d04437}Cache 2{color} [[tests 
2|https://ci.ignite.apache.org/viewLog.html?buildId=4947287]]
* IgniteCacheTestSuite2: 
GridCachePartitionedTxSingleThreadedSelfTest.testOptimisticRepeatableReadRollback
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteCacheTestSuite2: 
GridCachePartitionedTxSingleThreadedSelfTest.testOptimisticReadCommittedCommit 
- Test has low fail rate in base branch 0,0% and is not flaky

{color:#d04437}PDS 4{color} [[tests 0 TIMEOUT , Exit Code 
|https://ci.ignite.apache.org/viewLog.html?buildId=4947306]]

{panel}
[TeamCity *-- Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=4947337buildTypeId=IgniteTests24Java8_RunAll])

> Print a warning if HashMap is passed into bulk update operations
> 
>
> Key: IGNITE-6804
> URL: https://issues.apache.org/jira/browse/IGNITE-6804
> Project: Ignite
>  Issue Type: Improvement
>  Components: cache
>Reporter: Denis A. Magda
>Assignee: Ilya Kasnacheev
>Priority: Critical
>  Labels: usability
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Ignite newcomers tend to stumble on deadlocks simply because the keys are 
> passed in an unordered HashMap. Propose to do the following:
> * update bulk operations Java docs.
> * print out a warning if not SortedMap (e.g. HashMap, 
> Weak/Identity/Concurrent/Linked HashMap etc) is passed into
> a bulk method (instead of SortedMap) and contains more than 1 element. 
> However, we should make sure that we only print that warning once and not 
> every time the API is called.
> * do not produce warning for explicit optimistic transactions
> More details are here:
> http://apache-ignite-developers.2346864.n4.nabble.com/Re-Ignite-2-0-0-GridUnsafe-unmonitor-td23706.html



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-6804) Print a warning if HashMap is passed into bulk update operations

2020-01-22 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-6804:
---

{panel:title=Branch: [pull/6976/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
[TeamCity *-- Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=4947337buildTypeId=IgniteTests24Java8_RunAll]

> Print a warning if HashMap is passed into bulk update operations
> 
>
> Key: IGNITE-6804
> URL: https://issues.apache.org/jira/browse/IGNITE-6804
> Project: Ignite
>  Issue Type: Improvement
>  Components: cache
>Reporter: Denis A. Magda
>Assignee: Ilya Kasnacheev
>Priority: Critical
>  Labels: usability
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Ignite newcomers tend to stumble on deadlocks simply because the keys are 
> passed in an unordered HashMap. Propose to do the following:
> * update bulk operations Java docs.
> * print out a warning if not SortedMap (e.g. HashMap, 
> Weak/Identity/Concurrent/Linked HashMap etc) is passed into
> a bulk method (instead of SortedMap) and contains more than 1 element. 
> However, we should make sure that we only print that warning once and not 
> every time the API is called.
> * do not produce warning for explicit optimistic transactions
> More details are here:
> http://apache-ignite-developers.2346864.n4.nabble.com/Re-Ignite-2-0-0-GridUnsafe-unmonitor-td23706.html



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (IGNITE-12568) MessageFactory implementations refactoring

2020-01-22 Thread Ivan Bessonov (Jira)


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

Ivan Bessonov edited comment on IGNITE-12568 at 1/22/20 3:56 PM:
-

[~agura] I believe that we'll face an issue with encapsulation.

>From what I can tell, you mean "GridIoMessageFactory" here and we should 
>inline extension message factories inside of it. But it's not clear how it can 
>be done - those extension factories may not have the same array and there's no 
>way of getting the required information from them rather than brute force. Is 
>that acceptable?

Another concern - what will happen with performance? I can't predict anything, 
but I propose 3rd way of creating messages - storing prototype objects for each 
message type and cloning them when needed. Might be a good solution considering 
that extension factories won't give us their lambdas to create messages. What 
do you think?


was (Author: ibessonov):
[~agura] I believe that we'll face an issue with encapsulation.

>From what I can tell, you mean "GridIoMessageFactory" here and we should 
>inline extension message factories inside of it. But it's not clear how it can 
>be done - those extension factories may not have the same array and there's no 
>way of getting the required information from them rather then brute force. Is 
>that acceptable?

Another concern - what will happen with performance? I can't predict anything, 
but I propose 3rd way of creating messages - storing prototype objects for each 
message type and cloning them when needed. Might be a good solution considering 
that extension factories won't give us their lambdas to create messages. What 
do you think?

> MessageFactory implementations refactoring
> --
>
> Key: IGNITE-12568
> URL: https://issues.apache.org/jira/browse/IGNITE-12568
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Andrey N. Gura
>Assignee: Andrey N. Gura
>Priority: Major
>
> Currently existing {{MessageFactory}} implementations (at least 
> {{GridIoMessageFactory}} and {{GridH2ValueMessageFactory}}) have serious 
> problem: it is possible to register several messages with the same direct 
> type. It could lead to the cluster freeze due to unexpected unmarshaling 
> error.
> *Solution:*
> Each message should be registered and during registration we can check that 
> there is no registered message with the same type. Otherwise we should not 
> start node and print error message.
> *Proposed implementation:*
> Instead of {{switch-case}} block new array of size 2^16 should be created.  
> Each array cell should contain message default constructor reference or 
> lambda which is responsible for message instance creation. So during message 
> unmarshaling system just lookup ctor-ref or lambda from array by index and 
> invoke it in order to create proper message instance.
> All message factory extensions and custom message should be registered at the 
> same array before communication SPI will be started.
> If we try to register message with direct type for which already exists 
> registered message then node start process must be terminated (directly, with 
> out any failure handlers).
> If we get message with unknown direct type (there is now registered message 
> for this direct type) then failure handler be invoked.
> It could affect perfromance so we should run microbenchmark for this change.
> Additional benefit of this change is improving code readability. At present 
> we have the following code:
> {code:java}
> @Override public Message create(short type) {
> Message msg = null;
> switch (type) {
> case -61:
> msg = new IgniteDiagnosticMessage();
> break;
> case -53:
> msg = new SchemaOperationStatusMessage();
> break;
> // etc.
> }
> {code}
> After refactoring it will looks like:
> {code:java}
> private Supplier[] msgCtrs;
> public GridIoMessageFactory(MessageFactory[] ext) {
> this.ext = ext;
>registerMessage(-61, IgniteDiagnosticMessage::new)
>registerMessage(-53, SchemaOperationStatusMessage::new)
> }
> @Override public Message create(short type) {
> return msgCtros[type].get();
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12568) MessageFactory implementations refactoring

2020-01-22 Thread Ivan Bessonov (Jira)


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

Ivan Bessonov commented on IGNITE-12568:


[~agura] I believe that we'll face an issue with encapsulation.

>From what I can tell, you mean "GridIoMessageFactory" here and we should 
>inline extension message factories inside of it. But it's not clear how it can 
>be done - those extension factories may not have the same array and there's no 
>way of getting the required information from them rather then brute force. Is 
>that acceptable?

Another concern - what will happen with performance? I can't predict anything, 
but I propose 3rd way of creating messages - storing prototype objects for each 
message type and cloning them when needed. Might be a good solution considering 
that extension factories won't give us their lambdas to create messages. What 
do you think?

> MessageFactory implementations refactoring
> --
>
> Key: IGNITE-12568
> URL: https://issues.apache.org/jira/browse/IGNITE-12568
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Andrey N. Gura
>Assignee: Andrey N. Gura
>Priority: Major
>
> Currently existing {{MessageFactory}} implementations (at least 
> {{GridIoMessageFactory}} and {{GridH2ValueMessageFactory}}) have serious 
> problem: it is possible to register several messages with the same direct 
> type. It could lead to the cluster freeze due to unexpected unmarshaling 
> error.
> *Solution:*
> Each message should be registered and during registration we can check that 
> there is no registered message with the same type. Otherwise we should not 
> start node and print error message.
> *Proposed implementation:*
> Instead of {{switch-case}} block new array of size 2^16 should be created.  
> Each array cell should contain message default constructor reference or 
> lambda which is responsible for message instance creation. So during message 
> unmarshaling system just lookup ctor-ref or lambda from array by index and 
> invoke it in order to create proper message instance.
> All message factory extensions and custom message should be registered at the 
> same array before communication SPI will be started.
> If we try to register message with direct type for which already exists 
> registered message then node start process must be terminated (directly, with 
> out any failure handlers).
> If we get message with unknown direct type (there is now registered message 
> for this direct type) then failure handler be invoked.
> It could affect perfromance so we should run microbenchmark for this change.
> Additional benefit of this change is improving code readability. At present 
> we have the following code:
> {code:java}
> @Override public Message create(short type) {
> Message msg = null;
> switch (type) {
> case -61:
> msg = new IgniteDiagnosticMessage();
> break;
> case -53:
> msg = new SchemaOperationStatusMessage();
> break;
> // etc.
> }
> {code}
> After refactoring it will looks like:
> {code:java}
> private Supplier[] msgCtrs;
> public GridIoMessageFactory(MessageFactory[] ext) {
> this.ext = ext;
>registerMessage(-61, IgniteDiagnosticMessage::new)
>registerMessage(-53, SchemaOperationStatusMessage::new)
> }
> @Override public Message create(short type) {
> return msgCtros[type].get();
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12569) Can't set serialized enum to a BinaryObject's field

2020-01-22 Thread Ivan Pavlukhin (Jira)


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

Ivan Pavlukhin commented on IGNITE-12569:
-

[~korlov], LGTM. I will merge it once visa is ready.

> Can't set serialized enum to a BinaryObject's field
> ---
>
> Key: IGNITE-12569
> URL: https://issues.apache.org/jira/browse/IGNITE-12569
> Project: Ignite
>  Issue Type: Bug
>  Components: binary
>Reporter: Konstantin Orlov
>Assignee: Konstantin Orlov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The deserialization of the BinaryObject fails since a serialized 
> representation of the enum was set to a field instead of the enum itself. 
> Because of this issue there is no way to work with enums without a 
> corresponding class.
> Error message thrown during the deserialization:
> {noformat}[18:03:06,159][ERROR][main][BinaryContext] Failed to deserialize 
> object [typeName=binary.BinaryEnumExample$TestClass]
> org.apache.ignite.binary.BinaryObjectException: Failed to read field 
> [name=theEnum]
>   at 
> org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:191)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:887)
>  [classes/:?]
>   at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762)
>  [classes/:?]
>   at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
>  [classes/:?]
>   at 
> org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:794)
>  [classes/:?]
>   at 
> org.apache.ignite.internal.binary.BinaryObjectImpl.deserialize(BinaryObjectImpl.java:636)
>  [classes/:?]
>   at binary.BinaryEnumExample.main(BinaryEnumExample.java:20) [classes/:?]
> Caused by: org.apache.ignite.binary.BinaryObjectException: Unexpected field 
> type [pos=24, expected=Enum, actual=Enum]
>   at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.checkFlagNoHandles(BinaryReaderExImpl.java:1677)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.readEnum0(BinaryReaderExImpl.java:1403)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.readEnum(BinaryReaderExImpl.java:1387)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.readFixedType(BinaryFieldAccessor.java:885)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read0(BinaryFieldAccessor.java:702)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:187)
>  ~[classes/:?]
>   ... 6 more
> Exception in thread "main" class 
> org.apache.ignite.binary.BinaryObjectException: Failed to deserialize object 
> [typeName=binary.BinaryEnumExample$TestClass]
>   at 
> org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:926)
>   at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762)
>   at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
>   at 
> org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:794)
>   at 
> org.apache.ignite.internal.binary.BinaryObjectImpl.deserialize(BinaryObjectImpl.java:636)
>   at binary.BinaryEnumExample.main(BinaryEnumExample.java:20)
> Caused by: class org.apache.ignite.binary.BinaryObjectException: Failed to 
> read field [name=theEnum]
>   at 
> org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:191)
>   at 
> org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:887)
>   ... 5 more
> Caused by: class org.apache.ignite.binary.BinaryObjectException: Unexpected 
> field type [pos=24, expected=Enum, actual=Enum]
>   at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.checkFlagNoHandles(BinaryReaderExImpl.java:1677)
>   at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.readEnum0(BinaryReaderExImpl.java:1403)
>   at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.readEnum(BinaryReaderExImpl.java:1387)
>   at 
> org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.readFixedType(BinaryFieldAccessor.java:885)
>   at 
> org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read0(BinaryFieldAccessor.java:702)
>   at 
> org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:187)
>   ... 6 

[jira] [Updated] (IGNITE-12568) MessageFactory implementations refactoring

2020-01-22 Thread Andrey N. Gura (Jira)


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

Andrey N. Gura updated IGNITE-12568:

Description: 
Currently existing {{MessageFactory}} implementations (at least 
{{GridIoMessageFactory}} and {{GridH2ValueMessageFactory}}) have serious 
problem: it is possible to register several messages with the same direct type. 
It could lead to the cluster freeze due to unexpected unmarshaling error.

*Solution:*

Each message should be registered and during registration we can check that 
there is no registered message with the same type. Otherwise we should not 
start node and print error message.

*Proposed implementation:*

Instead of {{switch-case}} block new array of size 2^16 should be created.  
Each array cell should contain message default constructor reference or lambda 
which is responsible for message instance creation. So during message 
unmarshaling system just lookup ctor-ref or lambda from array by index and 
invoke it in order to create proper message instance.

All message factory extensions and custom message should be registered at the 
same array before communication SPI will be started.

If we try to register message with direct type for which already exists 
registered message then node start process must be terminated (directly, with 
out any failure handlers).
If we get message with unknown direct type (there is now registered message for 
this direct type) then failure handler be invoked.

It could affect perfromance so we should run microbenchmark for this change.

Additional benefit of this change is improving code readability. At present we 
have the following code:

{code:java}
@Override public Message create(short type) {
Message msg = null;

switch (type) {
case -61:
msg = new IgniteDiagnosticMessage();

break;

case -53:
msg = new SchemaOperationStatusMessage();

break;

// etc.
}
{code}

After refactoring it will looks like:

{code:java}
private Supplier[] msgCtrs;

public GridIoMessageFactory(MessageFactory[] ext) {
this.ext = ext;

   registerMessage(-61, IgniteDiagnosticMessage::new)
   registerMessage(-53, SchemaOperationStatusMessage::new)
}

@Override public Message create(short type) {
return msgCtros[type].get();
}
{code}


  was:
Currently existing {{MessageFactory}} implementations (at least 
{{GridIoMessageFactory}} and {{GridH2ValueMessageFactory}}) have serious 
problem: it is possible to register several messages with the same direct type. 
It could lead to the cluster freeze due to unexpected unmarshaling error.

*Solution:*

Each message should be registered and during registration we can check that 
there is no registered message with the same type. Otherwise we should not 
start node and print error message.

*Proposed implementation:*

Instead of {{switch-case}} block new array of size 2^16 should be created.  
Each array cell should contain message default constructor reference or lambda 
which is responsible for message instance creation. So during message 
unmarshaling system just lookup ctor-ref or lambda from array by index and 
invoke it in order to create proper message instance.

All message factory extensions and custom message should be registered at the 
same array before communication SPI will be started.

It could affect perfromance so we should run microbenchmark for this change.

Additional benefit of this change is improving code readability. At present we 
have the following code:

{code:java}
@Override public Message create(short type) {
Message msg = null;

switch (type) {
case -61:
msg = new IgniteDiagnosticMessage();

break;

case -53:
msg = new SchemaOperationStatusMessage();

break;

// etc.
}
{code}

After refactoring it will looks like:

{code:java}
private Supplier[] msgCtrs;

public GridIoMessageFactory(MessageFactory[] ext) {
this.ext = ext;

   registerMessage(-61, IgniteDiagnosticMessage::new)
   registerMessage(-53, SchemaOperationStatusMessage::new)
}

@Override public Message create(short type) {
return msgCtros[type].get();
}
{code}



> MessageFactory implementations refactoring
> --
>
> Key: IGNITE-12568
> URL: https://issues.apache.org/jira/browse/IGNITE-12568
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Andrey N. Gura
>Assignee: Andrey N. Gura
>Priority: Major
>
> Currently existing {{MessageFactory}} implementations (at least 
> {{GridIoMessageFactory}} and {{GridH2ValueMessageFactory}}) have serious 
> problem: it is possible to 

[jira] [Commented] (IGNITE-11927) [IEP-35] Add ability to enable\disable subset of metrics

2020-01-22 Thread Andrey N. Gura (Jira)


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

Andrey N. Gura commented on IGNITE-11927:
-

Just note: current implementation of metrics 
{{communication.sentMessagesByType.}} and 
{{communication.receivedMessagesByType.}} don fit into new metrics 
registry design due to metric registry immutability. From other hand we can't 
create one metric registry for all message types becase there is no any 
information about known message types in the system (except of {{Message}} 
interface). IGNITE-12568 should solve this problem.

> [IEP-35] Add ability to enable\disable subset of metrics
> 
>
> Key: IGNITE-11927
> URL: https://issues.apache.org/jira/browse/IGNITE-11927
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Andrey N. Gura
>Priority: Major
>  Labels: IEP-35
> Fix For: 2.9
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Ignite should be able to:
> * Enable or disable an arbitrary subset of the metrics. User should be able 
> to do it in runtime.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-12568) MessageFactory implementations refactoring

2020-01-22 Thread Andrey N. Gura (Jira)


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

Andrey N. Gura updated IGNITE-12568:

Description: 
Currently existing {{MessageFactory}} implementations (at least 
{{GridIoMessageFactory}} and {{GridH2ValueMessageFactory}}) have serious 
problem: it is possible to register several messages with the same direct type. 
It could lead to the cluster freeze due to unexpected unmarshaling error.

*Solution:*

Each message should be registered and during registration we can check that 
there is no registered message with the same type. Otherwise we should not 
start node and print error message.

*Proposed implementation:*

Instead of {{switch-case}} block new array of size 2^16 should be created.  
Each array cell should contain message default constructor reference or lambda 
which is responsible for message instance creation. So during message 
unmarshaling system just lookup ctor-ref or lambda from array by index and 
invoke it in order to create proper message instance.

All message factory extensions and custom message should be registered at the 
same array before communication SPI will be started.

It could affect perfromance so we should run microbenchmark for this change.

Additional benefit of this change is improving code readability. At present we 
have the following code:

{code:java}
@Override public Message create(short type) {
Message msg = null;

switch (type) {
case -61:
msg = new IgniteDiagnosticMessage();

break;

case -53:
msg = new SchemaOperationStatusMessage();

break;

// etc.
}
{code}

After refactoring it will looks like:

{code:java}
private Supplier[] msgCtrs;

public GridIoMessageFactory(MessageFactory[] ext) {
this.ext = ext;

   registerMessage(-61, IgniteDiagnosticMessage::new)
   registerMessage(-53, SchemaOperationStatusMessage::new)
}

@Override public Message create(short type) {
return msgCtros[type].get();
}
{code}


  was:
Currently existing {{MessageFactory}} implementations (at least 
{{GridIoMessageFactory}} and {{GridH2ValueMessageFactory}}) have serious 
problem: it is possible to register several messages with the same direct type. 
It could lead to the cluster freeze due to unexpected unmarshaling error.

*Solution:*

Each message should be registered and during registration we can check that 
there is no registered message with the same type. Otherwise we should not 
start node and print error message.

*Proposed implementation:*

Instead of {{switch-case}} block new array of size 2^16 should be created.  
Each array cell should contain message default constructor reference or lambda 
which is responsible for message instance creation. So during message 
unmarshaling system just lookup ctor-ref or lambda from array by index and 
invoke it in order to create proper message instance.

All message factory extensions and custom message should be registered at the 
same array before communication SPI will be started.

It could affect perfromance so we should run microbenchmark for this change.

Additional benefit of this change is improving code readability. At present we 
have the following code:

{code:java}
@Override public Message create(short type) {
Message msg = null;

switch (type) {
case -61:
msg = new IgniteDiagnosticMessage();

break;

case -53:
msg = new SchemaOperationStatusMessage();

break;

// etc.
}
{code}

After refactoring it will looks like:

{code:java}
private Supplier[] msgCtrs;

public GridIoMessageFactory(MessageFactory[] ext) {
this.ext = ext;

   registerMessage(-61, IgniteDiagnosticMessage::new)
   registerMessage(-53, SchemaOperationStatusMessage::new)
}

@Override public Message create(short type) {
return msgCtros[type].apply();
}
{code}



> MessageFactory implementations refactoring
> --
>
> Key: IGNITE-12568
> URL: https://issues.apache.org/jira/browse/IGNITE-12568
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Andrey N. Gura
>Assignee: Andrey N. Gura
>Priority: Major
>
> Currently existing {{MessageFactory}} implementations (at least 
> {{GridIoMessageFactory}} and {{GridH2ValueMessageFactory}}) have serious 
> problem: it is possible to register several messages with the same direct 
> type. It could lead to the cluster freeze due to unexpected unmarshaling 
> error.
> *Solution:*
> Each message should be registered and during registration we can check that 
> there is no registered message with the same type. Otherwise we should not 
> 

[jira] [Updated] (IGNITE-12568) MessageFactory implementations refactoring

2020-01-22 Thread Andrey N. Gura (Jira)


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

Andrey N. Gura updated IGNITE-12568:

Description: 
Currently existing {{MessageFactory}} implementations (at least 
{{GridIoMessageFactory}} and {{GridH2ValueMessageFactory}}) have serious 
problem: it is possible to register several messages with the same direct type. 
It could lead to the cluster freeze due to unexpected unmarshaling error.

*Solution:*

Each message should be registered and during registration we can check that 
there is no registered message with the same type. Otherwise we should not 
start node and print error message.

*Proposed implementation:*

Instead of {{switch-case}} block new array of size 2^16 should be created.  
Each array cell should contain message default constructor reference or lambda 
which is responsible for message instance creation. So during message 
unmarshaling system just lookup ctor-ref or lambda from array by index and 
invoke it in order to create proper message instance.

All message factory extensions and custom message should be registered at the 
same array before communication SPI will be started.

It could affect perfromance so we should run microbenchmark for this change.

Additional benefit of this change is improving code readability. At present we 
have the following code:

{code:java}
@Override public Message create(short type) {
Message msg = null;

switch (type) {
case -61:
msg = new IgniteDiagnosticMessage();

break;

case -53:
msg = new SchemaOperationStatusMessage();

break;

// etc.
}
{code}

After refactoring it will looks like:

{code:java}
private Supplier[] msgCtrs;

public GridIoMessageFactory(MessageFactory[] ext) {
this.ext = ext;

   registerMessage(-61, IgniteDiagnosticMessage::new)
   registerMessage(-53, SchemaOperationStatusMessage::new)
}

@Override public Message create(short type) {
return msgCtros[type].apply();
}
{code}


> MessageFactory implementations refactoring
> --
>
> Key: IGNITE-12568
> URL: https://issues.apache.org/jira/browse/IGNITE-12568
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Andrey N. Gura
>Assignee: Andrey N. Gura
>Priority: Major
>
> Currently existing {{MessageFactory}} implementations (at least 
> {{GridIoMessageFactory}} and {{GridH2ValueMessageFactory}}) have serious 
> problem: it is possible to register several messages with the same direct 
> type. It could lead to the cluster freeze due to unexpected unmarshaling 
> error.
> *Solution:*
> Each message should be registered and during registration we can check that 
> there is no registered message with the same type. Otherwise we should not 
> start node and print error message.
> *Proposed implementation:*
> Instead of {{switch-case}} block new array of size 2^16 should be created.  
> Each array cell should contain message default constructor reference or 
> lambda which is responsible for message instance creation. So during message 
> unmarshaling system just lookup ctor-ref or lambda from array by index and 
> invoke it in order to create proper message instance.
> All message factory extensions and custom message should be registered at the 
> same array before communication SPI will be started.
> It could affect perfromance so we should run microbenchmark for this change.
> Additional benefit of this change is improving code readability. At present 
> we have the following code:
> {code:java}
> @Override public Message create(short type) {
> Message msg = null;
> switch (type) {
> case -61:
> msg = new IgniteDiagnosticMessage();
> break;
> case -53:
> msg = new SchemaOperationStatusMessage();
> break;
> // etc.
> }
> {code}
> After refactoring it will looks like:
> {code:java}
> private Supplier[] msgCtrs;
> public GridIoMessageFactory(MessageFactory[] ext) {
> this.ext = ext;
>registerMessage(-61, IgniteDiagnosticMessage::new)
>registerMessage(-53, SchemaOperationStatusMessage::new)
> }
> @Override public Message create(short type) {
> return msgCtros[type].apply();
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-12569) Can't set serialized enum to a BinaryObject's field

2020-01-22 Thread Konstantin Orlov (Jira)
Konstantin Orlov created IGNITE-12569:
-

 Summary: Can't set serialized enum to a BinaryObject's field
 Key: IGNITE-12569
 URL: https://issues.apache.org/jira/browse/IGNITE-12569
 Project: Ignite
  Issue Type: Bug
  Components: binary
Reporter: Konstantin Orlov
Assignee: Konstantin Orlov


The deserialization of the BinaryObject fails since a serialized representation 
of the enum was set to a field instead of the enum itself. Because of this 
issue there is no way to work with enums without a corresponding class.

Error message thrown during the deserialization:

{noformat}[18:03:06,159][ERROR][main][BinaryContext] Failed to deserialize 
object [typeName=binary.BinaryEnumExample$TestClass]
org.apache.ignite.binary.BinaryObjectException: Failed to read field 
[name=theEnum]
at 
org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:191)
 ~[classes/:?]
at 
org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:887)
 [classes/:?]
at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762)
 [classes/:?]
at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
 [classes/:?]
at 
org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:794)
 [classes/:?]
at 
org.apache.ignite.internal.binary.BinaryObjectImpl.deserialize(BinaryObjectImpl.java:636)
 [classes/:?]
at binary.BinaryEnumExample.main(BinaryEnumExample.java:20) [classes/:?]
Caused by: org.apache.ignite.binary.BinaryObjectException: Unexpected field 
type [pos=24, expected=Enum, actual=Enum]
at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.checkFlagNoHandles(BinaryReaderExImpl.java:1677)
 ~[classes/:?]
at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.readEnum0(BinaryReaderExImpl.java:1403)
 ~[classes/:?]
at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.readEnum(BinaryReaderExImpl.java:1387)
 ~[classes/:?]
at 
org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.readFixedType(BinaryFieldAccessor.java:885)
 ~[classes/:?]
at 
org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read0(BinaryFieldAccessor.java:702)
 ~[classes/:?]
at 
org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:187)
 ~[classes/:?]
... 6 more
Exception in thread "main" class 
org.apache.ignite.binary.BinaryObjectException: Failed to deserialize object 
[typeName=binary.BinaryEnumExample$TestClass]
at 
org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:926)
at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762)
at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
at 
org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:794)
at 
org.apache.ignite.internal.binary.BinaryObjectImpl.deserialize(BinaryObjectImpl.java:636)
at binary.BinaryEnumExample.main(BinaryEnumExample.java:20)
Caused by: class org.apache.ignite.binary.BinaryObjectException: Failed to read 
field [name=theEnum]
at 
org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:191)
at 
org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:887)
... 5 more
Caused by: class org.apache.ignite.binary.BinaryObjectException: Unexpected 
field type [pos=24, expected=Enum, actual=Enum]
at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.checkFlagNoHandles(BinaryReaderExImpl.java:1677)
at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.readEnum0(BinaryReaderExImpl.java:1403)
at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.readEnum(BinaryReaderExImpl.java:1387)
at 
org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.readFixedType(BinaryFieldAccessor.java:885)
at 
org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read0(BinaryFieldAccessor.java:702)
at 
org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:187)
... 6 more{noformat}




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-12568) MessageFactory implementations refactoring

2020-01-22 Thread Andrey N. Gura (Jira)


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

Andrey N. Gura updated IGNITE-12568:

Ignite Flags:   (was: Docs Required,Release Notes Required)

> MessageFactory implementations refactoring
> --
>
> Key: IGNITE-12568
> URL: https://issues.apache.org/jira/browse/IGNITE-12568
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Andrey N. Gura
>Assignee: Andrey N. Gura
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-12568) MessageFactory implementations refactoring

2020-01-22 Thread Andrey N. Gura (Jira)
Andrey N. Gura created IGNITE-12568:
---

 Summary: MessageFactory implementations refactoring
 Key: IGNITE-12568
 URL: https://issues.apache.org/jira/browse/IGNITE-12568
 Project: Ignite
  Issue Type: Improvement
Reporter: Andrey N. Gura
Assignee: Andrey N. Gura






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (IGNITE-12567) H2Tree goes into illegal state when non-indexed columns are dropped

2020-01-22 Thread Ivan Pavlukhin (Jira)


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

Ivan Pavlukhin edited comment on IGNITE-12567 at 1/22/20 2:21 PM:
--

[~korlov], LGTM. I will merge it once visa is ready.


was (Author: pavlukhin):
[~korlov], LGTM. I will merged it once visa is ready.

> H2Tree goes into illegal state when non-indexed columns are dropped
> ---
>
> Key: IGNITE-12567
> URL: https://issues.apache.org/jira/browse/IGNITE-12567
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Konstantin Orlov
>Assignee: Konstantin Orlov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *How to reproduce:*
> * {{CREATE TABLE tbl (f0 INT, f1 INT, f2 INT, f3 INT, f4 INT, PRIMARY KEY 
> (f3, f4))}}
> * populate table with some data
> * {{ALTER TABLE tbl DROP COLUMN f1, f2}}
> * try to execute query which will use pk index: {{SELECT * FROM tbl WHERE f3 
> = 1 AND f4 = 1}} 
> *Expected*:
> * Query returns result set
> *Actual*:
> * Query fails with {{General error: 
> "java.lang.ArrayIndexOutOfBoundsException: 5";}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12567) H2Tree goes into illegal state when non-indexed columns are dropped

2020-01-22 Thread Ivan Pavlukhin (Jira)


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

Ivan Pavlukhin commented on IGNITE-12567:
-

[~korlov], LGTM. I will merged it once visa is ready.

> H2Tree goes into illegal state when non-indexed columns are dropped
> ---
>
> Key: IGNITE-12567
> URL: https://issues.apache.org/jira/browse/IGNITE-12567
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Konstantin Orlov
>Assignee: Konstantin Orlov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *How to reproduce:*
> * {{CREATE TABLE tbl (f0 INT, f1 INT, f2 INT, f3 INT, f4 INT, PRIMARY KEY 
> (f3, f4))}}
> * populate table with some data
> * {{ALTER TABLE tbl DROP COLUMN f1, f2}}
> * try to execute query which will use pk index: {{SELECT * FROM tbl WHERE f3 
> = 1 AND f4 = 1}} 
> *Expected*:
> * Query returns result set
> *Actual*:
> * Query fails with {{General error: 
> "java.lang.ArrayIndexOutOfBoundsException: 5";}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12565) Extend test coverage [IGNITE-9279] Support custom default SQL schema name

2020-01-22 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov commented on IGNITE-12565:
---

Now the patch looks good to me. Let's wait for visa.

> Extend test coverage [IGNITE-9279] Support custom default SQL schema name
> -
>
> Key: IGNITE-12565
> URL: https://issues.apache.org/jira/browse/IGNITE-12565
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Reporter: Ivan Pavlukhin
>Assignee: Ivan Pavlukhin
>Priority: Major
> Fix For: 2.9
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Add more tests to cover schemas support



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12565) Extend test coverage [IGNITE-9279] Support custom default SQL schema name

2020-01-22 Thread Ivan Pavlukhin (Jira)


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

Ivan Pavlukhin commented on IGNITE-12565:
-

[~korlov], I removed tests ignored with malformed links.

> Extend test coverage [IGNITE-9279] Support custom default SQL schema name
> -
>
> Key: IGNITE-12565
> URL: https://issues.apache.org/jira/browse/IGNITE-12565
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Reporter: Ivan Pavlukhin
>Assignee: Ivan Pavlukhin
>Priority: Major
> Fix For: 2.9
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Add more tests to cover schemas support



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12567) H2Tree goes into illegal state when non-indexed columns are dropped

2020-01-22 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov commented on IGNITE-12567:
---

[~ipavlukhin], please review the patch. TC visa is in progress.

> H2Tree goes into illegal state when non-indexed columns are dropped
> ---
>
> Key: IGNITE-12567
> URL: https://issues.apache.org/jira/browse/IGNITE-12567
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Konstantin Orlov
>Assignee: Konstantin Orlov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *How to reproduce:*
> * {{CREATE TABLE tbl (f0 INT, f1 INT, f2 INT, f3 INT, f4 INT, PRIMARY KEY 
> (f3, f4))}}
> * populate table with some data
> * {{ALTER TABLE tbl DROP COLUMN f1, f2}}
> * try to execute query which will use pk index: {{SELECT * FROM tbl WHERE f3 
> = 1 AND f4 = 1}} 
> *Expected*:
> * Query returns result set
> *Actual*:
> * Query fails with {{General error: 
> "java.lang.ArrayIndexOutOfBoundsException: 5";}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12549) Scan query/iterator on a replicated cache may get wrong results

2020-01-22 Thread Sergey Kosarev (Jira)


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

Sergey Kosarev commented on IGNITE-12549:
-

[~Pavlukhin], thanks. Please check my reply there.

> Scan query/iterator on a replicated cache may get wrong results
> ---
>
> Key: IGNITE-12549
> URL: https://issues.apache.org/jira/browse/IGNITE-12549
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: 2.7.6
>Reporter: Sergey Kosarev
>Priority: Critical
> Fix For: 2.8
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Case 1
> 1. start server node 1
> 2. create and fill replicated cache with RebalanceMode.Async (as by default)
> 3. start servr node 2 
> 4. immediately execute scan query  on the replicated cache((or just iterate 
> the cache)) on the node 2
> It can get empty or partial results. (if rebalance on node 2 is finished)
> Case 2
> 1. start server node 1
> 2. create and fill replicated cache with RebalanceMode.Async (as by default)
> 3. start client node 2
> 4. start server node 3 
> 5. immediately execute scan query  on the replicated cache((or just iterate 
> the cache)) on the client node 2
> It can get empty or partial results. (if rebalance on node 2 is not finished 
> and query is mapped on the node 2)
> It looks like problem in the 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter#nodes()
> case REPLICATED:
> if (prj != null || part != null)
> return nodes(cctx, prj, part);
> if (cctx.affinityNode())
> return *Collections.singletonList(cctx.localNode())*;
> Collection affNodes = nodes(cctx, null, null);
> return affNodes.isEmpty() ? affNodes : 
> *Collections.singletonList(F.rand(affNodes))*;
> case PARTITIONED:
> return nodes(cctx, prj, part);
>  which is executed in 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter#executeScanQuery.
> If executed on a just started node it obviously returns the local node 
> disregarding was it rebalanced or not.
> If executed on a client it returns a random affinity node, so it also can be 
> not yet rebalanced node.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12567) H2Tree goes into illegal state when non-indexed columns are dropped

2020-01-22 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov commented on IGNITE-12567:
---

The problem with in-memory state, so possible work around is a rebooting the 
node.

> H2Tree goes into illegal state when non-indexed columns are dropped
> ---
>
> Key: IGNITE-12567
> URL: https://issues.apache.org/jira/browse/IGNITE-12567
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Konstantin Orlov
>Assignee: Konstantin Orlov
>Priority: Major
>
> *How to reproduce:*
> * {{CREATE TABLE tbl (f0 INT, f1 INT, f2 INT, f3 INT, f4 INT, PRIMARY KEY 
> (f3, f4))}}
> * populate table with some data
> * {{ALTER TABLE tbl DROP COLUMN f1, f2}}
> * try to execute query which will use pk index: {{SELECT * FROM tbl WHERE f3 
> = 1 AND f4 = 1}} 
> *Expected*:
> * Query returns result set
> *Actual*:
> * Query fails with {{General error: 
> "java.lang.ArrayIndexOutOfBoundsException: 5";}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Issue Comment Deleted] (IGNITE-6804) Print a warning if HashMap is passed into bulk update operations

2020-01-22 Thread Ilya Kasnacheev (Jira)


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

Ilya Kasnacheev updated IGNITE-6804:

Comment: was deleted

(was: {panel:title=Branch: [pull/6976/head] Base: [master] : Possible Blockers 
(49)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}Start Nodes{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=4936485]]
* IgniteStartStopRestartTestSuite: 
IgniteProjectionStartStopRestartSelfTest.testCustomScript - Test has low fail 
rate in base branch 0,0% and is not flaky

{color:#d04437}Queries 1{color} [[tests 
42|https://ci.ignite.apache.org/viewLog.html?buildId=4936546]]
* IgniteBinaryCacheQueryTestSuite: 
IgniteCachePartitionedTransactionalSnapshotColumnConstraintTest.testPutLongStringKeyField
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCachePartitionedTransactionalSnapshotColumnConstraintTest.testPutValidDecimalKeyAndValueField
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCachePartitionedTransactionalSnapshotColumnConstraintTest.testPutLongStringValueField
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCacheReplicatedTransactionalSnapshotColumnConstraintTest.testPutValidDecimalKeyAndValueField
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCacheReplicatedTransactionalSnapshotColumnConstraintTest.testPutLongStringKeyField
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCacheReplicatedTransactionalSnapshotColumnConstraintTest.testPutLongStringValueField
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCachePartitionedAtomicColumnConstraintsTest.testPutValidDecimalKeyAndValueField
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCachePartitionedAtomicColumnConstraintsTest.testPutTooLongStringKeyFieldFail
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCachePartitionedAtomicColumnConstraintsTest.testPutLongStringKeyField - 
Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCachePartitionedAtomicColumnConstraintsTest.testPutTooLongStringValueFieldFail
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCachePartitionedAtomicColumnConstraintsTest.testPutTooLongDecimalValueFieldScaleFail
 - Test has low fail rate in base branch 0,0% and is not flaky
... and 31 tests blockers

{color:#d04437}Data Structures{color} [[tests 
4|https://ci.ignite.apache.org/viewLog.html?buildId=4936531]]
* IgniteCacheDataStructuresSelfTestSuite: 
SingleBackupImplicitTransactionalReadRepairTest.test[getEntry=false, 
async=false] - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteCacheDataStructuresSelfTestSuite: 
SingleBackupImplicitTransactionalReadRepairTest.test[getEntry=false, 
async=true] - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteCacheDataStructuresSelfTestSuite: 
SingleBackupImplicitTransactionalReadRepairTest.test[getEntry=true, 
async=false] - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteCacheDataStructuresSelfTestSuite: 
SingleBackupImplicitTransactionalReadRepairTest.test[getEntry=true, async=true] 
- Test has low fail rate in base branch 0,0% and is not flaky

{color:#d04437}Cache 9{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=4936527]]
* IgniteCacheTestSuite9: 
TxPartitionCounterStateOnePrimaryTwoBackupsTest.testPartialPrepare_3TX_6_1 - 
Test has low fail rate in base branch 0,0% and is not flaky

{color:#d04437}MVCC Cache 5{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=4936558]]
* IgniteCacheMvccTestSuite5: 
GridCacheHashMapPutAllWarningsTest.testHashMapPutAllExplicitOptimistic - 
History for base branch is absent.

{panel}
[TeamCity *-- Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=4936570buildTypeId=IgniteTests24Java8_RunAll])

> Print a warning if HashMap is passed into bulk update operations
> 
>
> Key: IGNITE-6804
> URL: https://issues.apache.org/jira/browse/IGNITE-6804
> Project: Ignite
>  Issue Type: Improvement
>  Components: cache
>Reporter: Denis A. Magda
>Assignee: Ilya Kasnacheev
>Priority: Critical
>  Labels: usability
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Ignite newcomers tend to stumble on deadlocks simply because the keys are 
> passed in an unordered HashMap. 

[jira] [Commented] (IGNITE-12565) Extend test coverage [IGNITE-9279] Support custom default SQL schema name

2020-01-22 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov commented on IGNITE-12565:
---

But what about links to private Jira? Should we create separate issue into 
apache's Jira for ignored tests?

> Extend test coverage [IGNITE-9279] Support custom default SQL schema name
> -
>
> Key: IGNITE-12565
> URL: https://issues.apache.org/jira/browse/IGNITE-12565
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Reporter: Ivan Pavlukhin
>Assignee: Ivan Pavlukhin
>Priority: Major
> Fix For: 2.9
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Add more tests to cover schemas support



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Issue Comment Deleted] (IGNITE-6804) Print a warning if HashMap is passed into bulk update operations

2020-01-22 Thread Ilya Kasnacheev (Jira)


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

Ilya Kasnacheev updated IGNITE-6804:

Comment: was deleted

(was: {panel:title=Branch: [pull/6976/head] Base: [master] : Possible Blockers 
(47)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}Cache 6{color} [[tests 0 Exit Code 
|https://ci.ignite.apache.org/viewLog.html?buildId=4755357]]

{color:#d04437}Cache 5{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=4755178]]
* IgniteCacheTestSuite5: ClientDelayedJoinTest.testClientJoinAndCacheStop - 
Test has low fail rate in base branch 0,0% and is not flaky

{color:#d04437}Queries 1{color} [[tests 
42|https://ci.ignite.apache.org/viewLog.html?buildId=4755201]]
* IgniteBinaryCacheQueryTestSuite: 
IgniteCachePartitionedTransactionalSnapshotColumnConstraintTest.testPutLongStringKeyField
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCachePartitionedTransactionalSnapshotColumnConstraintTest.testPutValidDecimalKeyAndValueField
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCachePartitionedTransactionalSnapshotColumnConstraintTest.testPutLongStringValueField
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCacheReplicatedTransactionalSnapshotColumnConstraintTest.testPutValidDecimalKeyAndValueField
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCacheReplicatedTransactionalSnapshotColumnConstraintTest.testPutLongStringKeyField
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCacheReplicatedTransactionalSnapshotColumnConstraintTest.testPutLongStringValueField
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCachePartitionedAtomicColumnConstraintsTest.testPutValidDecimalKeyAndValueField
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCachePartitionedAtomicColumnConstraintsTest.testPutTooLongStringKeyFieldFail
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCachePartitionedAtomicColumnConstraintsTest.testPutLongStringKeyField - 
Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCachePartitionedAtomicColumnConstraintsTest.testPutTooLongStringValueFieldFail
 - Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IgniteCachePartitionedAtomicColumnConstraintsTest.testPutTooLongDecimalValueFieldScaleFail
 - Test has low fail rate in base branch 0,0% and is not flaky
... and 31 tests blockers

{color:#d04437}MVCC Cache 5{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=4755213]]
* IgniteCacheMvccTestSuite5: 
GridCacheHashMapPutAllWarningsTest.testHashMapPutAllExplicitOptimistic - 
History for base branch is absent.

{color:#d04437}PDS 3{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=4755193]]
* IgnitePdsTestSuite3: 
IgnitePdsContinuousRestartTest.testRebalancingDuringLoad_8000_8000_8_1 - Test 
has low fail rate in base branch 0,0% and is not flaky

{color:#d04437}Platform .NET (Inspections)*{color} [[tests 0 Failure on metric 
|https://ci.ignite.apache.org/viewLog.html?buildId=4755197]]

{panel}
[TeamCity *-- Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=4755225buildTypeId=IgniteTests24Java8_RunAll])

> Print a warning if HashMap is passed into bulk update operations
> 
>
> Key: IGNITE-6804
> URL: https://issues.apache.org/jira/browse/IGNITE-6804
> Project: Ignite
>  Issue Type: Improvement
>  Components: cache
>Reporter: Denis A. Magda
>Assignee: Ilya Kasnacheev
>Priority: Critical
>  Labels: usability
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Ignite newcomers tend to stumble on deadlocks simply because the keys are 
> passed in an unordered HashMap. Propose to do the following:
> * update bulk operations Java docs.
> * print out a warning if not SortedMap (e.g. HashMap, 
> Weak/Identity/Concurrent/Linked HashMap etc) is passed into
> a bulk method (instead of SortedMap) and contains more than 1 element. 
> However, we should make sure that we only print that warning once and not 
> every time the API is called.
> * do not produce warning for explicit optimistic transactions
> More details are here:
> http://apache-ignite-developers.2346864.n4.nabble.com/Re-Ignite-2-0-0-GridUnsafe-unmonitor-td23706.html



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-12567) H2Tree goes into illegal state when non-indexed columns are dropped

2020-01-22 Thread Konstantin Orlov (Jira)
Konstantin Orlov created IGNITE-12567:
-

 Summary: H2Tree goes into illegal state when non-indexed columns 
are dropped
 Key: IGNITE-12567
 URL: https://issues.apache.org/jira/browse/IGNITE-12567
 Project: Ignite
  Issue Type: Bug
  Components: sql
Reporter: Konstantin Orlov
Assignee: Konstantin Orlov


*How to reproduce:*
* {{CREATE TABLE tbl (f0 INT, f1 INT, f2 INT, f3 INT, f4 INT, PRIMARY KEY (f3, 
f4))}}
* populate table with some data
* {{ALTER TABLE tbl DROP COLUMN f1, f2}}
* try to execute query which will use pk index: {{SELECT * FROM tbl WHERE f3 = 
1 AND f4 = 1}} 

*Expected*:
* Query returns result set

*Actual*:
* Query fails with {{General error: "java.lang.ArrayIndexOutOfBoundsException: 
5";}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12565) Extend test coverage [IGNITE-9279] Support custom default SQL schema name

2020-01-22 Thread Ivan Pavlukhin (Jira)


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

Ivan Pavlukhin commented on IGNITE-12565:
-

[~korlov], I changed PR according to your comments. Could you please take a 
look again?

> Extend test coverage [IGNITE-9279] Support custom default SQL schema name
> -
>
> Key: IGNITE-12565
> URL: https://issues.apache.org/jira/browse/IGNITE-12565
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Reporter: Ivan Pavlukhin
>Assignee: Ivan Pavlukhin
>Priority: Major
> Fix For: 2.9
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Add more tests to cover schemas support



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12549) Scan query/iterator on a replicated cache may get wrong results

2020-01-22 Thread Ivan Pavlukhin (Jira)


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

Ivan Pavlukhin commented on IGNITE-12549:
-

[~macrergate], please check my comment on 
[GitHub|https://github.com/apache/ignite/pull/7277].

> Scan query/iterator on a replicated cache may get wrong results
> ---
>
> Key: IGNITE-12549
> URL: https://issues.apache.org/jira/browse/IGNITE-12549
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: 2.7.6
>Reporter: Sergey Kosarev
>Priority: Critical
> Fix For: 2.8
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Case 1
> 1. start server node 1
> 2. create and fill replicated cache with RebalanceMode.Async (as by default)
> 3. start servr node 2 
> 4. immediately execute scan query  on the replicated cache((or just iterate 
> the cache)) on the node 2
> It can get empty or partial results. (if rebalance on node 2 is finished)
> Case 2
> 1. start server node 1
> 2. create and fill replicated cache with RebalanceMode.Async (as by default)
> 3. start client node 2
> 4. start server node 3 
> 5. immediately execute scan query  on the replicated cache((or just iterate 
> the cache)) on the client node 2
> It can get empty or partial results. (if rebalance on node 2 is not finished 
> and query is mapped on the node 2)
> It looks like problem in the 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter#nodes()
> case REPLICATED:
> if (prj != null || part != null)
> return nodes(cctx, prj, part);
> if (cctx.affinityNode())
> return *Collections.singletonList(cctx.localNode())*;
> Collection affNodes = nodes(cctx, null, null);
> return affNodes.isEmpty() ? affNodes : 
> *Collections.singletonList(F.rand(affNodes))*;
> case PARTITIONED:
> return nodes(cctx, prj, part);
>  which is executed in 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter#executeScanQuery.
> If executed on a just started node it obviously returns the local node 
> disregarding was it rebalanced or not.
> If executed on a client it returns a random affinity node, so it also can be 
> not yet rebalanced node.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (IGNITE-1666) Fallback for full scan query does not work

2020-01-22 Thread Andrey N. Gura (Jira)


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

Andrey N. Gura edited comment on IGNITE-1666 at 1/22/20 1:20 PM:
-

As I can see from code partition will be reserved only if scan query created 
for scan of one particular partition. For common case with scan of all 
partitions there is no logic for partitions reservation. So, despite we can't 
reproduce the problem, it is still actual. Issue is reopened.


was (Author: agura):
As I can see from code partition will be reserved only if scan query created 
for scan of one particular partition. For common case with scan of all 
partitions there is no logic for partitions reservation. So, despite we can't 
reproduce the problem, it is still actual.

> Fallback for full scan query does not work
> --
>
> Key: IGNITE-1666
> URL: https://issues.apache.org/jira/browse/IGNITE-1666
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: ignite-1.4
>Reporter: Andrey N. Gura
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Fallback for full scan query doesn't work.
> Steps to reproduce (all in one thread):
> 1. Start N nodes, create cache and populate some entries to cache.
> 2. Stop some node.
> 3. Get iterator on the cache and fetch all entries one by one.
> 4. Repeat from step 2.
> On some iteration scan query fails with exception: 
> {noformat}
> javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: 
> Query execution failed: GridCacheQueryBean [qry=GridCacheQueryAdapter 
> [type=SCAN, clsName=null, clause=null, filter=null, part=null, incMeta=false, 
> metrics=GridCacheQueryMetricsAdapter [minTime=0, maxTime=0, sumTime=0, 
> avgTime=0.0, execs=0, completed=0, fails=0], pageSize=1024, timeout=0, 
> keepAll=false, incBackups=false, dedup=false, prj=null, keepPortable=false, 
> subjId=3026635f-2a79-4a59-83cb-9db427f45003, taskHash=0], rdc=null, 
> trans=null]
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1614)
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.next(GridCacheQueryFutureAdapter.java:181)
>   at 
> org.apache.ignite.internal.processors.cache.CacheWeakQueryIteratorsHolder$WeakQueryFutureIterator.init(CacheWeakQueryIteratorsHolder.java:228)
>   at 
> org.apache.ignite.internal.processors.cache.CacheWeakQueryIteratorsHolder$WeakQueryFutureIterator.onHasNext(CacheWeakQueryIteratorsHolder.java:180)
>   at 
> org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
>   at 
> org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.CacheIteratorWhileRemovalSelfTest.doTest(CacheIteratorWhileRemovalSelfTest.java:135)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.CacheIteratorWhileRemovalSelfTest.testFullScanIterator(CacheIteratorWhileRemovalSelfTest.java:91)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:606)
>   at junit.framework.TestCase.runTest(TestCase.java:176)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1658)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:112)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest$4.run(GridAbstractTest.java:1596)
> Caused by: class org.apache.ignite.IgniteCheckedException: Query execution 
> failed: GridCacheQueryBean [qry=GridCacheQueryAdapter [type=SCAN, 
> clsName=null, clause=null, filter=null, part=null, incMeta=false, 
> metrics=GridCacheQueryMetricsAdapter [minTime=0, maxTime=0, sumTime=0, 
> avgTime=0.0, execs=0, completed=0, fails=0], pageSize=1024, timeout=0, 
> keepAll=false, incBackups=false, dedup=false, prj=null, keepPortable=false, 
> subjId=3026635f-2a79-4a59-83cb-9db427f45003, taskHash=0], rdc=null, 
> trans=null]
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.checkError(GridCacheQueryFutureAdapter.java:267)
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.internalIterator(GridCacheQueryFutureAdapter.java:276)
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.next(GridCacheQueryFutureAdapter.java:171)
> 

[jira] [Reopened] (IGNITE-1666) Fallback for full scan query does not work

2020-01-22 Thread Andrey N. Gura (Jira)


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

Andrey N. Gura reopened IGNITE-1666:

  Assignee: (was: Diana Iakovleva)

> Fallback for full scan query does not work
> --
>
> Key: IGNITE-1666
> URL: https://issues.apache.org/jira/browse/IGNITE-1666
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: ignite-1.4
>Reporter: Andrey N. Gura
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Fallback for full scan query doesn't work.
> Steps to reproduce (all in one thread):
> 1. Start N nodes, create cache and populate some entries to cache.
> 2. Stop some node.
> 3. Get iterator on the cache and fetch all entries one by one.
> 4. Repeat from step 2.
> On some iteration scan query fails with exception: 
> {noformat}
> javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: 
> Query execution failed: GridCacheQueryBean [qry=GridCacheQueryAdapter 
> [type=SCAN, clsName=null, clause=null, filter=null, part=null, incMeta=false, 
> metrics=GridCacheQueryMetricsAdapter [minTime=0, maxTime=0, sumTime=0, 
> avgTime=0.0, execs=0, completed=0, fails=0], pageSize=1024, timeout=0, 
> keepAll=false, incBackups=false, dedup=false, prj=null, keepPortable=false, 
> subjId=3026635f-2a79-4a59-83cb-9db427f45003, taskHash=0], rdc=null, 
> trans=null]
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1614)
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.next(GridCacheQueryFutureAdapter.java:181)
>   at 
> org.apache.ignite.internal.processors.cache.CacheWeakQueryIteratorsHolder$WeakQueryFutureIterator.init(CacheWeakQueryIteratorsHolder.java:228)
>   at 
> org.apache.ignite.internal.processors.cache.CacheWeakQueryIteratorsHolder$WeakQueryFutureIterator.onHasNext(CacheWeakQueryIteratorsHolder.java:180)
>   at 
> org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
>   at 
> org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.CacheIteratorWhileRemovalSelfTest.doTest(CacheIteratorWhileRemovalSelfTest.java:135)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.CacheIteratorWhileRemovalSelfTest.testFullScanIterator(CacheIteratorWhileRemovalSelfTest.java:91)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:606)
>   at junit.framework.TestCase.runTest(TestCase.java:176)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1658)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:112)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest$4.run(GridAbstractTest.java:1596)
> Caused by: class org.apache.ignite.IgniteCheckedException: Query execution 
> failed: GridCacheQueryBean [qry=GridCacheQueryAdapter [type=SCAN, 
> clsName=null, clause=null, filter=null, part=null, incMeta=false, 
> metrics=GridCacheQueryMetricsAdapter [minTime=0, maxTime=0, sumTime=0, 
> avgTime=0.0, execs=0, completed=0, fails=0], pageSize=1024, timeout=0, 
> keepAll=false, incBackups=false, dedup=false, prj=null, keepPortable=false, 
> subjId=3026635f-2a79-4a59-83cb-9db427f45003, taskHash=0], rdc=null, 
> trans=null]
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.checkError(GridCacheQueryFutureAdapter.java:267)
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.internalIterator(GridCacheQueryFutureAdapter.java:276)
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.next(GridCacheQueryFutureAdapter.java:171)
>   ... 14 more
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to execute 
> query on node [query=GridCacheQueryBean [qry=GridCacheQueryAdapter 
> [type=SCAN, clsName=null, clause=null, filter=null, part=null, incMeta=false, 
> metrics=GridCacheQueryMetricsAdapter [minTime=0, maxTime=0, sumTime=0, 
> avgTime=0.0, execs=0, completed=0, fails=0], pageSize=1024, timeout=0, 
> keepAll=false, incBackups=false, dedup=false, prj=null, keepPortable=false, 
> subjId=3026635f-2a79-4a59-83cb-9db427f45003, taskHash=0], rdc=null, 
> trans=null], nodeId=203d0a36-8587-4a32-aa51-3332d126d002]
>   at 
> 

[jira] [Comment Edited] (IGNITE-1666) Fallback for full scan query does not work

2020-01-22 Thread Andrey N. Gura (Jira)


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

Andrey N. Gura edited comment on IGNITE-1666 at 1/22/20 1:19 PM:
-

As I can see from code partition will be reserved only if scan query created 
for scan of one particular partition. For common case with scan of all 
partitions there is no logic for partitions reservation. So, despite we can't 
reproduce the problem, it is still actual.


was (Author: agura):
As I can see from code partition will be reserved only if scan query created 
for scan of one particular partition. For common case with scan of all 
partitions there si no logic for partitions reservation. So, despite we can't 
reproduce the problem, it is still actual.

> Fallback for full scan query does not work
> --
>
> Key: IGNITE-1666
> URL: https://issues.apache.org/jira/browse/IGNITE-1666
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: ignite-1.4
>Reporter: Andrey N. Gura
>Assignee: Diana Iakovleva
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Fallback for full scan query doesn't work.
> Steps to reproduce (all in one thread):
> 1. Start N nodes, create cache and populate some entries to cache.
> 2. Stop some node.
> 3. Get iterator on the cache and fetch all entries one by one.
> 4. Repeat from step 2.
> On some iteration scan query fails with exception: 
> {noformat}
> javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: 
> Query execution failed: GridCacheQueryBean [qry=GridCacheQueryAdapter 
> [type=SCAN, clsName=null, clause=null, filter=null, part=null, incMeta=false, 
> metrics=GridCacheQueryMetricsAdapter [minTime=0, maxTime=0, sumTime=0, 
> avgTime=0.0, execs=0, completed=0, fails=0], pageSize=1024, timeout=0, 
> keepAll=false, incBackups=false, dedup=false, prj=null, keepPortable=false, 
> subjId=3026635f-2a79-4a59-83cb-9db427f45003, taskHash=0], rdc=null, 
> trans=null]
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1614)
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.next(GridCacheQueryFutureAdapter.java:181)
>   at 
> org.apache.ignite.internal.processors.cache.CacheWeakQueryIteratorsHolder$WeakQueryFutureIterator.init(CacheWeakQueryIteratorsHolder.java:228)
>   at 
> org.apache.ignite.internal.processors.cache.CacheWeakQueryIteratorsHolder$WeakQueryFutureIterator.onHasNext(CacheWeakQueryIteratorsHolder.java:180)
>   at 
> org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
>   at 
> org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.CacheIteratorWhileRemovalSelfTest.doTest(CacheIteratorWhileRemovalSelfTest.java:135)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.CacheIteratorWhileRemovalSelfTest.testFullScanIterator(CacheIteratorWhileRemovalSelfTest.java:91)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:606)
>   at junit.framework.TestCase.runTest(TestCase.java:176)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1658)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:112)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest$4.run(GridAbstractTest.java:1596)
> Caused by: class org.apache.ignite.IgniteCheckedException: Query execution 
> failed: GridCacheQueryBean [qry=GridCacheQueryAdapter [type=SCAN, 
> clsName=null, clause=null, filter=null, part=null, incMeta=false, 
> metrics=GridCacheQueryMetricsAdapter [minTime=0, maxTime=0, sumTime=0, 
> avgTime=0.0, execs=0, completed=0, fails=0], pageSize=1024, timeout=0, 
> keepAll=false, incBackups=false, dedup=false, prj=null, keepPortable=false, 
> subjId=3026635f-2a79-4a59-83cb-9db427f45003, taskHash=0], rdc=null, 
> trans=null]
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.checkError(GridCacheQueryFutureAdapter.java:267)
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.internalIterator(GridCacheQueryFutureAdapter.java:276)
>   at 
> 

[jira] [Commented] (IGNITE-1666) Fallback for full scan query does not work

2020-01-22 Thread Andrey N. Gura (Jira)


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

Andrey N. Gura commented on IGNITE-1666:


As I can see from code partition will be reserved only if scan query created 
for scan of one particular partition. For common case with scan of all 
partitions there si no logic for partitions reservation. So, despite we can't 
reproduce the problem, it is still actual.

> Fallback for full scan query does not work
> --
>
> Key: IGNITE-1666
> URL: https://issues.apache.org/jira/browse/IGNITE-1666
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: ignite-1.4
>Reporter: Andrey N. Gura
>Assignee: Diana Iakovleva
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Fallback for full scan query doesn't work.
> Steps to reproduce (all in one thread):
> 1. Start N nodes, create cache and populate some entries to cache.
> 2. Stop some node.
> 3. Get iterator on the cache and fetch all entries one by one.
> 4. Repeat from step 2.
> On some iteration scan query fails with exception: 
> {noformat}
> javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: 
> Query execution failed: GridCacheQueryBean [qry=GridCacheQueryAdapter 
> [type=SCAN, clsName=null, clause=null, filter=null, part=null, incMeta=false, 
> metrics=GridCacheQueryMetricsAdapter [minTime=0, maxTime=0, sumTime=0, 
> avgTime=0.0, execs=0, completed=0, fails=0], pageSize=1024, timeout=0, 
> keepAll=false, incBackups=false, dedup=false, prj=null, keepPortable=false, 
> subjId=3026635f-2a79-4a59-83cb-9db427f45003, taskHash=0], rdc=null, 
> trans=null]
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1614)
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.next(GridCacheQueryFutureAdapter.java:181)
>   at 
> org.apache.ignite.internal.processors.cache.CacheWeakQueryIteratorsHolder$WeakQueryFutureIterator.init(CacheWeakQueryIteratorsHolder.java:228)
>   at 
> org.apache.ignite.internal.processors.cache.CacheWeakQueryIteratorsHolder$WeakQueryFutureIterator.onHasNext(CacheWeakQueryIteratorsHolder.java:180)
>   at 
> org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
>   at 
> org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.CacheIteratorWhileRemovalSelfTest.doTest(CacheIteratorWhileRemovalSelfTest.java:135)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.CacheIteratorWhileRemovalSelfTest.testFullScanIterator(CacheIteratorWhileRemovalSelfTest.java:91)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:606)
>   at junit.framework.TestCase.runTest(TestCase.java:176)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1658)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:112)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest$4.run(GridAbstractTest.java:1596)
> Caused by: class org.apache.ignite.IgniteCheckedException: Query execution 
> failed: GridCacheQueryBean [qry=GridCacheQueryAdapter [type=SCAN, 
> clsName=null, clause=null, filter=null, part=null, incMeta=false, 
> metrics=GridCacheQueryMetricsAdapter [minTime=0, maxTime=0, sumTime=0, 
> avgTime=0.0, execs=0, completed=0, fails=0], pageSize=1024, timeout=0, 
> keepAll=false, incBackups=false, dedup=false, prj=null, keepPortable=false, 
> subjId=3026635f-2a79-4a59-83cb-9db427f45003, taskHash=0], rdc=null, 
> trans=null]
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.checkError(GridCacheQueryFutureAdapter.java:267)
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.internalIterator(GridCacheQueryFutureAdapter.java:276)
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.next(GridCacheQueryFutureAdapter.java:171)
>   ... 14 more
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to execute 
> query on node [query=GridCacheQueryBean [qry=GridCacheQueryAdapter 
> [type=SCAN, clsName=null, clause=null, filter=null, part=null, incMeta=false, 
> metrics=GridCacheQueryMetricsAdapter [minTime=0, maxTime=0, sumTime=0, 
> 

[jira] [Commented] (IGNITE-8641) SpringDataExample should use example-ignite.xml config

2020-01-22 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov commented on IGNITE-8641:
-

Merged to the master branch, cherry-picked to 2.8

> SpringDataExample should use example-ignite.xml config
> --
>
> Key: IGNITE-8641
> URL: https://issues.apache.org/jira/browse/IGNITE-8641
> Project: Ignite
>  Issue Type: Bug
>Reporter: Andrey N. Gura
>Assignee: Maxim Muzafarov
>Priority: Blocker
>  Labels: newbie
> Fix For: 2.8
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> {{SpringDataExample}} uses 
> {{org.apache.ignite.examples.springdata.SpringAppCfg}} as Spring 
> configuration while all other examples use {{example-ignite.xml}} 
> configuration file.
> It leads to inconsistent examples behaviour.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-11906) Scalar examples fails on TC

2020-01-22 Thread Ilya Kasnacheev (Jira)


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

Ilya Kasnacheev commented on IGNITE-11906:
--

[~nizhikov] please review proposed fix.

> Scalar examples fails on TC
> ---
>
> Key: IGNITE-11906
> URL: https://issues.apache.org/jira/browse/IGNITE-11906
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Ilya Kasnacheev
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Scalar examples tests fails in master.
> https://ci.ignite.apache.org/viewLog.html?buildId=4085544=buildResultsDiv=IgniteTests24Java8_ScalaExamples



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Issue Comment Deleted] (IGNITE-11906) Scalar examples fails on TC

2020-01-22 Thread Ilya Kasnacheev (Jira)


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

Ilya Kasnacheev updated IGNITE-11906:
-
Comment: was deleted

(was: {panel:title=Branch: [pull/7284/head] Base: [master] : Possible Blockers 
(11)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}ZooKeeper (Discovery) 1{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=4947740]]
* ZookeeperDiscoverySpiTestSuite1: 
ZookeeperDiscoveryClientDisconnectTest.testStartNoServers_FailOnTimeout - Test 
has low fail rate in base branch 0,0% and is not flaky

{color:#d04437}MVCC Queries{color} [[tests 
2|https://ci.ignite.apache.org/viewLog.html?buildId=4947751]]
* IgniteCacheMvccSqlTestSuite: 
CacheMvccSqlLockTimeoutTest.testConcurrentForReplicatedCache - Test has low 
fail rate in base branch 0,0% and is not flaky
* IgniteCacheMvccSqlTestSuite: 
CacheMvccSqlLockTimeoutTest.testConcurrentForPartitionedCache - Test has low 
fail rate in base branch 0,0% and is not flaky

{color:#d04437}Cache 5{color} [[tests 
5|https://ci.ignite.apache.org/viewLog.html?buildId=4947770]]
* IgniteCacheTestSuite5: 
CacheSerializableTransactionsTest.testConcurrentUpdateNoDeadlockFromClientsNodeRestart
 - Test has low fail rate in base branch 1,0% and is not flaky
* IgniteCacheTestSuite5: 
CacheSerializableTransactionsTest.testConflictResolution - Test has low fail 
rate in base branch 0,0% and is not flaky
* IgniteCacheTestSuite5: 
CacheSerializableTransactionsTest.testConcurrentUpdateNoDeadlockNodeRestart - 
Test has low fail rate in base branch 1,0% and is not flaky
* IgniteCacheTestSuite5: 
CacheSerializableTransactionsTest.testNoOptimisticExceptionOnChangingTopology - 
Test has low fail rate in base branch 1,0% and is not flaky
* IgniteCacheTestSuite5: 
CacheSerializableTransactionsTest.testIncrementTxRestart - Test has low fail 
rate in base branch 1,0% and is not flaky

{color:#d04437}ZooKeeper (Discovery) 4{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=4947796]]
* ZookeeperDiscoverySpiTestSuite4: 
DistributedMetaStoragePersistentTest.testClientReconnect - Test has low fail 
rate in base branch 0,0% and is not flaky

{color:#d04437}Service Grid{color} [[tests 
2|https://ci.ignite.apache.org/viewLog.html?buildId=4947799]]
* IgniteServiceGridTestSuite: 
GridServiceProcessorBatchDeploySelfTest.testCancelAllTopologyChange - Test has 
low fail rate in base branch 0,0% and is not flaky
* IgniteServiceGridTestSuite: 
GridServiceProcessorBatchDeploySelfTest.testClashingNames - Test has low fail 
rate in base branch 0,0% and is not flaky

{panel}
[TeamCity *-- Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=4947817buildTypeId=IgniteTests24Java8_RunAll])

> Scalar examples fails on TC
> ---
>
> Key: IGNITE-11906
> URL: https://issues.apache.org/jira/browse/IGNITE-11906
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Ilya Kasnacheev
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Scalar examples tests fails in master.
> https://ci.ignite.apache.org/viewLog.html?buildId=4085544=buildResultsDiv=IgniteTests24Java8_ScalaExamples



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-11906) Scalar examples fails on TC

2020-01-22 Thread Ilya Kasnacheev (Jira)


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

Ilya Kasnacheev updated IGNITE-11906:
-
Component/s: examples

> Scalar examples fails on TC
> ---
>
> Key: IGNITE-11906
> URL: https://issues.apache.org/jira/browse/IGNITE-11906
> Project: Ignite
>  Issue Type: Improvement
>  Components: examples
>Reporter: Nikolay Izhikov
>Assignee: Ilya Kasnacheev
>Priority: Major
>  Labels: scala
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Scalar examples tests fails in master.
> https://ci.ignite.apache.org/viewLog.html?buildId=4085544=buildResultsDiv=IgniteTests24Java8_ScalaExamples



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-11906) Scalar examples fails on TC

2020-01-22 Thread Ilya Kasnacheev (Jira)


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

Ilya Kasnacheev updated IGNITE-11906:
-
Labels: scala  (was: )

> Scalar examples fails on TC
> ---
>
> Key: IGNITE-11906
> URL: https://issues.apache.org/jira/browse/IGNITE-11906
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Ilya Kasnacheev
>Priority: Major
>  Labels: scala
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Scalar examples tests fails in master.
> https://ci.ignite.apache.org/viewLog.html?buildId=4085544=buildResultsDiv=IgniteTests24Java8_ScalaExamples



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-11906) Scalar examples fails on TC

2020-01-22 Thread Ilya Kasnacheev (Jira)


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

Ilya Kasnacheev updated IGNITE-11906:
-
Issue Type: Bug  (was: Improvement)

> Scalar examples fails on TC
> ---
>
> Key: IGNITE-11906
> URL: https://issues.apache.org/jira/browse/IGNITE-11906
> Project: Ignite
>  Issue Type: Bug
>  Components: examples
>Reporter: Nikolay Izhikov
>Assignee: Ilya Kasnacheev
>Priority: Major
>  Labels: scala
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Scalar examples tests fails in master.
> https://ci.ignite.apache.org/viewLog.html?buildId=4085544=buildResultsDiv=IgniteTests24Java8_ScalaExamples



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-11906) Scalar examples fails on TC

2020-01-22 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-11906:


{panel:title=Branch: [pull/7284/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
[TeamCity *-- Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=4947817buildTypeId=IgniteTests24Java8_RunAll]

> Scalar examples fails on TC
> ---
>
> Key: IGNITE-11906
> URL: https://issues.apache.org/jira/browse/IGNITE-11906
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Ilya Kasnacheev
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Scalar examples tests fails in master.
> https://ci.ignite.apache.org/viewLog.html?buildId=4085544=buildResultsDiv=IgniteTests24Java8_ScalaExamples



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-8641) SpringDataExample should use example-ignite.xml config

2020-01-22 Thread Andrey N. Gura (Jira)


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

Andrey N. Gura commented on IGNITE-8641:


[~mmuzaf] LGTM. Please proceed with merge.

> SpringDataExample should use example-ignite.xml config
> --
>
> Key: IGNITE-8641
> URL: https://issues.apache.org/jira/browse/IGNITE-8641
> Project: Ignite
>  Issue Type: Bug
>Reporter: Andrey N. Gura
>Assignee: Maxim Muzafarov
>Priority: Blocker
>  Labels: newbie
> Fix For: 2.8
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> {{SpringDataExample}} uses 
> {{org.apache.ignite.examples.springdata.SpringAppCfg}} as Spring 
> configuration while all other examples use {{example-ignite.xml}} 
> configuration file.
> It leads to inconsistent examples behaviour.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12565) Extend test coverage [IGNITE-9279] Support custom default SQL schema name

2020-01-22 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov commented on IGNITE-12565:
---

[~Pavlukhin], I left some comments in the PR, please check it.

> Extend test coverage [IGNITE-9279] Support custom default SQL schema name
> -
>
> Key: IGNITE-12565
> URL: https://issues.apache.org/jira/browse/IGNITE-12565
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Reporter: Ivan Pavlukhin
>Assignee: Ivan Pavlukhin
>Priority: Major
> Fix For: 2.9
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Add more tests to cover schemas support



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12474) Fix boost compatibility for cpp thin-client-test.

2020-01-22 Thread Igor Sapego (Jira)


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

Igor Sapego commented on IGNITE-12474:
--

Looks good to me. Merging to master.

> Fix boost compatibility for cpp thin-client-test.
> -
>
> Key: IGNITE-12474
> URL: https://issues.apache.org/jira/browse/IGNITE-12474
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 2.7.6
>Reporter: Stanilovsky Evgeny
>Assignee: Stanilovsky Evgeny
>Priority: Major
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Current teamcity_boost implementation leads to errors like:
> "src/teamcity/teamcity_boost.cpp:22:10: fatal error: 
> boost/test/unit_test_suite_impl.hpp: No such file or catalog.
> #include "
> dev list discussion [1]
> [1] 
> http://apache-ignite-developers.2346864.n4.nabble.com/Can-t-run-CPP-tests-locally-on-linux-machine-td29597.html



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12565) Extend test coverage [IGNITE-9279] Support custom default SQL schema name

2020-01-22 Thread Ivan Pavlukhin (Jira)


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

Ivan Pavlukhin commented on IGNITE-12565:
-

[~korlov], please review the patch. TC visa is in progress.

> Extend test coverage [IGNITE-9279] Support custom default SQL schema name
> -
>
> Key: IGNITE-12565
> URL: https://issues.apache.org/jira/browse/IGNITE-12565
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Reporter: Ivan Pavlukhin
>Assignee: Ivan Pavlukhin
>Priority: Major
> Fix For: 2.9
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Add more tests to cover schemas support



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-12566) Calcite integration. Expressions evaluation.

2020-01-22 Thread Igor Seliverstov (Jira)
Igor Seliverstov created IGNITE-12566:
-

 Summary: Calcite integration. Expressions evaluation.
 Key: IGNITE-12566
 URL: https://issues.apache.org/jira/browse/IGNITE-12566
 Project: Ignite
  Issue Type: Task
Reporter: Igor Seliverstov


Currently we use a part of Calcite "Bindables" to evaluate expressions at the 
execution time. Using it we 
 * lose a control on how expressions are evaluated
 * cannot implement several important optimizations, like "keepBinary"
 * can use only Object[] as a row, which causes a lot of array copy operations 
and unnecessary allocations at the execution time
 * suffer from delays, which go from expressions compilation process when it's 
more efficient to start from interpretation and compile an expression on 
repeatable execution only

We need to implement expressions interpreter and our own expression compiler 
taking Ignite specifics in consideration.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-12540) Update versions of vulnerable dependencies

2020-01-22 Thread Ilya Kasnacheev (Jira)


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

Ilya Kasnacheev updated IGNITE-12540:
-
Ignite Flags:   (was: Docs Required,Release Notes Required)

> Update versions of vulnerable dependencies
> --
>
> Key: IGNITE-12540
> URL: https://issues.apache.org/jira/browse/IGNITE-12540
> Project: Ignite
>  Issue Type: Improvement
>  Components: general, hibernate, rest, spring
>Reporter: Ilya Kasnacheev
>Assignee: Ilya Kasnacheev
>Priority: Major
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Let's bump some crucial dependencies to their latest minor versions and try 
> to include it in 2.8 also.
> spring 4 and 5, spring data, hibernate, jetty, jackson-databind.
> Lesser-used packages, notable Zk discovery, are not affected.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-8641) SpringDataExample should use example-ignite.xml config

2020-01-22 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov commented on IGNITE-8641:
-

[~agura]

Can you, please, review my changes?

> SpringDataExample should use example-ignite.xml config
> --
>
> Key: IGNITE-8641
> URL: https://issues.apache.org/jira/browse/IGNITE-8641
> Project: Ignite
>  Issue Type: Bug
>Reporter: Andrey N. Gura
>Assignee: Maxim Muzafarov
>Priority: Blocker
>  Labels: newbie
> Fix For: 2.8
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> {{SpringDataExample}} uses 
> {{org.apache.ignite.examples.springdata.SpringAppCfg}} as Spring 
> configuration while all other examples use {{example-ignite.xml}} 
> configuration file.
> It leads to inconsistent examples behaviour.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-8641) SpringDataExample should use example-ignite.xml config

2020-01-22 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov commented on IGNITE-8641:
-

Re-run Examples suite.

https://ci.ignite.apache.org/viewLog.html?buildId=4947351=IgniteTests24Java8_Examples

> SpringDataExample should use example-ignite.xml config
> --
>
> Key: IGNITE-8641
> URL: https://issues.apache.org/jira/browse/IGNITE-8641
> Project: Ignite
>  Issue Type: Bug
>Reporter: Andrey N. Gura
>Assignee: Maxim Muzafarov
>Priority: Blocker
>  Labels: newbie
> Fix For: 2.8
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> {{SpringDataExample}} uses 
> {{org.apache.ignite.examples.springdata.SpringAppCfg}} as Spring 
> configuration while all other examples use {{example-ignite.xml}} 
> configuration file.
> It leads to inconsistent examples behaviour.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-8641) SpringDataExample should use example-ignite.xml config

2020-01-22 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-8641:
---

{panel:title=Branch: [pull/7280/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
[TeamCity *-- Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=4947585buildTypeId=IgniteTests24Java8_RunAll]

> SpringDataExample should use example-ignite.xml config
> --
>
> Key: IGNITE-8641
> URL: https://issues.apache.org/jira/browse/IGNITE-8641
> Project: Ignite
>  Issue Type: Bug
>Reporter: Andrey N. Gura
>Assignee: Maxim Muzafarov
>Priority: Blocker
>  Labels: newbie
> Fix For: 2.8
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> {{SpringDataExample}} uses 
> {{org.apache.ignite.examples.springdata.SpringAppCfg}} as Spring 
> configuration while all other examples use {{example-ignite.xml}} 
> configuration file.
> It leads to inconsistent examples behaviour.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-12565) Extend test coverage [IGNITE-9279] Support custom default SQL schema name

2020-01-22 Thread Ivan Pavlukhin (Jira)
Ivan Pavlukhin created IGNITE-12565:
---

 Summary: Extend test coverage [IGNITE-9279] Support custom default 
SQL schema name
 Key: IGNITE-12565
 URL: https://issues.apache.org/jira/browse/IGNITE-12565
 Project: Ignite
  Issue Type: Task
  Components: sql
Reporter: Ivan Pavlukhin
Assignee: Ivan Pavlukhin
 Fix For: 2.9


Add more tests to cover schemas support



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-12564) Calcite integration. Exceptions handling.

2020-01-22 Thread Igor Seliverstov (Jira)
Igor Seliverstov created IGNITE-12564:
-

 Summary: Calcite integration. Exceptions handling.
 Key: IGNITE-12564
 URL: https://issues.apache.org/jira/browse/IGNITE-12564
 Project: Ignite
  Issue Type: Task
Reporter: Igor Seliverstov


There are several exceptions types that may be thrown at
 * parsing and validation time
 * planning time
 * mapping time
 * execution time

All of them should be handled properly.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-12563) Calcite integration. Reset and remap queries on topology change.

2020-01-22 Thread Igor Seliverstov (Jira)
Igor Seliverstov created IGNITE-12563:
-

 Summary: Calcite integration. Reset and remap queries on topology 
change.
 Key: IGNITE-12563
 URL: https://issues.apache.org/jira/browse/IGNITE-12563
 Project: Ignite
  Issue Type: Task
  Components: sql
Reporter: Igor Seliverstov


A query should:
 * be silently remapped in case an actual topology version at query plan 
materialization time differs from a topology version at the time locations was 
calculated
 * be cancelled with appropriate exception in case one of responsible nodes 
left a cluster after execution is started.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12552) [IEP-35] Expose MetricRegistry to the public API

2020-01-22 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-12552:


{panel:title=Branch: [pull/7269/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
[TeamCity *-- Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=4947701buildTypeId=IgniteTests24Java8_RunAll]

> [IEP-35] Expose MetricRegistry to the public API
> 
>
> Key: IGNITE-12552
> URL: https://issues.apache.org/jira/browse/IGNITE-12552
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.8
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Blocker
>  Labels: IEP-35
> Fix For: 2.8
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> MetricRegistry is not a part of public API, but used in MetricExporter which 
> is the part of public API.
> We should export MetricRegistry to the public API.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12448) Calcite integration. Communication protocol.

2020-01-22 Thread Alexey Goncharuk (Jira)


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

Alexey Goncharuk commented on IGNITE-12448:
---

[~gvvinblade], I have one suggestion wrt to code organization based on general 
ideas from [~akalashnikov]:
Right now it looks like that {{CalciteQueryProcessor}} is becoming both a 
wiring component which connects various pieces together, and also executes some 
important logic. This makes it impossible to test the logic without having an 
IgniteKernal instance.

I would separate it the following way:
 * Move {{locals}} and {{remotes}} maps to either exchange service or messaging 
service. These maps are a part of communication subsystem, so the processor 
should not be aware of it and should not manage it
 * Separate all execution-related logic from CalciteQueryProcessor to a 
separate class which does not depend on {{KernalContext}} and accepts only 
interfaces. This way you can test this logic by mocking both all remote nodes 
or by simulating remote nodes without actual Ignite start
 * The {{CalciteQueryProcessor}} will just wire components that it pulls from 
contexts, setup listeners, etc.

> Calcite integration. Communication protocol.
> 
>
> Key: IGNITE-12448
> URL: https://issues.apache.org/jira/browse/IGNITE-12448
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Reporter: Igor Seliverstov
>Assignee: Igor Seliverstov
>Priority: Major
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> We need to introduce a communication protocol between query fragments in 
> scope of query execution.
> * Protocol should have Push semantics with back pressure ability
> * Protocol have to provide ordering guaranties - the data batches processed 
> in same order they sent to remote node.
> * Protocol have to provide delivery guaranties.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12497) PartitionsEvictManager should log all partitions which will be evicted

2020-01-22 Thread Ivan Rakov (Jira)


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

Ivan Rakov commented on IGNITE-12497:
-

[~ktkale...@gridgain.com] Looks good, thanks, merged.

> PartitionsEvictManager should log all partitions which will be evicted
> --
>
> Key: IGNITE-12497
> URL: https://issues.apache.org/jira/browse/IGNITE-12497
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Tkalenko
>Assignee: Kirill Tkalenko
>Priority: Major
> Fix For: 2.9
>
>
> Now we print information about eviction only if it longer then threshold 
> (i.e. progress). And we can't detect in logs, that partition was evicted due 
> to different reasons (rebalance, wrong configuration custom affinity). 
> I think we could print information on info level about each evicted partition 
> before start of eviction. Information about partitions could be aggregated, 
> compacted and printed by timer, but *all evicted partitions must be printed 
> to log anyway.*
> I would have the following information about each partition:
> * partitionId
> * groupId
> * groupName
> * reason (eviction, clearing)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (IGNITE-12549) Scan query/iterator on a replicated cache may get wrong results

2020-01-22 Thread Peter Ivanov (Jira)


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

Peter Ivanov reassigned IGNITE-12549:
-

Assignee: (was: Peter Ivanov)

> Scan query/iterator on a replicated cache may get wrong results
> ---
>
> Key: IGNITE-12549
> URL: https://issues.apache.org/jira/browse/IGNITE-12549
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: 2.7.6
>Reporter: Sergey Kosarev
>Priority: Critical
> Fix For: 2.8
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Case 1
> 1. start server node 1
> 2. create and fill replicated cache with RebalanceMode.Async (as by default)
> 3. start servr node 2 
> 4. immediately execute scan query  on the replicated cache((or just iterate 
> the cache)) on the node 2
> It can get empty or partial results. (if rebalance on node 2 is finished)
> Case 2
> 1. start server node 1
> 2. create and fill replicated cache with RebalanceMode.Async (as by default)
> 3. start client node 2
> 4. start server node 3 
> 5. immediately execute scan query  on the replicated cache((or just iterate 
> the cache)) on the client node 2
> It can get empty or partial results. (if rebalance on node 2 is not finished 
> and query is mapped on the node 2)
> It looks like problem in the 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter#nodes()
> case REPLICATED:
> if (prj != null || part != null)
> return nodes(cctx, prj, part);
> if (cctx.affinityNode())
> return *Collections.singletonList(cctx.localNode())*;
> Collection affNodes = nodes(cctx, null, null);
> return affNodes.isEmpty() ? affNodes : 
> *Collections.singletonList(F.rand(affNodes))*;
> case PARTITIONED:
> return nodes(cctx, prj, part);
>  which is executed in 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter#executeScanQuery.
> If executed on a just started node it obviously returns the local node 
> disregarding was it rebalanced or not.
> If executed on a client it returns a random affinity node, so it also can be 
> not yet rebalanced node.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (IGNITE-12549) Scan query/iterator on a replicated cache may get wrong results

2020-01-22 Thread Peter Ivanov (Jira)


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

Peter Ivanov reassigned IGNITE-12549:
-

Assignee: Peter Ivanov

> Scan query/iterator on a replicated cache may get wrong results
> ---
>
> Key: IGNITE-12549
> URL: https://issues.apache.org/jira/browse/IGNITE-12549
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: 2.7.6
>Reporter: Sergey Kosarev
>Assignee: Peter Ivanov
>Priority: Critical
> Fix For: 2.8
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Case 1
> 1. start server node 1
> 2. create and fill replicated cache with RebalanceMode.Async (as by default)
> 3. start servr node 2 
> 4. immediately execute scan query  on the replicated cache((or just iterate 
> the cache)) on the node 2
> It can get empty or partial results. (if rebalance on node 2 is finished)
> Case 2
> 1. start server node 1
> 2. create and fill replicated cache with RebalanceMode.Async (as by default)
> 3. start client node 2
> 4. start server node 3 
> 5. immediately execute scan query  on the replicated cache((or just iterate 
> the cache)) on the client node 2
> It can get empty or partial results. (if rebalance on node 2 is not finished 
> and query is mapped on the node 2)
> It looks like problem in the 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter#nodes()
> case REPLICATED:
> if (prj != null || part != null)
> return nodes(cctx, prj, part);
> if (cctx.affinityNode())
> return *Collections.singletonList(cctx.localNode())*;
> Collection affNodes = nodes(cctx, null, null);
> return affNodes.isEmpty() ? affNodes : 
> *Collections.singletonList(F.rand(affNodes))*;
> case PARTITIONED:
> return nodes(cctx, prj, part);
>  which is executed in 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter#executeScanQuery.
> If executed on a just started node it obviously returns the local node 
> disregarding was it rebalanced or not.
> If executed on a client it returns a random affinity node, so it also can be 
> not yet rebalanced node.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (IGNITE-12549) Scan query/iterator on a replicated cache may get wrong results

2020-01-22 Thread Peter Ivanov (Jira)


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

Peter Ivanov reassigned IGNITE-12549:
-

Assignee: (was: Peter Ivanov)

> Scan query/iterator on a replicated cache may get wrong results
> ---
>
> Key: IGNITE-12549
> URL: https://issues.apache.org/jira/browse/IGNITE-12549
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: 2.7.6
>Reporter: Sergey Kosarev
>Priority: Critical
> Fix For: 2.8
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Case 1
> 1. start server node 1
> 2. create and fill replicated cache with RebalanceMode.Async (as by default)
> 3. start servr node 2 
> 4. immediately execute scan query  on the replicated cache((or just iterate 
> the cache)) on the node 2
> It can get empty or partial results. (if rebalance on node 2 is finished)
> Case 2
> 1. start server node 1
> 2. create and fill replicated cache with RebalanceMode.Async (as by default)
> 3. start client node 2
> 4. start server node 3 
> 5. immediately execute scan query  on the replicated cache((or just iterate 
> the cache)) on the client node 2
> It can get empty or partial results. (if rebalance on node 2 is not finished 
> and query is mapped on the node 2)
> It looks like problem in the 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter#nodes()
> case REPLICATED:
> if (prj != null || part != null)
> return nodes(cctx, prj, part);
> if (cctx.affinityNode())
> return *Collections.singletonList(cctx.localNode())*;
> Collection affNodes = nodes(cctx, null, null);
> return affNodes.isEmpty() ? affNodes : 
> *Collections.singletonList(F.rand(affNodes))*;
> case PARTITIONED:
> return nodes(cctx, prj, part);
>  which is executed in 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter#executeScanQuery.
> If executed on a just started node it obviously returns the local node 
> disregarding was it rebalanced or not.
> If executed on a client it returns a random affinity node, so it also can be 
> not yet rebalanced node.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (IGNITE-12549) Scan query/iterator on a replicated cache may get wrong results

2020-01-22 Thread Peter Ivanov (Jira)


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

Peter Ivanov reassigned IGNITE-12549:
-

Assignee: Peter Ivanov

> Scan query/iterator on a replicated cache may get wrong results
> ---
>
> Key: IGNITE-12549
> URL: https://issues.apache.org/jira/browse/IGNITE-12549
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: 2.7.6
>Reporter: Sergey Kosarev
>Assignee: Peter Ivanov
>Priority: Critical
> Fix For: 2.8
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Case 1
> 1. start server node 1
> 2. create and fill replicated cache with RebalanceMode.Async (as by default)
> 3. start servr node 2 
> 4. immediately execute scan query  on the replicated cache((or just iterate 
> the cache)) on the node 2
> It can get empty or partial results. (if rebalance on node 2 is finished)
> Case 2
> 1. start server node 1
> 2. create and fill replicated cache with RebalanceMode.Async (as by default)
> 3. start client node 2
> 4. start server node 3 
> 5. immediately execute scan query  on the replicated cache((or just iterate 
> the cache)) on the client node 2
> It can get empty or partial results. (if rebalance on node 2 is not finished 
> and query is mapped on the node 2)
> It looks like problem in the 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter#nodes()
> case REPLICATED:
> if (prj != null || part != null)
> return nodes(cctx, prj, part);
> if (cctx.affinityNode())
> return *Collections.singletonList(cctx.localNode())*;
> Collection affNodes = nodes(cctx, null, null);
> return affNodes.isEmpty() ? affNodes : 
> *Collections.singletonList(F.rand(affNodes))*;
> case PARTITIONED:
> return nodes(cctx, prj, part);
>  which is executed in 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter#executeScanQuery.
> If executed on a just started node it obviously returns the local node 
> disregarding was it rebalanced or not.
> If executed on a client it returns a random affinity node, so it also can be 
> not yet rebalanced node.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-12562) FreeListCachingTest.testPageListCacheLimit failing in Disk Page Compressions suite

2020-01-22 Thread Aleksey Plekhanov (Jira)


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

Aleksey Plekhanov updated IGNITE-12562:
---
Ignite Flags:   (was: Docs Required,Release Notes Required)

> FreeListCachingTest.testPageListCacheLimit failing in Disk Page Compressions 
> suite
> --
>
> Key: IGNITE-12562
> URL: https://issues.apache.org/jira/browse/IGNITE-12562
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence
>Reporter: Aleksey Plekhanov
>Assignee: Aleksey Plekhanov
>Priority: Major
>
> Test failing with IgniteOutOfMemory exception because Disk Page Compressions 
> changes default page size to 8192, we need at least 2*1024 pages to store 
> freelist metadata and there is no such amount of not dirty pages after 
> checkpoint is triggered by "too many dirty page" reason.
> Explicitly defined data region max size should take into account page size to 
> avoid such errors.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-12562) FreeListCachingTest.testPageListCacheLimit failing in Disk Page Compressions suite

2020-01-22 Thread Aleksey Plekhanov (Jira)
Aleksey Plekhanov created IGNITE-12562:
--

 Summary: FreeListCachingTest.testPageListCacheLimit failing in 
Disk Page Compressions suite
 Key: IGNITE-12562
 URL: https://issues.apache.org/jira/browse/IGNITE-12562
 Project: Ignite
  Issue Type: Bug
  Components: persistence
Reporter: Aleksey Plekhanov
Assignee: Aleksey Plekhanov


Test failing with IgniteOutOfMemory exception because Disk Page Compressions 
changes default page size to 8192, we need at least 2*1024 pages to store 
freelist metadata and there is no such amount of not dirty pages after 
checkpoint is triggered by "too many dirty page" reason.

Explicitly defined data region max size should take into account page size to 
avoid such errors.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-12555) .NET: Thin Client: deserializing DateTime fields causes BinaryTypeGet request for every value

2020-01-22 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-12555:

Release Note: Improve serialization performance for DateTime and other 
ISerializable types

> .NET: Thin Client: deserializing DateTime fields causes BinaryTypeGet request 
> for every value
> -
>
> Key: IGNITE-12555
> URL: https://issues.apache.org/jira/browse/IGNITE-12555
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Affects Versions: 2.4, 2.5, 2.6, 2.7, 2.8, 2.7.5, 2.7.6
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Blocker
>  Labels: .NET
> Fix For: 2.8
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Actual: The following code causes 10 BinaryProcessorClient.GetBinaryType 
> calls (2 fields, 5 Foo instances). Every call is a server request.
> Expected: 0 calls. Binary metadata should be cached after PutAll call.
> {code}
> public class CacheDateTimeMetaTest : ClientTestBase
> {
> [Test]
> public void TestDateTimeMeta()
> {
> var data = Enumerable.Range(1, 5)
> .Select(x => new Foo
> {
> Id = x,
> StartDate = DateTime.Now.AddHours(x),
> EndDate = DateTime.Now.AddDays(x)
> });
> var cache = Client.GetOrCreateCache("foo");
> cache.PutAll(data.Select(x => new KeyValuePair(x.Id, 
> x)));
> var res = cache.Query(new ScanQuery()).GetAll();
> Assert.AreEqual(cache.GetSize(), res.Count);
> }
> public class Foo
> {
> public int Id { get; set; }
> public DateTime? StartDate { get; set; }
> public DateTime? EndDate { get; set; }
> }
> }
> {code}
> This causes huge performance issues.
> *Workaround*
> * Force Timestamp format for all DateTime values 
> User list discussion: 
> http://apache-ignite-users.70518.x6.nabble.com/Getting-all-data-from-cache-via-scan-query-is-taking-lot-of-time-td30949.html



--
This message was sent by Atlassian Jira
(v8.3.4#803005)