[jira] [Commented] (IGNITE-11397) Binary mode for Ignite Set

2019-04-30 Thread Ivan Bessonov (JIRA)


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

Ivan Bessonov commented on IGNITE-11397:


[~uday] sure, please create new issue for IgniteQueue. I'll take a look at your 
code soon.

> Binary mode for Ignite Set
> --
>
> Key: IGNITE-11397
> URL: https://issues.apache.org/jira/browse/IGNITE-11397
> Project: Ignite
>  Issue Type: New Feature
>  Components: binary, data structures
>Reporter: Uday Kale
>Assignee: Uday Kale
>Priority: Major
> Fix For: 2.8
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Add binary mode (withKeepBinary) to Data Structures Set.
> This will allow retrieving values in binary format when needed or when class 
> is not available, and will allow implementing the structures in other 
> platforms (.NET, C++).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-11425) Log information about inaccessible nodes through Communication

2019-04-30 Thread Vladislav Pyatkov (JIRA)


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

Vladislav Pyatkov commented on IGNITE-11425:


[~Denis Chudov] Looks good to me.
Please, move it to process.

> Log information about inaccessible nodes through Communication
> --
>
> Key: IGNITE-11425
> URL: https://issues.apache.org/jira/browse/IGNITE-11425
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vladislav Pyatkov
>Assignee: Denis Chudov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> In case of long getting communication TCP client (longe than this 
> CONNECTION_ESTABLISH_THRESHOLD_MS = 100) message will printed:
> {noformat}
> [sys-#20167%dht.CacheGetReadFromBackupFailoverTest0%][TcpCommunicationSpi] 
> TCP client created [client=GridTcpNioCommunicationClient 
> [ses=GridSelectorNioSessionImpl [worker=DirectNioClientWorker 
> [super=AbstractNioClientWorker [idx=3, bytesRcvd=0, bytesSent=0, 
> bytesRcvd0=0, bytesSent0=0, select=true, super=GridWorker 
> [name=grid-nio-worker-tcp-comm-3, 
> igniteInstanceName=dht.CacheGetReadFromBackupFailoverTest0, finished=false, 
> heartbeatTs=1550512236151, hashCode=140561231, interrupted=false, 
> runner=grid-nio-worker-tcp-comm-3-#20147%dht.CacheGetReadFromBackupFailoverTest0%]]],
>  writeBuf=java.nio.DirectByteBuffer[pos=0 lim=32768 cap=32768], 
> readBuf=java.nio.DirectByteBuffer[pos=0 lim=32768 cap=32768], 
> inRecovery=GridNioRecoveryDescriptor [acked=0, resendCnt=0, rcvCnt=0, 
> sentCnt=0, reserved=true, lastAck=0, nodeLeft=false, node=TcpDiscoveryNode 
> [id=8a660330-6ddb-4031-b955-4cb4f4b2, addrs=ArrayList [127.0.0.1], 
> sockAddrs=HashSet [/127.0.0.1:47502], discPort=47502, order=5, intOrder=4, 
> lastExchangeTime=1550512235890, loc=false, ver=2.8.0#20190218-sha1:29232e37, 
> isClient=false], connected=false, connectCnt=2, queueLimit=4096, 
> reserveCnt=2, pairedConnections=false], outRecovery=GridNioRecoveryDescriptor 
> [acked=0, resendCnt=0, rcvCnt=0, sentCnt=0, reserved=true, lastAck=0, 
> nodeLeft=false, node=TcpDiscoveryNode 
> [id=8a660330-6ddb-4031-b955-4cb4f4b2, addrs=ArrayList [127.0.0.1], 
> sockAddrs=HashSet [/127.0.0.1:47502], discPort=47502, order=5, intOrder=4, 
> lastExchangeTime=1550512235890, loc=false, ver=2.8.0#20190218-sha1:29232e37, 
> isClient=false], connected=false, connectCnt=2, queueLimit=4096, 
> reserveCnt=2, pairedConnections=false], super=GridNioSessionImpl 
> [locAddr=/127.0.0.1:38770, rmtAddr=/127.0.0.1:45212, 
> createTime=1550512236151, closeTime=0, bytesSent=0, bytesRcvd=0, 
> bytesSent0=0, bytesRcvd0=0, sndSchedTime=1550512236151, 
> lastSndTime=1550512236151, lastRcvTime=1550512236151, readsPaused=false, 
> filterChain=FilterChain[filters=[GridNioCodecFilter 
> [parser=org.apache.ignite.internal.util.nio.GridDirectParser@d240a48, 
> directMode=true], GridConnectionBytesVerifyFilter], accepted=false, 
> markedForClose=false]], super=GridAbstractCommunicationClient 
> [lastUsed=1550512236151, closed=false, connIdx=0]], duration=211ms]
> {noformat}
> but in some cases we can not to get client during time out, and the message 
> reduce to
> {noformat}
> TCP client created [client=null, duration=60004 ms]
> {noformat}
> According to the message you cannot understand which nodes were inaccessible.
> Moreover, wants to see the connection trouble earlier than the 10 minutes 
> after.
> Should to log ip/host for clear understanding what was the node and log WARN 
> message each time when need to increase timeout:
> {code}
> if (lastWaitingTimeout < 6)
>   lastWaitingTimeout *= 2;
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (IGNITE-11425) Log information about inaccessible nodes through Communication

2019-04-30 Thread Vladislav Pyatkov (JIRA)


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

Vladislav Pyatkov edited comment on IGNITE-11425 at 4/30/19 10:16 AM:
--

[~Denis Chudov] Looks good to me.
Please, move it by process.


was (Author: v.pyatkov):
[~Denis Chudov] Looks good to me.
Please, move it to process.

> Log information about inaccessible nodes through Communication
> --
>
> Key: IGNITE-11425
> URL: https://issues.apache.org/jira/browse/IGNITE-11425
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vladislav Pyatkov
>Assignee: Denis Chudov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> In case of long getting communication TCP client (longe than this 
> CONNECTION_ESTABLISH_THRESHOLD_MS = 100) message will printed:
> {noformat}
> [sys-#20167%dht.CacheGetReadFromBackupFailoverTest0%][TcpCommunicationSpi] 
> TCP client created [client=GridTcpNioCommunicationClient 
> [ses=GridSelectorNioSessionImpl [worker=DirectNioClientWorker 
> [super=AbstractNioClientWorker [idx=3, bytesRcvd=0, bytesSent=0, 
> bytesRcvd0=0, bytesSent0=0, select=true, super=GridWorker 
> [name=grid-nio-worker-tcp-comm-3, 
> igniteInstanceName=dht.CacheGetReadFromBackupFailoverTest0, finished=false, 
> heartbeatTs=1550512236151, hashCode=140561231, interrupted=false, 
> runner=grid-nio-worker-tcp-comm-3-#20147%dht.CacheGetReadFromBackupFailoverTest0%]]],
>  writeBuf=java.nio.DirectByteBuffer[pos=0 lim=32768 cap=32768], 
> readBuf=java.nio.DirectByteBuffer[pos=0 lim=32768 cap=32768], 
> inRecovery=GridNioRecoveryDescriptor [acked=0, resendCnt=0, rcvCnt=0, 
> sentCnt=0, reserved=true, lastAck=0, nodeLeft=false, node=TcpDiscoveryNode 
> [id=8a660330-6ddb-4031-b955-4cb4f4b2, addrs=ArrayList [127.0.0.1], 
> sockAddrs=HashSet [/127.0.0.1:47502], discPort=47502, order=5, intOrder=4, 
> lastExchangeTime=1550512235890, loc=false, ver=2.8.0#20190218-sha1:29232e37, 
> isClient=false], connected=false, connectCnt=2, queueLimit=4096, 
> reserveCnt=2, pairedConnections=false], outRecovery=GridNioRecoveryDescriptor 
> [acked=0, resendCnt=0, rcvCnt=0, sentCnt=0, reserved=true, lastAck=0, 
> nodeLeft=false, node=TcpDiscoveryNode 
> [id=8a660330-6ddb-4031-b955-4cb4f4b2, addrs=ArrayList [127.0.0.1], 
> sockAddrs=HashSet [/127.0.0.1:47502], discPort=47502, order=5, intOrder=4, 
> lastExchangeTime=1550512235890, loc=false, ver=2.8.0#20190218-sha1:29232e37, 
> isClient=false], connected=false, connectCnt=2, queueLimit=4096, 
> reserveCnt=2, pairedConnections=false], super=GridNioSessionImpl 
> [locAddr=/127.0.0.1:38770, rmtAddr=/127.0.0.1:45212, 
> createTime=1550512236151, closeTime=0, bytesSent=0, bytesRcvd=0, 
> bytesSent0=0, bytesRcvd0=0, sndSchedTime=1550512236151, 
> lastSndTime=1550512236151, lastRcvTime=1550512236151, readsPaused=false, 
> filterChain=FilterChain[filters=[GridNioCodecFilter 
> [parser=org.apache.ignite.internal.util.nio.GridDirectParser@d240a48, 
> directMode=true], GridConnectionBytesVerifyFilter], accepted=false, 
> markedForClose=false]], super=GridAbstractCommunicationClient 
> [lastUsed=1550512236151, closed=false, connIdx=0]], duration=211ms]
> {noformat}
> but in some cases we can not to get client during time out, and the message 
> reduce to
> {noformat}
> TCP client created [client=null, duration=60004 ms]
> {noformat}
> According to the message you cannot understand which nodes were inaccessible.
> Moreover, wants to see the connection trouble earlier than the 10 minutes 
> after.
> Should to log ip/host for clear understanding what was the node and log WARN 
> message each time when need to increase timeout:
> {code}
> if (lastWaitingTimeout < 6)
>   lastWaitingTimeout *= 2;
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (IGNITE-11425) Log information about inaccessible nodes through Communication

2019-04-30 Thread Vladislav Pyatkov (JIRA)


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

Vladislav Pyatkov edited comment on IGNITE-11425 at 4/30/19 10:16 AM:
--

[~Denis Chudov] Looks good to me.
Please, move by process.


was (Author: v.pyatkov):
[~Denis Chudov] Looks good to me.
Please, move it by process.

> Log information about inaccessible nodes through Communication
> --
>
> Key: IGNITE-11425
> URL: https://issues.apache.org/jira/browse/IGNITE-11425
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vladislav Pyatkov
>Assignee: Denis Chudov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> In case of long getting communication TCP client (longe than this 
> CONNECTION_ESTABLISH_THRESHOLD_MS = 100) message will printed:
> {noformat}
> [sys-#20167%dht.CacheGetReadFromBackupFailoverTest0%][TcpCommunicationSpi] 
> TCP client created [client=GridTcpNioCommunicationClient 
> [ses=GridSelectorNioSessionImpl [worker=DirectNioClientWorker 
> [super=AbstractNioClientWorker [idx=3, bytesRcvd=0, bytesSent=0, 
> bytesRcvd0=0, bytesSent0=0, select=true, super=GridWorker 
> [name=grid-nio-worker-tcp-comm-3, 
> igniteInstanceName=dht.CacheGetReadFromBackupFailoverTest0, finished=false, 
> heartbeatTs=1550512236151, hashCode=140561231, interrupted=false, 
> runner=grid-nio-worker-tcp-comm-3-#20147%dht.CacheGetReadFromBackupFailoverTest0%]]],
>  writeBuf=java.nio.DirectByteBuffer[pos=0 lim=32768 cap=32768], 
> readBuf=java.nio.DirectByteBuffer[pos=0 lim=32768 cap=32768], 
> inRecovery=GridNioRecoveryDescriptor [acked=0, resendCnt=0, rcvCnt=0, 
> sentCnt=0, reserved=true, lastAck=0, nodeLeft=false, node=TcpDiscoveryNode 
> [id=8a660330-6ddb-4031-b955-4cb4f4b2, addrs=ArrayList [127.0.0.1], 
> sockAddrs=HashSet [/127.0.0.1:47502], discPort=47502, order=5, intOrder=4, 
> lastExchangeTime=1550512235890, loc=false, ver=2.8.0#20190218-sha1:29232e37, 
> isClient=false], connected=false, connectCnt=2, queueLimit=4096, 
> reserveCnt=2, pairedConnections=false], outRecovery=GridNioRecoveryDescriptor 
> [acked=0, resendCnt=0, rcvCnt=0, sentCnt=0, reserved=true, lastAck=0, 
> nodeLeft=false, node=TcpDiscoveryNode 
> [id=8a660330-6ddb-4031-b955-4cb4f4b2, addrs=ArrayList [127.0.0.1], 
> sockAddrs=HashSet [/127.0.0.1:47502], discPort=47502, order=5, intOrder=4, 
> lastExchangeTime=1550512235890, loc=false, ver=2.8.0#20190218-sha1:29232e37, 
> isClient=false], connected=false, connectCnt=2, queueLimit=4096, 
> reserveCnt=2, pairedConnections=false], super=GridNioSessionImpl 
> [locAddr=/127.0.0.1:38770, rmtAddr=/127.0.0.1:45212, 
> createTime=1550512236151, closeTime=0, bytesSent=0, bytesRcvd=0, 
> bytesSent0=0, bytesRcvd0=0, sndSchedTime=1550512236151, 
> lastSndTime=1550512236151, lastRcvTime=1550512236151, readsPaused=false, 
> filterChain=FilterChain[filters=[GridNioCodecFilter 
> [parser=org.apache.ignite.internal.util.nio.GridDirectParser@d240a48, 
> directMode=true], GridConnectionBytesVerifyFilter], accepted=false, 
> markedForClose=false]], super=GridAbstractCommunicationClient 
> [lastUsed=1550512236151, closed=false, connIdx=0]], duration=211ms]
> {noformat}
> but in some cases we can not to get client during time out, and the message 
> reduce to
> {noformat}
> TCP client created [client=null, duration=60004 ms]
> {noformat}
> According to the message you cannot understand which nodes were inaccessible.
> Moreover, wants to see the connection trouble earlier than the 10 minutes 
> after.
> Should to log ip/host for clear understanding what was the node and log WARN 
> message each time when need to increase timeout:
> {code}
> if (lastWaitingTimeout < 6)
>   lastWaitingTimeout *= 2;
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (IGNITE-6957) Reduce excessive int boxing when accessing cache by ID

2019-04-30 Thread Stepachev Maksim (JIRA)


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

Stepachev Maksim reassigned IGNITE-6957:


Assignee: Stepachev Maksim

> Reduce excessive int boxing when accessing cache by ID
> --
>
> Key: IGNITE-6957
> URL: https://issues.apache.org/jira/browse/IGNITE-6957
> Project: Ignite
>  Issue Type: Task
>  Components: cache
>Affects Versions: 2.3
>Reporter: Alexey Goncharuk
>Assignee: Stepachev Maksim
>Priority: Major
> Fix For: 2.8
>
> Attachments: 2017-11-20_12-01-31.png
>
>
> We have a number of places which lead to a large number of Integer 
> allocations when having a large number of caches and partitions. See the 
> image attached.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (IGNITE-11539) Document services hot redeployment via DeploymentSpi

2019-04-30 Thread Artem Budnikov (JIRA)


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

Artem Budnikov reassigned IGNITE-11539:
---

Assignee: (was: Vyacheslav Daradur)

> Document services hot redeployment via DeploymentSpi
> 
>
> Key: IGNITE-11539
> URL: https://issues.apache.org/jira/browse/IGNITE-11539
> Project: Ignite
>  Issue Type: Task
>  Components: documentation, managed services
>Reporter: Vyacheslav Daradur
>Priority: Major
>  Labels: iep-17
> Fix For: 2.8
>
>
> It's necessary to document "how to use" service hot redeployment.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-11539) Document services hot redeployment via DeploymentSpi

2019-04-30 Thread Artem Budnikov (JIRA)


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

Artem Budnikov commented on IGNITE-11539:
-

Added the description of the feature here: 
https://apacheignite.readme.io/docs/service-grid-28#service-updates-redeployment

> Document services hot redeployment via DeploymentSpi
> 
>
> Key: IGNITE-11539
> URL: https://issues.apache.org/jira/browse/IGNITE-11539
> Project: Ignite
>  Issue Type: Task
>  Components: documentation, managed services
>Reporter: Vyacheslav Daradur
>Assignee: Vyacheslav Daradur
>Priority: Major
>  Labels: iep-17
> Fix For: 2.8
>
>
> It's necessary to document "how to use" service hot redeployment.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (IGNITE-11539) Document services hot redeployment via DeploymentSpi

2019-04-30 Thread Artem Budnikov (JIRA)


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

Artem Budnikov edited comment on IGNITE-11539 at 4/30/19 12:15 PM:
---

Please find the description of the feature here: 
[https://apacheignite.readme.io/docs/service-grid-28#service-updates-redeployment]


was (Author: artem budnikov):
Added the description of the feature here: 
https://apacheignite.readme.io/docs/service-grid-28#service-updates-redeployment

> Document services hot redeployment via DeploymentSpi
> 
>
> Key: IGNITE-11539
> URL: https://issues.apache.org/jira/browse/IGNITE-11539
> Project: Ignite
>  Issue Type: Task
>  Components: documentation, managed services
>Reporter: Vyacheslav Daradur
>Priority: Major
>  Labels: iep-17
> Fix For: 2.8
>
>
> It's necessary to document "how to use" service hot redeployment.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-11824) Integrate PageLockTracker to DataStructure (per-thread tracker)

2019-04-30 Thread Dmitriy Govorukhin (JIRA)
Dmitriy Govorukhin created IGNITE-11824:
---

 Summary: Integrate PageLockTracker to DataStructure (per-thread 
tracker)
 Key: IGNITE-11824
 URL: https://issues.apache.org/jira/browse/IGNITE-11824
 Project: Ignite
  Issue Type: Sub-task
Reporter: Dmitriy Govorukhin
Assignee: Dmitriy Govorukhin


After [IGNITE-11750] will be completed, we will have a structure for tracking 
page locks per-thread. The next step, need to integrate it into diagnostic API 
and implements a component for creating this structure per-thread.  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-11824) Integrate PageLockTracker to DataStructure (per-thread tracker)

2019-04-30 Thread Dmitriy Govorukhin (JIRA)


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

Dmitriy Govorukhin updated IGNITE-11824:

Description: After [IGNITE-11786] will be completed, we will have a 
structure for tracking page locks per-thread. The next step, need to integrate 
it into diagnostic API and implements a component for creating this structure 
per-thread.(was: After [IGNITE-11750] will be completed, we will have a 
structure for tracking page locks per-thread. The next step, need to integrate 
it into diagnostic API and implements a component for creating this structure 
per-thread.  )

> Integrate PageLockTracker to DataStructure (per-thread tracker)
> ---
>
> Key: IGNITE-11824
> URL: https://issues.apache.org/jira/browse/IGNITE-11824
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Dmitriy Govorukhin
>Assignee: Dmitriy Govorukhin
>Priority: Major
>
> After [IGNITE-11786] will be completed, we will have a structure for tracking 
> page locks per-thread. The next step, need to integrate it into diagnostic 
> API and implements a component for creating this structure per-thread.  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-11298) TcpCommunicationSpi does not support TLSv1.3

2019-04-30 Thread Ignite TC Bot (JIRA)


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

Ignite TC Bot commented on IGNITE-11298:


{panel:title=--> Run :: All: Possible 
Blockers|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}Cache 2{color} [[tests 0 TIMEOUT , Exit Code 
|https://ci.ignite.apache.org/viewLog.html?buildId=3602455]]
* IgniteClientCacheStartFailoverTest.testClientStartCloseServersRestart (last 
started)

{color:#d04437}Scala (Visor Console){color} [[tests 0 Exit Code 
|https://ci.ignite.apache.org/viewLog.html?buildId=3602427]]

{color:#d04437}Platform .NET{color} [[tests 
3|https://ci.ignite.apache.org/viewLog.html?buildId=3602476]]
* exe: 
CacheQueriesRestartServerTest.Test_ScanQueryAfterClientReconnect_ReturnsResults(False)
 - 0,0% fails in last 158 master runs.

{color:#d04437}ZooKeeper (Discovery) 1{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=3602428]]
* ZookeeperDiscoverySpiTestSuite1: 
ZookeeperDiscoveryClientDisconnectTest.testStartNoServer_WaitForServers2 - 0,0% 
fails in last 126 master runs.

{color:#d04437}ZooKeeper (Discovery) 2{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=3602429]]
* ZookeeperDiscoverySpiTestSuite2: 
GridCommandHandlerTest.testCacheIdleVerifyDumpForCorruptedData - 0,0% fails in 
last 131 master runs.

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

> TcpCommunicationSpi does not support TLSv1.3
> 
>
> Key: IGNITE-11298
> URL: https://issues.apache.org/jira/browse/IGNITE-11298
> Project: Ignite
>  Issue Type: Bug
>  Components: general
>Affects Versions: 2.7
>Reporter: Ilya Kasnacheev
>Assignee: Vitaliy Biryukov
>Priority: Major
>  Labels: Java11
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> When started on Java 11 we cannot form a secure cluster - Discovery will 
> happily use the default TLSv1.3 but Communication will fail with its custom 
> SSLEngine-using code.
> Need to fix that.
> Until that, nodes may be salvaged by setProtocol("TLSv1.2") on 
> SslContextFactory, or by system property -Djdk.tls.client.protocols="TLSv1.2"



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-11626) InitNewCoordinatorFuture should be reported in diagnostic output

2019-04-30 Thread Ignite TC Bot (JIRA)


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

Ignite TC Bot commented on IGNITE-11626:


{panel:title=--> Run :: All: Possible 
Blockers|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}JDBC Driver{color} [[tests 0 TIMEOUT , Exit Code 
|https://ci.ignite.apache.org/viewLog.html?buildId=3719841]]

{color:#d04437}Platform .NET (Core Linux){color} [[tests 0 Exit Code 
|https://ci.ignite.apache.org/viewLog.html?buildId=3719843]]

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

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

> InitNewCoordinatorFuture should be reported in diagnostic output
> 
>
> Key: IGNITE-11626
> URL: https://issues.apache.org/jira/browse/IGNITE-11626
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexey Goncharuk
>Assignee: Stepachev Maksim
>Priority: Major
> Fix For: 2.8
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently {{InitNewCoordinatorFuture}} is not printed in PME diagnostic 
> output. This future also does not implement diagnostic aware interface and 
> remote information is not collected for this future.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-11825) Test GridCommandHandlerTest#testCacheIdleVerifyNodeFilter fails with "Duplicate row in index"

2019-04-30 Thread Ilya Kasnacheev (JIRA)
Ilya Kasnacheev created IGNITE-11825:


 Summary: Test GridCommandHandlerTest#testCacheIdleVerifyNodeFilter 
fails with "Duplicate row in index"
 Key: IGNITE-11825
 URL: https://issues.apache.org/jira/browse/IGNITE-11825
 Project: Ignite
  Issue Type: Bug
  Components: persistence
Reporter: Ilya Kasnacheev
Assignee: Ilya Kasnacheev


A freshly contributed test fails around half of runs with exceptions like:

{code}
[2019-04-30 
14:15:14,355][ERROR][data-streamer-stripe-0-#20402%gridCommandHandlerTest0%][IgniteTestResources]
 Failed to set initial value for cache entry: DataStreamerEntry [key=UserKeyCach
eObjectImpl [part=25, val=25, hasValBytes=true], val=UserCacheObjectImpl 
[val=25, hasValBytes=true]]
class 
org.apache.ignite.internal.processors.cache.persistence.tree.CorruptedTreeException:
 Runtime failure on search row: SearchRow [key=KeyCacheObjectImpl [part=25, 
val=25, hasValBytes=tru
e], hash=25, cacheId=0]
at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1817)
at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke0(IgniteCacheOffheapManagerImpl.java:1619)
at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1602)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.invoke(GridCacheOffheapManager.java:2160)
at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:433)
at 
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.storeValue(GridCacheMapEntry.java:4282)
at 
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.initialValue(GridCacheMapEntry.java:3430)
at 
org.apache.ignite.internal.processors.cache.GridCacheEntryEx.initialValue(GridCacheEntryEx.java:772)
at 
org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl$IsolatedUpdater.receive(DataStreamerImpl.java:2280)
at 
org.apache.ignite.internal.processors.datastreamer.DataStreamerUpdateJob.call(DataStreamerUpdateJob.java:140)
at 
org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6845)
at 
org.apache.ignite.internal.processors.closure.GridClosureProcessor$2.body(GridClosureProcessor.java:967)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
at 
org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:550)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalStateException: Duplicate row in index.
at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Insert.run0(BPlusTree.java:437)
at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Insert.run0(BPlusTree.java:423)
at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5643)
at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5629)
at 
org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.writePage(PageHandler.java:359)
at 
org.apache.ignite.internal.processors.cache.persistence.DataStructure.write(DataStructure.java:285)
at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$11400(BPlusTree.java:92)
at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.tryInsert(BPlusTree.java:3622)
at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.access$7100(BPlusTree.java:3302)
at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.onNotFound(BPlusTree.java:3860)
at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.access$5800(BPlusTree.java:3652)
at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invokeDown(BPlusTree.java:1902)
at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1784)
{code}

which will lead to partition divergence.

Maybe node filter is not implemented correctly, but otherwise it would look 
like a Durable Memory bug.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-11825) Test GridCommandHandlerTest#testCacheIdleVerifyNodeFilter fails with "Duplicate row in index"

2019-04-30 Thread Ilya Kasnacheev (JIRA)


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

Ilya Kasnacheev commented on IGNITE-11825:
--

[~ivan.glukos] can you please take a look? Seems similar to IGNITE-10873

> Test GridCommandHandlerTest#testCacheIdleVerifyNodeFilter fails with 
> "Duplicate row in index"
> -
>
> Key: IGNITE-11825
> URL: https://issues.apache.org/jira/browse/IGNITE-11825
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence
>Reporter: Ilya Kasnacheev
>Assignee: Ilya Kasnacheev
>Priority: Major
>
> A freshly contributed test fails around half of runs with exceptions like:
> {code}
> [2019-04-30 
> 14:15:14,355][ERROR][data-streamer-stripe-0-#20402%gridCommandHandlerTest0%][IgniteTestResources]
>  Failed to set initial value for cache entry: DataStreamerEntry 
> [key=UserKeyCach
> eObjectImpl [part=25, val=25, hasValBytes=true], val=UserCacheObjectImpl 
> [val=25, hasValBytes=true]]
> class 
> org.apache.ignite.internal.processors.cache.persistence.tree.CorruptedTreeException:
>  Runtime failure on search row: SearchRow [key=KeyCacheObjectImpl [part=25, 
> val=25, hasValBytes=tru
> e], hash=25, cacheId=0]
> at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1817)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke0(IgniteCacheOffheapManagerImpl.java:1619)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1602)
> at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.invoke(GridCacheOffheapManager.java:2160)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:433)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.storeValue(GridCacheMapEntry.java:4282)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.initialValue(GridCacheMapEntry.java:3430)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheEntryEx.initialValue(GridCacheEntryEx.java:772)
> at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl$IsolatedUpdater.receive(DataStreamerImpl.java:2280)
> at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerUpdateJob.call(DataStreamerUpdateJob.java:140)
> at 
> org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6845)
> at 
> org.apache.ignite.internal.processors.closure.GridClosureProcessor$2.body(GridClosureProcessor.java:967)
> at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
> at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:550)
> at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IllegalStateException: Duplicate row in index.
> at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Insert.run0(BPlusTree.java:437)
> at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Insert.run0(BPlusTree.java:423)
> at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5643)
> at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5629)
> at 
> org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.writePage(PageHandler.java:359)
> at 
> org.apache.ignite.internal.processors.cache.persistence.DataStructure.write(DataStructure.java:285)
> at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$11400(BPlusTree.java:92)
> at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.tryInsert(BPlusTree.java:3622)
> at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.access$7100(BPlusTree.java:3302)
> at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.onNotFound(BPlusTree.java:3860)
> at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.access$5800(BPlusTree.java:3652)
> at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invokeDown(BPlusTree.java:1902)
> at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(

[jira] [Commented] (IGNITE-11298) TcpCommunicationSpi does not support TLSv1.3

2019-04-30 Thread Ilya Kasnacheev (JIRA)


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

Ilya Kasnacheev commented on IGNITE-11298:
--

[~VitaliyB] Unfortunately it seems that issue is not fully fixed. Under Java 11 
it will now work, but in Java 12, TcpDiscoverySslTrustedUntrustedTest will 
still hang with TLS 1.3
With TLS 1.2 it will pass. Please take a look. This is when ran locally.

> TcpCommunicationSpi does not support TLSv1.3
> 
>
> Key: IGNITE-11298
> URL: https://issues.apache.org/jira/browse/IGNITE-11298
> Project: Ignite
>  Issue Type: Bug
>  Components: general
>Affects Versions: 2.7
>Reporter: Ilya Kasnacheev
>Assignee: Vitaliy Biryukov
>Priority: Major
>  Labels: Java11
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> When started on Java 11 we cannot form a secure cluster - Discovery will 
> happily use the default TLSv1.3 but Communication will fail with its custom 
> SSLEngine-using code.
> Need to fix that.
> Until that, nodes may be salvaged by setProtocol("TLSv1.2") on 
> SslContextFactory, or by system property -Djdk.tls.client.protocols="TLSv1.2"



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-11826) Unwrap Option[T] types for @QuerySqlField for known SQL types

2019-04-30 Thread Alex Savitsky (JIRA)
Alex Savitsky created IGNITE-11826:
--

 Summary: Unwrap Option[T] types for @QuerySqlField for known SQL 
types
 Key: IGNITE-11826
 URL: https://issues.apache.org/jira/browse/IGNITE-11826
 Project: Ignite
  Issue Type: Improvement
  Components: binary, sql
Affects Versions: 2.7
Reporter: Alex Savitsky


Currently, annotating an Option type with {{@QuerySqlField}} results in a DB 
column of type {{OTHER}}. It would be nice if known SQL types could be 
unwrapped from their optionals, so that, for example, {{@QuerySqlField name: 
Option[String]}} would result in a field of type {{VARCHAR}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-10983) Check that persistenceEnabled is consistent on all nodes

2019-04-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-10983:
-

[~mstepachev], I've left some comments in the PR.

> Check that persistenceEnabled is consistent on all nodes
> 
>
> Key: IGNITE-10983
> URL: https://issues.apache.org/jira/browse/IGNITE-10983
> Project: Ignite
>  Issue Type: Task
>Reporter: Stanislav Lukyanov
>Assignee: Stepachev Maksim
>Priority: Major
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Currently it is possible to have a cluster where the same data region is 
> persistent on some nodes and not persistent on others. This use case doesn't 
> have enough testing, so it's better to deny it for now by adding a check for 
> that and not allowing a node with a different persistenceEnabled value to 
> join the cluster.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-11626) InitNewCoordinatorFuture should be reported in diagnostic output

2019-04-30 Thread Ignite TC Bot (JIRA)


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

Ignite TC Bot commented on IGNITE-11626:


{panel:title=--> Run :: All: Possible 
Blockers|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}JDBC Driver{color} [[tests 0 TIMEOUT , Exit Code 
|https://ci.ignite.apache.org/viewLog.html?buildId=3720835]]

{color:#d04437}Platform .NET (Core Linux){color} [[tests 0 Exit Code 
|https://ci.ignite.apache.org/viewLog.html?buildId=3720837]]

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

> InitNewCoordinatorFuture should be reported in diagnostic output
> 
>
> Key: IGNITE-11626
> URL: https://issues.apache.org/jira/browse/IGNITE-11626
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexey Goncharuk
>Assignee: Stepachev Maksim
>Priority: Major
> Fix For: 2.8
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently {{InitNewCoordinatorFuture}} is not printed in PME diagnostic 
> output. This future also does not implement diagnostic aware interface and 
> remote information is not collected for this future.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-11699) Node can't start after forced shutdown if the wal archiver disabled

2019-04-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-11699:
-

[~slava.koptilin], changes look good. Let's just add reproducer test to cover 
this issue.

> Node can't start after forced shutdown if the wal archiver disabled
> ---
>
> Key: IGNITE-11699
> URL: https://issues.apache.org/jira/browse/IGNITE-11699
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence
>Affects Versions: 2.7
>Reporter: Pavel Vinokurov
>Assignee: Vyacheslav Koptilin
>Priority: Major
> Fix For: 2.8
>
> Attachments: disabled-wal-archive-reproducer.zip
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> If a server node killed with the disabled wal archive, it could fail on start 
> with following exception:
> {code:java}
> [18:37:53,887][SEVERE][sys-stripe-1-#2][G] Failed to execute runnable.
> java.lang.IllegalStateException: Failed to get page IO instance (page content 
> is corrupted)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.io.IOVersions.forVersion(IOVersions.java:85)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.io.IOVersions.forPage(IOVersions.java:97)
>   at 
> org.apache.ignite.internal.pagemem.wal.record.delta.MetaPageUpdatePartitionDataRecord.applyDelta(MetaPageUpdatePartitionDataRecord.java:109)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.applyPageDelta(GridCacheDatabaseSharedManager.java:2532)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.lambda$performBinaryMemoryRestore$11(GridCacheDatabaseSharedManager.java:2327)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.lambda$stripedApplyPage$12(GridCacheDatabaseSharedManager.java:2441)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.lambda$stripedApply$13(GridCacheDatabaseSharedManager.java:2479)
>   at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:550)
>   at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
>   at java.lang.Thread.run(Thread.java:748)
> {code}
> The reproducer is attached(works only on Linux).
> Steps to run the reproducer.
> 1. Copy config/server.xml into IGNITE_HOME/config folder;
> 2. Set IGNITE_HOME in the CorruptionReproducer class;
> 3. Launch  CorruptionReproducer.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-11367) Fix several issues in PageMemoryTracker

2019-04-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-11367:
-

[~alex_pl], thanks! Looks good to me, please proceed with merge.

> Fix several issues in PageMemoryTracker
> ---
>
> Key: IGNITE-11367
> URL: https://issues.apache.org/jira/browse/IGNITE-11367
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Assignee: Aleksey Plekhanov
>Priority: Major
> Fix For: 2.8
>
> Attachments: page_memory_tracker_issues_repro.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> I've discovered some issues in PageMemoryTracker while debugging IGNITE-10873:
> 1) Mock page memory doesn't implement PageMemoryImpl#pageBuffer. As a result, 
> some delta records (which applies changes via buffer) can't be applied. 
> Example:
> {code:java}
>   Caused by: java.lang.NullPointerException
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.io.TrackingPageIO.getLastSnapshotTag0(TrackingPageIO.java:235)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.io.TrackingPageIO.getLastSnapshotTag(TrackingPageIO.java:227)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.io.TrackingPageIO.validateSnapshotTag(TrackingPageIO.java:135)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.io.TrackingPageIO.markChanged(TrackingPageIO.java:93)
>   at 
> org.apache.ignite.internal.pagemem.wal.record.delta.TrackingPageDeltaRecord.applyDelta(TrackingPageDeltaRecord.java:75)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.wal.memtracker.PageMemoryTracker.applyWalRecord(PageMemoryTracker.java:447)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.wal.memtracker.PageMemoryTracker.access$000(PageMemoryTracker.java:81)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.wal.memtracker.PageMemoryTracker$1.log(PageMemoryTracker.java:159)
>   at 
> org.gridgain.grid.internal.processors.cache.database.snapshot.GridCacheSnapshotManager.onChangeTrackerPage(GridCacheSnapshotManager.java:2801)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$5.applyx(GridCacheDatabaseSharedManager.java:1084)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$5.applyx(GridCacheDatabaseSharedManager.java:1077)
>   at 
> org.apache.ignite.internal.util.lang.GridInClosure3X.apply(GridInClosure3X.java:34)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.writeUnlockPage(PageMemoryImpl.java:1572)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.writeUnlock(PageMemoryImpl.java:495)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.writeUnlock(PageMemoryImpl.java:487)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.writeUnlock(PageHandler.java:394)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.writePage(PageHandler.java:369)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.DataStructure.write(DataStructure.java:285)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$11500(BPlusTree.java:92)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.tryReplace(BPlusTree.java:3638)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2565)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2293)
>   ... 33 more
> {code}
> 2) During binary recovery phase, page memory is changed by applying delta 
> records and page snapshots (GridCacheDatabaseSharedManager#applyPageDelta, 
> #applyPageSnapshot). Such changes are not replicated by logging delta records 
> to WAL (we don't log physical records on binary recovery - we just apply 
> already logged ones). This leads to false positive broken consistency 
> reports. To prevent this, we should apply changes to both regular page memory 
> and mock page memory in PageMemoryTracker.
> 3) PagesList.java:918:
> {code:java}
>   

[jira] [Created] (IGNITE-11827) Scalar doesn't support anonymous message listeners

2019-04-30 Thread Alex Savitsky (JIRA)
Alex Savitsky created IGNITE-11827:
--

 Summary: Scalar doesn't support anonymous message listeners
 Key: IGNITE-11827
 URL: https://issues.apache.org/jira/browse/IGNITE-11827
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.7
Reporter: Alex Savitsky


This works:


{code:scala}
import java.util.UUID

import org.apache.ignite.configuration.IgniteConfiguration
import org.apache.ignite.lang.IgniteBiPredicate
import org.apache.ignite.scalar.lang.ScalarPredicate2Function
import org.apache.ignite.scalar.scalar
import org.apache.ignite.scalar.scalar._

object TestIgniteMessagingScala extends App {
  class ScalaListener extends ScalarPredicate2Function[UUID, String](new 
IgniteBiPredicate[UUID, String] {
override def apply(nodeId: UUID, msg: String): Boolean = {
  System.out.println("Received ordered message [msg=" + msg + ", from=" + 
nodeId + ']')
  true
}
  })
  scalar(new 
IgniteConfiguration().setClientMode(true).setPeerClassLoadingEnabled(true)) {
val messaging = ignite$.message(ignite$.cluster.forRemotes)
messaging.remoteListen("MyUnOrderedTopic", new ScalaListener)
for (i <- 1 to 10)
  messaging.send("MyUnOrderedTopic", Integer.toString(i))
  }
}
{code}

However, trying to define the same listener in place, fails:

{code:scala}
import java.util.UUID

import org.apache.ignite.configuration.IgniteConfiguration
import org.apache.ignite.lang.IgniteBiPredicate
import org.apache.ignite.scalar.lang.ScalarPredicate2Function
import org.apache.ignite.scalar.scalar
import org.apache.ignite.scalar.scalar._

object TestIgniteMessagingScala extends App {
  scalar(new 
IgniteConfiguration().setClientMode(true).setPeerClassLoadingEnabled(true)) {
val messaging = ignite$.message(ignite$.cluster.forRemotes)
val listener: IgniteBiPredicate[UUID, String] = (nodeId: UUID, msg: String) 
=> {
  System.out.println("Received ordered message [msg=" + msg + ", from=" + 
nodeId + ']')
  true
}
messaging.remoteListen("MyUnOrderedTopic", listener)
for (i <- 1 to 10)
  messaging.send("MyUnOrderedTopic", Integer.toString(i))
  }
}
{code}

The exception is:


{noformat}
Exception in thread "main" class 
org.apache.ignite.binary.BinaryObjectException: Failed to deserialize object 
[typeName=org.apache.ignite.scalar.lang.ScalarPredicate2]
at 
org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:914)
at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1764)
at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1716)
at 
org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:313)
at 
org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:102)
at 
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82)
at 
org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10140)
at 
org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10169)
at 
org.apache.ignite.internal.GridMessageListenHandler.p2pUnmarshal(GridMessageListenHandler.java:194)
at 
org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.processStartRequest(GridContinuousProcessor.java:1362)
at 
org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.access$400(GridContinuousProcessor.java:111)
at 
org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$2.onCustomEvent(GridContinuousProcessor.java:203)
at 
org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$2.onCustomEvent(GridContinuousProcessor.java:194)
at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.onDiscovery0(GridDiscoveryManager.java:727)
at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.lambda$onDiscovery$0(GridDiscoveryManager.java:604)
at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body0(GridDiscoveryManager.java:2667)
at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body(GridDiscoveryManager.java:2705)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
at java.lang.Thread.run(Thread.java:748)
Caused by: class org.apache.ignite.binary.BinaryObjectException: Failed to read 
field [name=p]
at 
org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:192)
at 
org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:875)
... 18 more
Caused by: class org.apache.ignite.binary.BinaryInvalidTypeException:

[jira] [Commented] (IGNITE-11699) Node can't start after forced shutdown if the wal archiver disabled

2019-04-30 Thread Dmitriy Pavlov (JIRA)


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

Dmitriy Pavlov commented on IGNITE-11699:
-

[~slava.koptilin] LGTM provided that we can add a unit test for it. As a 
summary from the private discussion, I also +1 for changing 
lastArchivedSegmentIdx to be currently started segment (now it is current 
finished) for 'no-archiver' mode if it is needed.

> Node can't start after forced shutdown if the wal archiver disabled
> ---
>
> Key: IGNITE-11699
> URL: https://issues.apache.org/jira/browse/IGNITE-11699
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence
>Affects Versions: 2.7
>Reporter: Pavel Vinokurov
>Assignee: Vyacheslav Koptilin
>Priority: Major
> Fix For: 2.8
>
> Attachments: disabled-wal-archive-reproducer.zip
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> If a server node killed with the disabled wal archive, it could fail on start 
> with following exception:
> {code:java}
> [18:37:53,887][SEVERE][sys-stripe-1-#2][G] Failed to execute runnable.
> java.lang.IllegalStateException: Failed to get page IO instance (page content 
> is corrupted)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.io.IOVersions.forVersion(IOVersions.java:85)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.io.IOVersions.forPage(IOVersions.java:97)
>   at 
> org.apache.ignite.internal.pagemem.wal.record.delta.MetaPageUpdatePartitionDataRecord.applyDelta(MetaPageUpdatePartitionDataRecord.java:109)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.applyPageDelta(GridCacheDatabaseSharedManager.java:2532)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.lambda$performBinaryMemoryRestore$11(GridCacheDatabaseSharedManager.java:2327)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.lambda$stripedApplyPage$12(GridCacheDatabaseSharedManager.java:2441)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.lambda$stripedApply$13(GridCacheDatabaseSharedManager.java:2479)
>   at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:550)
>   at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
>   at java.lang.Thread.run(Thread.java:748)
> {code}
> The reproducer is attached(works only on Linux).
> Steps to run the reproducer.
> 1. Copy config/server.xml into IGNITE_HOME/config folder;
> 2. Set IGNITE_HOME in the CorruptionReproducer class;
> 3. Launch  CorruptionReproducer.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-10690) Ignite throws exception when storing an object with an Instant field

2019-04-30 Thread Pavel Kuznetsov (JIRA)


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

Pavel Kuznetsov commented on IGNITE-10690:
--

Issue was in that H2 said type is supported, but Ignite didn't support this 
type. Made changes that any unsupported type is treated as java object. Added 
smoke test.
[~tledkov-gridgain] would you please do a first review?

> Ignite throws exception when storing an object with an Instant field
> 
>
> Key: IGNITE-10690
> URL: https://issues.apache.org/jira/browse/IGNITE-10690
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 2.7
>Reporter: Benjamin Dunton
>Assignee: Pavel Kuznetsov
>Priority: Blocker
> Fix For: 2.8
>
>
> This was working fine with Ignite 2.6.0 and H2 version 1.4.196. I upgraded to 
> Ignite 2.7 and H2 version 1.4.197, and it is now broken.
> I am using spring-data with a repository defined like this:
> {{@RepositoryConfig(cacheName = "myObjectCache")}}
>  {{interface MyObjectRepository extends IgniteRepository 
> {}}
>  {{    ...}}
>  {{}}}
> If SomeObject has a field of type Instant, I get an IgniteCheckedException 
> when inserting the object into the repository.
> This broke as a result of the recent H2 upgrade in IGNITE-4150. In H2 version 
> 1.4.197, they changed the way Instant fields are mapped to the underlying 
> data type. In 1.4.196 and earlier, Instants were mapped to Value.JAVA_OBJECT, 
> but now are mapped to Value.TIMESTAMP_TZ (see 
> org.h2.value.DataType.getTypeFromClass(Class x)).
> When GridH2RowDescriptor tries to wrap the value, it doesn't recognize 
> TIMESTAMP_TZ, and it throws IgniteCheckedException. See 
> GridH2RowDescriptor.wrap(Object, int).
>  
> Here is the relevant part of the stack trace:
> org.h2.message.DbException: General error: "class 
> org.apache.ignite.IgniteCheckedException: Failed to wrap value[type=24, 
> value=2018-12-14T13:07:30.982Z]" [5-197]
> at org.h2.message.DbException.get(DbException.java:168)
> at org.h2.message.DbException.convert(DbException.java:307)
> at 
> org.apache.ignite.internal.processors.query.h2.opt.GridH2KeyValueRowOnheap.getValue0(GridH2KeyValueRowOnheap.java:138)
> at 
> org.apache.ignite.internal.processors.query.h2.opt.GridH2KeyValueRowOnheap.getValue(GridH2KeyValueRowOnheap.java:113)
> at 
> org.apache.ignite.internal.processors.query.h2.opt.GridH2KeyValueRowOnheap.toString(GridH2KeyValueRowOnheap.java:201)
> at java.lang.String.valueOf(String.java:2994)
> at java.lang.StringBuilder.append(StringBuilder.java:131)
> at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doRemove(BPlusTree.java:1969)
> at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.removex(BPlusTree.java:1764)
> at 
> org.apache.ignite.internal.processors.query.h2.database.H2TreeIndex.removex(H2TreeIndex.java:345)
> at 
> org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.remove(GridH2Table.java:521)
> at 
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.remove(IgniteH2Indexing.java:797)
> at 
> org.apache.ignite.internal.processors.query.GridQueryProcessor.remove(GridQueryProcessor.java:2596)
> at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.remove(GridCacheQueryManager.java:435)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.finishRemove(IgniteCacheOffheapManagerImpl.java:2709)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.remove(IgniteCacheOffheapManagerImpl.java:2686)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.remove(IgniteCacheOffheapManagerImpl.java:651)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.removeValue(GridCacheMapEntry.java:4362)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.invalidate(GridCacheMapEntry.java:2914)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxAdapter.uncommit(IgniteTxAdapter.java:486)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxLocalAdapter.userCommit(IgniteTxLocalAdapter.java:966)
> at 
> org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.localFinish(GridNearTxLocal.java:3646)
> at 
> org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxFinishFuture.doFinish(GridNearTxFinishFuture.java:475)
> at 
> org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxFinishFuture.finish(GridNearTxFinishFuture.java:425)
> at 
> org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal$25.apply(GridNearTxLocal.java:3788)
> at 
> org.apache.