[jira] [Commented] (IGNITE-12894) Cannot use IgniteAtomicSequence in Ignite services

2020-05-04 Thread Vyacheslav Daradur (Jira)


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

Vyacheslav Daradur commented on IGNITE-12894:
-

[~PetrovMikhail], the suggestion proposed by you makes sense, but it covers the 
only case - the race between request sender state and remote node to invoke and 
allows the sender to resend request.

There are several disadvantages:
- multiple requests in comparison with possible handling of the case on a 
remote node (without resend requests)
- the infinite loop is possible in case of deployment failed, we should 
consider a case when deployment is failed and there is no sense resend request

I think we need a mechanism of waiting for a change of service topology on 
Ignite node without resending of request. The approach covers case with 
statically configured service from the task's description when service is 
called before deployment finished on a single node cluster. Also, the issue 
with remote proxy may be solved the same way.

> Cannot use IgniteAtomicSequence in Ignite services
> --
>
> Key: IGNITE-12894
> URL: https://issues.apache.org/jira/browse/IGNITE-12894
> Project: Ignite
>  Issue Type: Bug
>  Components: compute
>Affects Versions: 2.8
>Reporter: Alexey Kukushkin
>Assignee: Mikhail Petrov
>Priority: Major
>  Labels: sbcf
>
> h2. Repro Steps
> Execute the below steps in default service deployment mode and in 
> discovery-based service deployment mode. 
>  Use {{-DIGNITE_EVENT_DRIVEN_SERVICE_PROCESSOR_ENABLED=true}} JVM option to 
> switch to the discovery-based service deployment mode.
>  * Create a service initializing an {{IgniteAtomicService}} in method 
> {{Service#init()}} and using the {{IgniteAtomicService}} in a business method.
>  * Start an Ignite node with the service specified in the IgniteConfiguration
>  * Invoke the service's business method on the Ignite node
> h3. Actual Result
> h4. In Default Service Deployment Mode
> Deadlock on the business method invocation
> h4. In Discovery-Based Service Deployment Mode
> The method invocation fails with {{IgniteException: Failed to find deployed 
> service: IgniteTestService}}
> h2. Reproducer
> h3. Test.java
> {code:java}
> public interface Test {
> String sayHello(String name);
> }
> {code}
> h3. IgniteTestService.java
> {code:java}
> public class IgniteTestService implements Test, Service {
> private @IgniteInstanceResource Ignite ignite;
> private IgniteAtomicSequence seq;
> @Override public void cancel(ServiceContext ctx) {
> }
> @Override public void init(ServiceContext ctx) throws 
> InterruptedException {
> seq = ignite.atomicSequence("TestSeq", 0, true);
> }
> @Override public void execute(ServiceContext ctx) {
> }
> @Override public String sayHello(String name) {
> return "Hello, " + name + "! #" + seq.getAndIncrement();
> }
> }
> {code}
> h3. Reproducer.java
> {code:java}
> public class Reproducer {
> public static void main(String[] args) {
> IgniteConfiguration igniteCfg = new IgniteConfiguration()
> .setServiceConfiguration(
> new ServiceConfiguration()
> .setName(IgniteTestService.class.getSimpleName())
> .setMaxPerNodeCount(1)
> .setTotalCount(0)
> .setService(new IgniteTestService())
> )
> .setDiscoverySpi(
> new TcpDiscoverySpi()
> .setIpFinder(new 
> TcpDiscoveryVmIpFinder().setAddresses(Collections.singleton("127.0.0.1:47500")))
> );
> try (Ignite ignite = Ignition.start(igniteCfg)) {
> 
> ignite.services().serviceProxy(IgniteTestService.class.getSimpleName(), 
> Test.class, false)
> .sayHello("World");
> }
> }
> }
> {code}
> h2. Workaround
> Specifying a service wait timeout solves the problem in the discovery-based 
> service deployment mode (but not in the default deployment mode):
> {code:java}
> 
> ignite.services().serviceProxy(IgniteTestService.class.getSimpleName(), 
> Test.class, false, 1_000)
> .sayHello("World");
> {code}
> This workaround cannot be used in Ignite.NET clients since .NET 
> {{GetServiceProxy}} API does not support the service wait timeout, which is 
> hard-coded to 0 on the server side.
> h2. Full Exception in Discovery-Based Service Deployment Mode
> {noformat}
> [01:08:54,653][SEVERE][services-deployment-worker-#52][IgniteServiceProcessor]
>  Failed to initialize service (service will not be deployed): 
> IgniteTestService
> class org.apache.ignite.IgniteInterruptedException: Got interrupted while 
> waiting for future to complete.
>   at 
> 

[jira] [Updated] (IGNITE-12467) Python Thin Client Support for Transactions

2020-05-04 Thread Sergey Stronchinskiy (Jira)


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

Sergey Stronchinskiy updated IGNITE-12467:
--
Component/s: python

> Python Thin Client Support for Transactions
> ---
>
> Key: IGNITE-12467
> URL: https://issues.apache.org/jira/browse/IGNITE-12467
> Project: Ignite
>  Issue Type: Bug
>  Components: python, thin client
>Affects Versions: 2.7.6
>Reporter: Robert Emanuele
>Priority: Major
>  Labels: iep-34
>
> I see that https://issues.apache.org/jira/browse/IGNITE-9410 is marked as 
> resolved but I have not seen the changes in the python thin client, pyignite. 
>  Am I looking in the wrong place  
> ([https://github.com/apache/ignite/tree/master/modules/platforms/python]), or 
> is there more work to do?
> If there is more work, are there changes that I can port?



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


[jira] [Updated] (IGNITE-12980) Use Apache Ignite logo with registered trade mark symbol in README.md

2020-05-04 Thread Ivan Pavlukhin (Jira)


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

Ivan Pavlukhin updated IGNITE-12980:

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

> Use Apache Ignite logo with registered trade mark symbol in README.md
> -
>
> Key: IGNITE-12980
> URL: https://issues.apache.org/jira/browse/IGNITE-12980
> Project: Ignite
>  Issue Type: Task
>Reporter: Ivan Pavlukhin
>Assignee: Ivan Pavlukhin
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Logo in the top of https://github.com/apache/ignite/blob/master/README.md 
> should have registered trademark symbol ® instead of unregistered one ™.



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


[jira] [Updated] (IGNITE-12982) NullPointerException on TcpCommunicationMetricsListener for some of the cases

2020-05-04 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov updated IGNITE-12982:
-
Ignite Flags:   (was: Docs Required,Release Notes Required)

> NullPointerException on TcpCommunicationMetricsListener for some of the cases
> -
>
> Key: IGNITE-12982
> URL: https://issues.apache.org/jira/browse/IGNITE-12982
> Project: Ignite
>  Issue Type: Bug
>Reporter: Maxim Muzafarov
>Priority: Major
>
> The code block below throws an {{NullPointerException}} for some of the 
> cases. Investigation required.
> {code}
> @Override public void onMessageSent(GridNioSession ses, Message 
> msg) {
> Object consistentId = ses.meta(CONSISTENT_ID_META);
> if (consistentId != null)
> metricsLsnr.onMessageSent(msg, consistentId);
> }
> {code}
> {code}
> [2020-05-04 
> 18:12:12,991][ERROR][grid-nio-worker-tcp-comm-0-#543%snapshot.IgniteClusterSnapshotSelfTest2%][TestRecordingCommunicationSpi]
>  Failed to process selector key [ses=GridSelectorNioSessionImpl 
> [worker=DirectNioClientWorker [super=AbstractNioClientWorker [idx=0, 
> bytesRcvd=42, bytesSent=18, bytesRcvd0=42, bytesSent0=18, select=true, 
> super=GridWorker [name=grid-nio-worker-tcp-comm-0, 
> igniteInstanceName=snapshot.IgniteClusterSnapshotSelfTest2, finished=false, 
> heartbeatTs=1588605131981, hashCode=1038334332, interrupted=false, 
> runner=grid-nio-worker-tcp-comm-0-#543%snapshot.IgniteClusterSnapshotSelfTest2%]]],
>  writeBuf=java.nio.DirectByteBuffer[pos=10 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=7f78d082-6ce9-42b1-ab08-da1fde40, 
> consistentId=snapshot.IgniteClusterSnapshotSelfTest0, addrs=ArrayList 
> [127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], discPort=47500, order=1, 
> intOrder=1, lastExchangeTime=1588605131971, loc=false, 
> ver=2.9.0#20200428-sha1:e551fa71, isClient=false], connected=true, 
> connectCnt=0, queueLimit=4096, reserveCnt=1, pairedConnections=false], 
> outRecovery=GridNioRecoveryDescriptor [acked=0, resendCnt=0, rcvCnt=0, 
> sentCnt=0, reserved=true, lastAck=0, nodeLeft=false, node=TcpDiscoveryNode 
> [id=7f78d082-6ce9-42b1-ab08-da1fde40, 
> consistentId=snapshot.IgniteClusterSnapshotSelfTest0, addrs=ArrayList 
> [127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], discPort=47500, order=1, 
> intOrder=1, lastExchangeTime=1588605131971, loc=false, 
> ver=2.9.0#20200428-sha1:e551fa71, isClient=false], connected=true, 
> connectCnt=0, queueLimit=4096, reserveCnt=1, pairedConnections=false], 
> closeSocket=true, 
> outboundMessagesQueueSizeMetric=o.a.i.i.processors.metric.impl.LongAdderMetric@69a257d1,
>  super=GridNioSessionImpl [locAddr=/127.0.0.1:47102, 
> rmtAddr=/127.0.0.1:50655, createTime=1588605131981, closeTime=0, 
> bytesSent=18, bytesRcvd=42, bytesSent0=18, bytesRcvd0=42, 
> sndSchedTime=1588605131981, lastSndTime=1588605131981, 
> lastRcvTime=1588605131981, readsPaused=false, 
> filterChain=FilterChain[filters=[GridNioCodecFilter 
> [parser=o.a.i.i.util.nio.GridDirectParser@fc19b0b, directMode=true], 
> GridConnectionBytesVerifyFilter], accepted=true, markedForClose=true]]]
> java.lang.NullPointerException
>   at 
> org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$1.onMessageSent(TcpCommunicationSpi.java:803)
>   at 
> org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$1.onMessageSent(TcpCommunicationSpi.java:472)
>   at 
> org.apache.ignite.internal.util.nio.GridNioServer.onMessageWritten(GridNioServer.java:1764)
>   at 
> org.apache.ignite.internal.util.nio.GridNioServer.access$1800(GridNioServer.java:99)
>   at 
> org.apache.ignite.internal.util.nio.GridNioServer$DirectNioClientWorker.processWrite0(GridNioServer.java:1665)
>   at 
> org.apache.ignite.internal.util.nio.GridNioServer$DirectNioClientWorker.processWrite(GridNioServer.java:1365)
>   at 
> org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.processSelectedKeysOptimized(GridNioServer.java:2437)
>   at 
> org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.bodyInternal(GridNioServer.java:2201)
>   at 
> org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.body(GridNioServer.java:1842)
>   at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
>   at java.lang.Thread.run(Thread.java:748)
> [2020-05-04 
> 18:12:12,993][ERROR][grid-nio-worker-tcp-comm-0-#543%snapshot.IgniteClusterSnapshotSelfTest2%][TestRecordingCommunicationSpi]
>  Closing NIO session 

[jira] [Updated] (IGNITE-12982) NullPointerException on TcpCommunicationMetricsListener for some of the cases

2020-05-04 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov updated IGNITE-12982:
-
Fix Version/s: 2.9

> NullPointerException on TcpCommunicationMetricsListener for some of the cases
> -
>
> Key: IGNITE-12982
> URL: https://issues.apache.org/jira/browse/IGNITE-12982
> Project: Ignite
>  Issue Type: Bug
>Reporter: Maxim Muzafarov
>Priority: Major
> Fix For: 2.9
>
>
> The code block below throws an {{NullPointerException}} for some of the 
> cases. Investigation required.
> {code}
> @Override public void onMessageSent(GridNioSession ses, Message 
> msg) {
> Object consistentId = ses.meta(CONSISTENT_ID_META);
> if (consistentId != null)
> metricsLsnr.onMessageSent(msg, consistentId);
> }
> {code}
> {code}
> [2020-05-04 
> 18:12:12,991][ERROR][grid-nio-worker-tcp-comm-0-#543%snapshot.IgniteClusterSnapshotSelfTest2%][TestRecordingCommunicationSpi]
>  Failed to process selector key [ses=GridSelectorNioSessionImpl 
> [worker=DirectNioClientWorker [super=AbstractNioClientWorker [idx=0, 
> bytesRcvd=42, bytesSent=18, bytesRcvd0=42, bytesSent0=18, select=true, 
> super=GridWorker [name=grid-nio-worker-tcp-comm-0, 
> igniteInstanceName=snapshot.IgniteClusterSnapshotSelfTest2, finished=false, 
> heartbeatTs=1588605131981, hashCode=1038334332, interrupted=false, 
> runner=grid-nio-worker-tcp-comm-0-#543%snapshot.IgniteClusterSnapshotSelfTest2%]]],
>  writeBuf=java.nio.DirectByteBuffer[pos=10 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=7f78d082-6ce9-42b1-ab08-da1fde40, 
> consistentId=snapshot.IgniteClusterSnapshotSelfTest0, addrs=ArrayList 
> [127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], discPort=47500, order=1, 
> intOrder=1, lastExchangeTime=1588605131971, loc=false, 
> ver=2.9.0#20200428-sha1:e551fa71, isClient=false], connected=true, 
> connectCnt=0, queueLimit=4096, reserveCnt=1, pairedConnections=false], 
> outRecovery=GridNioRecoveryDescriptor [acked=0, resendCnt=0, rcvCnt=0, 
> sentCnt=0, reserved=true, lastAck=0, nodeLeft=false, node=TcpDiscoveryNode 
> [id=7f78d082-6ce9-42b1-ab08-da1fde40, 
> consistentId=snapshot.IgniteClusterSnapshotSelfTest0, addrs=ArrayList 
> [127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], discPort=47500, order=1, 
> intOrder=1, lastExchangeTime=1588605131971, loc=false, 
> ver=2.9.0#20200428-sha1:e551fa71, isClient=false], connected=true, 
> connectCnt=0, queueLimit=4096, reserveCnt=1, pairedConnections=false], 
> closeSocket=true, 
> outboundMessagesQueueSizeMetric=o.a.i.i.processors.metric.impl.LongAdderMetric@69a257d1,
>  super=GridNioSessionImpl [locAddr=/127.0.0.1:47102, 
> rmtAddr=/127.0.0.1:50655, createTime=1588605131981, closeTime=0, 
> bytesSent=18, bytesRcvd=42, bytesSent0=18, bytesRcvd0=42, 
> sndSchedTime=1588605131981, lastSndTime=1588605131981, 
> lastRcvTime=1588605131981, readsPaused=false, 
> filterChain=FilterChain[filters=[GridNioCodecFilter 
> [parser=o.a.i.i.util.nio.GridDirectParser@fc19b0b, directMode=true], 
> GridConnectionBytesVerifyFilter], accepted=true, markedForClose=true]]]
> java.lang.NullPointerException
>   at 
> org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$1.onMessageSent(TcpCommunicationSpi.java:803)
>   at 
> org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$1.onMessageSent(TcpCommunicationSpi.java:472)
>   at 
> org.apache.ignite.internal.util.nio.GridNioServer.onMessageWritten(GridNioServer.java:1764)
>   at 
> org.apache.ignite.internal.util.nio.GridNioServer.access$1800(GridNioServer.java:99)
>   at 
> org.apache.ignite.internal.util.nio.GridNioServer$DirectNioClientWorker.processWrite0(GridNioServer.java:1665)
>   at 
> org.apache.ignite.internal.util.nio.GridNioServer$DirectNioClientWorker.processWrite(GridNioServer.java:1365)
>   at 
> org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.processSelectedKeysOptimized(GridNioServer.java:2437)
>   at 
> org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.bodyInternal(GridNioServer.java:2201)
>   at 
> org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.body(GridNioServer.java:1842)
>   at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
>   at java.lang.Thread.run(Thread.java:748)
> [2020-05-04 
> 18:12:12,993][ERROR][grid-nio-worker-tcp-comm-0-#543%snapshot.IgniteClusterSnapshotSelfTest2%][TestRecordingCommunicationSpi]
>  Closing NIO session because of 

[jira] [Created] (IGNITE-12982) NullPointerException on TcpCommunicationMetricsListener for some of the cases

2020-05-04 Thread Maxim Muzafarov (Jira)
Maxim Muzafarov created IGNITE-12982:


 Summary: NullPointerException on TcpCommunicationMetricsListener 
for some of the cases
 Key: IGNITE-12982
 URL: https://issues.apache.org/jira/browse/IGNITE-12982
 Project: Ignite
  Issue Type: Bug
Reporter: Maxim Muzafarov


The code block below throws an {{NullPointerException}} for some of the cases. 
Investigation required.

{code}
@Override public void onMessageSent(GridNioSession ses, Message 
msg) {
Object consistentId = ses.meta(CONSISTENT_ID_META);

if (consistentId != null)
metricsLsnr.onMessageSent(msg, consistentId);
}
{code}

{code}
[2020-05-04 
18:12:12,991][ERROR][grid-nio-worker-tcp-comm-0-#543%snapshot.IgniteClusterSnapshotSelfTest2%][TestRecordingCommunicationSpi]
 Failed to process selector key [ses=GridSelectorNioSessionImpl 
[worker=DirectNioClientWorker [super=AbstractNioClientWorker [idx=0, 
bytesRcvd=42, bytesSent=18, bytesRcvd0=42, bytesSent0=18, select=true, 
super=GridWorker [name=grid-nio-worker-tcp-comm-0, 
igniteInstanceName=snapshot.IgniteClusterSnapshotSelfTest2, finished=false, 
heartbeatTs=1588605131981, hashCode=1038334332, interrupted=false, 
runner=grid-nio-worker-tcp-comm-0-#543%snapshot.IgniteClusterSnapshotSelfTest2%]]],
 writeBuf=java.nio.DirectByteBuffer[pos=10 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=7f78d082-6ce9-42b1-ab08-da1fde40, 
consistentId=snapshot.IgniteClusterSnapshotSelfTest0, addrs=ArrayList 
[127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], discPort=47500, order=1, 
intOrder=1, lastExchangeTime=1588605131971, loc=false, 
ver=2.9.0#20200428-sha1:e551fa71, isClient=false], connected=true, 
connectCnt=0, queueLimit=4096, reserveCnt=1, pairedConnections=false], 
outRecovery=GridNioRecoveryDescriptor [acked=0, resendCnt=0, rcvCnt=0, 
sentCnt=0, reserved=true, lastAck=0, nodeLeft=false, node=TcpDiscoveryNode 
[id=7f78d082-6ce9-42b1-ab08-da1fde40, 
consistentId=snapshot.IgniteClusterSnapshotSelfTest0, addrs=ArrayList 
[127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], discPort=47500, order=1, 
intOrder=1, lastExchangeTime=1588605131971, loc=false, 
ver=2.9.0#20200428-sha1:e551fa71, isClient=false], connected=true, 
connectCnt=0, queueLimit=4096, reserveCnt=1, pairedConnections=false], 
closeSocket=true, 
outboundMessagesQueueSizeMetric=o.a.i.i.processors.metric.impl.LongAdderMetric@69a257d1,
 super=GridNioSessionImpl [locAddr=/127.0.0.1:47102, rmtAddr=/127.0.0.1:50655, 
createTime=1588605131981, closeTime=0, bytesSent=18, bytesRcvd=42, 
bytesSent0=18, bytesRcvd0=42, sndSchedTime=1588605131981, 
lastSndTime=1588605131981, lastRcvTime=1588605131981, readsPaused=false, 
filterChain=FilterChain[filters=[GridNioCodecFilter 
[parser=o.a.i.i.util.nio.GridDirectParser@fc19b0b, directMode=true], 
GridConnectionBytesVerifyFilter], accepted=true, markedForClose=true]]]
java.lang.NullPointerException
at 
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$1.onMessageSent(TcpCommunicationSpi.java:803)
at 
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$1.onMessageSent(TcpCommunicationSpi.java:472)
at 
org.apache.ignite.internal.util.nio.GridNioServer.onMessageWritten(GridNioServer.java:1764)
at 
org.apache.ignite.internal.util.nio.GridNioServer.access$1800(GridNioServer.java:99)
at 
org.apache.ignite.internal.util.nio.GridNioServer$DirectNioClientWorker.processWrite0(GridNioServer.java:1665)
at 
org.apache.ignite.internal.util.nio.GridNioServer$DirectNioClientWorker.processWrite(GridNioServer.java:1365)
at 
org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.processSelectedKeysOptimized(GridNioServer.java:2437)
at 
org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.bodyInternal(GridNioServer.java:2201)
at 
org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.body(GridNioServer.java:1842)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
at java.lang.Thread.run(Thread.java:748)
[2020-05-04 
18:12:12,993][ERROR][grid-nio-worker-tcp-comm-0-#543%snapshot.IgniteClusterSnapshotSelfTest2%][TestRecordingCommunicationSpi]
 Closing NIO session because of unhandled exception.
class org.apache.ignite.internal.util.nio.GridNioException: null
at 
org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.processSelectedKeysOptimized(GridNioServer.java:2460)
at 
org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.bodyInternal(GridNioServer.java:2201)
at 

[jira] [Created] (IGNITE-12981) Snapshot operation fails on exchange if coordinator left the cluster

2020-05-04 Thread Maxim Muzafarov (Jira)
Maxim Muzafarov created IGNITE-12981:


 Summary: Snapshot operation fails on exchange if coordinator left 
the cluster
 Key: IGNITE-12981
 URL: https://issues.apache.org/jira/browse/IGNITE-12981
 Project: Ignite
  Issue Type: Bug
Reporter: Maxim Muzafarov
Assignee: Maxim Muzafarov
 Fix For: 2.9


Possible steps:
1. Start snapshot operation with {{SnapshotDicoveryMessage}} with triggering 
pme-free.
2. Stop the coordinator node.
3. Fails on assertion (SingleMessage should not be sent).

{code}
[2020-05-03 
15:05:35,548][ERROR][sys-#94%snapshot.IgniteClusterSnapshotSelfTest1%][IgniteTestResources]
 Critical system error detected. Will be handled accordingly to configured 
handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler 
[ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, 
SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext 
[type=CRITICAL_ERROR, err=java.lang.AssertionError: 
GridDhtPartitionsExchangeFuture [firstDiscoEvt=DiscoveryCustomEvent 
[customMsg=null, affTopVer=AffinityTopologyVersion [topVer=3, minorTopVer=1], 
super=DiscoveryEvent [evtNode=TcpDiscoveryNode 
[id=ed2e276b-79a3-4de3-925a-68d60200, 
consistentId=snapshot.IgniteClusterSnapshotSelfTest0, addrs=ArrayList 
[127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], discPort=47500, order=1, 
intOrder=1, lastExchangeTime=1588507532715, loc=false, 
ver=2.9.0#20200503-sha1:, isClient=false], topVer=3, nodeId8=f6fa6fad, 
msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1588507535430]], 
crd=TcpDiscoveryNode [id=ed2e276b-79a3-4de3-925a-68d60200, 
consistentId=snapshot.IgniteClusterSnapshotSelfTest0, addrs=ArrayList 
[127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], discPort=47500, order=1, 
intOrder=1, lastExchangeTime=1588507532715, loc=false, 
ver=2.9.0#20200503-sha1:, isClient=false], 
exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=3, 
minorTopVer=1], discoEvt=DiscoveryCustomEvent [customMsg=null, 
affTopVer=AffinityTopologyVersion [topVer=3, minorTopVer=1], 
super=DiscoveryEvent [evtNode=TcpDiscoveryNode 
[id=ed2e276b-79a3-4de3-925a-68d60200, 
consistentId=snapshot.IgniteClusterSnapshotSelfTest0, addrs=ArrayList 
[127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], discPort=47500, order=1, 
intOrder=1, lastExchangeTime=1588507532715, loc=false, 
ver=2.9.0#20200503-sha1:, isClient=false], topVer=3, nodeId8=f6fa6fad, 
msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1588507535430]], nodeId=ed2e276b, 
evt=DISCOVERY_CUSTOM_EVT], added=true, exchangeType=ALL, 
initFut=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=true, 
hash=1771643357], init=false, lastVer=null, 
partReleaseFut=PartitionReleaseFuture [topVer=AffinityTopologyVersion 
[topVer=3, minorTopVer=1], futures=[ExplicitLockReleaseFuture 
[topVer=AffinityTopologyVersion [topVer=3, minorTopVer=1], futures=[]], 
AtomicUpdateReleaseFuture [topVer=AffinityTopologyVersion [topVer=3, 
minorTopVer=1], futures=[]], DataStreamerReleaseFuture 
[topVer=AffinityTopologyVersion [topVer=3, minorTopVer=1], futures=[]], 
LocalTxReleaseFuture [topVer=AffinityTopologyVersion [topVer=3, minorTopVer=1], 
futures=[]], AllTxReleaseFuture [topVer=AffinityTopologyVersion [topVer=3, 
minorTopVer=1], futures=[RemoteTxReleaseFuture [topVer=AffinityTopologyVersion 
[topVer=3, minorTopVer=1], futures=[]], exchActions=null, 
affChangeMsg=null, centralizedAff=false, forceAffReassignment=false, 
exchangeLocE=null, cacheChangeFailureMsgSent=false, done=true, state=SRV, 
registerCachesFuture=null, partitionsSent=false, partitionsReceived=false, 
delayedLatestMsg=null, afterLsnrCompleteFut=GridFutureAdapter 
[ignoreInterrupts=false, state=DONE, res=null, hash=197787912], 
timeBag=o.a.i.i.util.TimeBag@1d97d94c, startTime=1365700834756, 
initTime=1588507535439, rebalanced=false, evtLatch=0, remaining=HashSet 
[ed2e276b-79a3-4de3-925a-68d60200], mergedJoinExchMsgs=null, 
awaitMergedMsgs=0, super=GridFutureAdapter [ignoreInterrupts=false, state=DONE, 
res=AffinityTopologyVersion [topVer=3, minorTopVer=1], hash=530592354
java.lang.AssertionError: GridDhtPartitionsExchangeFuture 
[firstDiscoEvt=DiscoveryCustomEvent [customMsg=null, 
affTopVer=AffinityTopologyVersion [topVer=3, minorTopVer=1], 
super=DiscoveryEvent [evtNode=TcpDiscoveryNode 
[id=ed2e276b-79a3-4de3-925a-68d60200, 
consistentId=snapshot.IgniteClusterSnapshotSelfTest0, addrs=ArrayList 
[127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], discPort=47500, order=1, 
intOrder=1, lastExchangeTime=1588507532715, loc=false, 
ver=2.9.0#20200503-sha1:, isClient=false], topVer=3, nodeId8=f6fa6fad, 
msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1588507535430]], 
crd=TcpDiscoveryNode [id=ed2e276b-79a3-4de3-925a-68d60200, 
consistentId=snapshot.IgniteClusterSnapshotSelfTest0, addrs=ArrayList 
[127.0.0.1], sockAddrs=HashSet 

[jira] [Updated] (IGNITE-12981) Snapshot operation fails on exchange if coordinator left the cluster

2020-05-04 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov updated IGNITE-12981:
-
Ignite Flags:   (was: Docs Required,Release Notes Required)

> Snapshot operation fails on exchange if coordinator left the cluster
> 
>
> Key: IGNITE-12981
> URL: https://issues.apache.org/jira/browse/IGNITE-12981
> Project: Ignite
>  Issue Type: Bug
>Reporter: Maxim Muzafarov
>Assignee: Maxim Muzafarov
>Priority: Major
>  Labels: iep-43
> Fix For: 2.9
>
>
> Possible steps:
> 1. Start snapshot operation with {{SnapshotDicoveryMessage}} with triggering 
> pme-free.
> 2. Stop the coordinator node.
> 3. Fails on assertion (SingleMessage should not be sent).
> {code}
> [2020-05-03 
> 15:05:35,548][ERROR][sys-#94%snapshot.IgniteClusterSnapshotSelfTest1%][IgniteTestResources]
>  Critical system error detected. Will be handled accordingly to configured 
> handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler 
> [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, 
> SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext 
> [type=CRITICAL_ERROR, err=java.lang.AssertionError: 
> GridDhtPartitionsExchangeFuture [firstDiscoEvt=DiscoveryCustomEvent 
> [customMsg=null, affTopVer=AffinityTopologyVersion [topVer=3, minorTopVer=1], 
> super=DiscoveryEvent [evtNode=TcpDiscoveryNode 
> [id=ed2e276b-79a3-4de3-925a-68d60200, 
> consistentId=snapshot.IgniteClusterSnapshotSelfTest0, addrs=ArrayList 
> [127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], discPort=47500, order=1, 
> intOrder=1, lastExchangeTime=1588507532715, loc=false, 
> ver=2.9.0#20200503-sha1:, isClient=false], topVer=3, 
> nodeId8=f6fa6fad, msg=null, type=DISCOVERY_CUSTOM_EVT, 
> tstamp=1588507535430]], crd=TcpDiscoveryNode 
> [id=ed2e276b-79a3-4de3-925a-68d60200, 
> consistentId=snapshot.IgniteClusterSnapshotSelfTest0, addrs=ArrayList 
> [127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], discPort=47500, order=1, 
> intOrder=1, lastExchangeTime=1588507532715, loc=false, 
> ver=2.9.0#20200503-sha1:, isClient=false], 
> exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=3, 
> minorTopVer=1], discoEvt=DiscoveryCustomEvent [customMsg=null, 
> affTopVer=AffinityTopologyVersion [topVer=3, minorTopVer=1], 
> super=DiscoveryEvent [evtNode=TcpDiscoveryNode 
> [id=ed2e276b-79a3-4de3-925a-68d60200, 
> consistentId=snapshot.IgniteClusterSnapshotSelfTest0, addrs=ArrayList 
> [127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], discPort=47500, order=1, 
> intOrder=1, lastExchangeTime=1588507532715, loc=false, 
> ver=2.9.0#20200503-sha1:, isClient=false], topVer=3, 
> nodeId8=f6fa6fad, msg=null, type=DISCOVERY_CUSTOM_EVT, 
> tstamp=1588507535430]], nodeId=ed2e276b, evt=DISCOVERY_CUSTOM_EVT], 
> added=true, exchangeType=ALL, initFut=GridFutureAdapter 
> [ignoreInterrupts=false, state=DONE, res=true, hash=1771643357], init=false, 
> lastVer=null, partReleaseFut=PartitionReleaseFuture 
> [topVer=AffinityTopologyVersion [topVer=3, minorTopVer=1], 
> futures=[ExplicitLockReleaseFuture [topVer=AffinityTopologyVersion [topVer=3, 
> minorTopVer=1], futures=[]], AtomicUpdateReleaseFuture 
> [topVer=AffinityTopologyVersion [topVer=3, minorTopVer=1], futures=[]], 
> DataStreamerReleaseFuture [topVer=AffinityTopologyVersion [topVer=3, 
> minorTopVer=1], futures=[]], LocalTxReleaseFuture 
> [topVer=AffinityTopologyVersion [topVer=3, minorTopVer=1], futures=[]], 
> AllTxReleaseFuture [topVer=AffinityTopologyVersion [topVer=3, minorTopVer=1], 
> futures=[RemoteTxReleaseFuture [topVer=AffinityTopologyVersion [topVer=3, 
> minorTopVer=1], futures=[]], exchActions=null, affChangeMsg=null, 
> centralizedAff=false, forceAffReassignment=false, exchangeLocE=null, 
> cacheChangeFailureMsgSent=false, done=true, state=SRV, 
> registerCachesFuture=null, partitionsSent=false, partitionsReceived=false, 
> delayedLatestMsg=null, afterLsnrCompleteFut=GridFutureAdapter 
> [ignoreInterrupts=false, state=DONE, res=null, hash=197787912], 
> timeBag=o.a.i.i.util.TimeBag@1d97d94c, startTime=1365700834756, 
> initTime=1588507535439, rebalanced=false, evtLatch=0, remaining=HashSet 
> [ed2e276b-79a3-4de3-925a-68d60200], mergedJoinExchMsgs=null, 
> awaitMergedMsgs=0, super=GridFutureAdapter [ignoreInterrupts=false, 
> state=DONE, res=AffinityTopologyVersion [topVer=3, minorTopVer=1], 
> hash=530592354
> java.lang.AssertionError: GridDhtPartitionsExchangeFuture 
> [firstDiscoEvt=DiscoveryCustomEvent [customMsg=null, 
> affTopVer=AffinityTopologyVersion [topVer=3, minorTopVer=1], 
> super=DiscoveryEvent [evtNode=TcpDiscoveryNode 
> [id=ed2e276b-79a3-4de3-925a-68d60200, 
> consistentId=snapshot.IgniteClusterSnapshotSelfTest0, 

[jira] [Commented] (IGNITE-12080) Add extended logging for rebalance

2020-05-04 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov commented on IGNITE-12080:
--

Folks, please, give me a couple of days to check the changes. 
I'll back to you soon.

> Add extended logging for rebalance
> --
>
> Key: IGNITE-12080
> URL: https://issues.apache.org/jira/browse/IGNITE-12080
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Tkalenko
>Assignee: Kirill Tkalenko
>Priority: Major
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> We should log information about finished rebalance on demander node.
>  I'd have in log:
> h3. Total information:
>  # Rebalance duration, rebalance start time/rebalance finish time
>  # How many nodes were suppliers in rebalance (nodeId, number of supplied 
> paritions, number of supplied entries, number of bytes, duraton of getting 
> and processing partitions from supplier)
> h3. Information per cache group:
>  # Rebalance duration, rebalance start time/rebalance finish time
>  # How many nodes were suppliers in rebalance (nodeId, number of supplied 
> paritions, list of partition ids with PRIMARY/BACKUP flag, number of supplied 
> entries, number of bytes, duraton of getting and processing partitions from 
> supplier)
>  # Information about each partition distribution (list of nodeIds with 
> primary/backup flag and marked supplier nodeId)
> h3. Information per supplier node:
>  # How many paritions were requested:
>  ** Total number
>  ** Primary/backup distribution (number of primary partitions, number of 
> backup partitions)
>  ** Total number of entries
>  ** Total size partitions in bytes
>  # How many paritions were requested per cache group:
>  ** Number of requested partitions
>  ** Number of entries in partitions
>  ** Total size of partitions in bytes
>  ** List of requested partitions with size in bytes, count entries, primary 
> or backup partition flag



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


[jira] [Commented] (IGNITE-12765) Slim binary release and docker image for Apache Ignite

2020-05-04 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov commented on IGNITE-12765:
--

[~ilyak]

AFAIK, currently, we are using the following command to prepare the Apache 
Ignite release package:

{code}
-Prelease,all-scala -Dignite.edition=apache-ignite
{code}

If we will wish to assembly `full` and `slim` package per single command (e.g. 
full release prepare) it's impossible to achieve with this command. Right? 
Should we consider having {{-Dignite.editions}} environment variable for this 
case or we should build assemblies one by one?

> Slim binary release and docker image for Apache Ignite
> --
>
> Key: IGNITE-12765
> URL: https://issues.apache.org/jira/browse/IGNITE-12765
> Project: Ignite
>  Issue Type: Task
>Reporter: Maxim Muzafarov
>Assignee: Ilya Kasnacheev
>Priority: Blocker
> Fix For: 2.9
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> 1. Prepare Apache Ignite "slim" distribution (example: 
> https://github.com/apache/ignite/tree/ignite-slim)
> 2. Update configuration and check Apache Ignite RELEASE TeamCity Suite 
> according to a new additional package distribution.
> See - discussion on dev-list
> http://apache-ignite-developers.2346864.n4.nabble.com/Slim-binary-release-and-docker-image-for-Apache-Ignite-td45110.html
> {code}
> libs:
> core/shmem/jcache
> ignite-indexing
> ignite-spring
> libs/optional:
> ignite-compress  
> ignite-rest-http
> ignite-spring-data_2.2
> ignite-log4j2  
> ignite-log4j   
> ignite-slf4j
> ignite-opencensus  
> ignite-kubernetes
> ignite-urideploy
> ignite-jta
> {code}



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


[jira] [Comment Edited] (IGNITE-12894) Cannot use IgniteAtomicSequence in Ignite services

2020-05-04 Thread Mikhail Petrov (Jira)


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

Mikhail Petrov edited comment on IGNITE-12894 at 5/4/20, 12:16 PM:
---

Hi,  [~daradurvs]. Thank you for clarification.

After some researches, I found that 
[GridServiceProxy#invokeMethod|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProxy.java#L149]
 already has mechanism for service obtaining with retries.
 But it doesn't work correctly for the case if topology is missed for requested 
service.

[GridServiceProxy#invokeMethod|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProxy.java#L169]
 throws an exception that is not ignored in case no node for the service was 
found. So no repeated attempts will be made.

The following plan of solving this issue is proposed.

Change 
[IgniteServiceProcessor#serviceTopology|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/IgniteServiceProcessor.java#L807]
 behavior to wait service topology until its initialization if  
ServiceProcessorAdapter#serviceDescriptors contains the requested service and 
timeout argument equals to 0.

 

WDYT?


was (Author: petrovmikhail):
Hi,  [~daradurvs]. Thank you for clarification.

After some researches, I found that 
[GridServiceProxy#invokeMethod|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProxy.java#L149]
 already has mechanism for service obtaining with retries.
 But it doesn't work correctly for the case if topology is missed for requested 
service.

[GridServiceProxy#invokeMethod|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProxy.java#L169]
 throws an exception that is not ignored in case no node for the service was 
found. So no repeated attempts will be made.

The following plan of solving this issue is proposed.

Change 
[IgniteServiceProcessor#serviceTopology|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/IgniteServiceProcessor.java#L807]
 behavior to wait service topology regardless of the specified timeout if 
ServiceProcessorAdapter#serviceDescriptors contains the requested service, but 
its topology has not been initialized yet.

 

WDYT?

> Cannot use IgniteAtomicSequence in Ignite services
> --
>
> Key: IGNITE-12894
> URL: https://issues.apache.org/jira/browse/IGNITE-12894
> Project: Ignite
>  Issue Type: Bug
>  Components: compute
>Affects Versions: 2.8
>Reporter: Alexey Kukushkin
>Assignee: Mikhail Petrov
>Priority: Major
>  Labels: sbcf
>
> h2. Repro Steps
> Execute the below steps in default service deployment mode and in 
> discovery-based service deployment mode. 
>  Use {{-DIGNITE_EVENT_DRIVEN_SERVICE_PROCESSOR_ENABLED=true}} JVM option to 
> switch to the discovery-based service deployment mode.
>  * Create a service initializing an {{IgniteAtomicService}} in method 
> {{Service#init()}} and using the {{IgniteAtomicService}} in a business method.
>  * Start an Ignite node with the service specified in the IgniteConfiguration
>  * Invoke the service's business method on the Ignite node
> h3. Actual Result
> h4. In Default Service Deployment Mode
> Deadlock on the business method invocation
> h4. In Discovery-Based Service Deployment Mode
> The method invocation fails with {{IgniteException: Failed to find deployed 
> service: IgniteTestService}}
> h2. Reproducer
> h3. Test.java
> {code:java}
> public interface Test {
> String sayHello(String name);
> }
> {code}
> h3. IgniteTestService.java
> {code:java}
> public class IgniteTestService implements Test, Service {
> private @IgniteInstanceResource Ignite ignite;
> private IgniteAtomicSequence seq;
> @Override public void cancel(ServiceContext ctx) {
> }
> @Override public void init(ServiceContext ctx) throws 
> InterruptedException {
> seq = ignite.atomicSequence("TestSeq", 0, true);
> }
> @Override public void execute(ServiceContext ctx) {
> }
> @Override public String sayHello(String name) {
> return "Hello, " + name + "! #" + seq.getAndIncrement();
> }
> }
> {code}
> h3. Reproducer.java
> {code:java}
> public class Reproducer {
> public static void 

[jira] [Commented] (IGNITE-12080) Add extended logging for rebalance

2020-05-04 Thread Ilya Kasnacheev (Jira)


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

Ilya Kasnacheev commented on IGNITE-12080:
--

[~mmuzaf] can you please check whether your questions were taken care of?

> Add extended logging for rebalance
> --
>
> Key: IGNITE-12080
> URL: https://issues.apache.org/jira/browse/IGNITE-12080
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Tkalenko
>Assignee: Kirill Tkalenko
>Priority: Major
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> We should log information about finished rebalance on demander node.
>  I'd have in log:
> h3. Total information:
>  # Rebalance duration, rebalance start time/rebalance finish time
>  # How many nodes were suppliers in rebalance (nodeId, number of supplied 
> paritions, number of supplied entries, number of bytes, duraton of getting 
> and processing partitions from supplier)
> h3. Information per cache group:
>  # Rebalance duration, rebalance start time/rebalance finish time
>  # How many nodes were suppliers in rebalance (nodeId, number of supplied 
> paritions, list of partition ids with PRIMARY/BACKUP flag, number of supplied 
> entries, number of bytes, duraton of getting and processing partitions from 
> supplier)
>  # Information about each partition distribution (list of nodeIds with 
> primary/backup flag and marked supplier nodeId)
> h3. Information per supplier node:
>  # How many paritions were requested:
>  ** Total number
>  ** Primary/backup distribution (number of primary partitions, number of 
> backup partitions)
>  ** Total number of entries
>  ** Total size partitions in bytes
>  # How many paritions were requested per cache group:
>  ** Number of requested partitions
>  ** Number of entries in partitions
>  ** Total size of partitions in bytes
>  ** List of requested partitions with size in bytes, count entries, primary 
> or backup partition flag



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


[jira] [Comment Edited] (IGNITE-12894) Cannot use IgniteAtomicSequence in Ignite services

2020-05-04 Thread Mikhail Petrov (Jira)


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

Mikhail Petrov edited comment on IGNITE-12894 at 5/4/20, 9:28 AM:
--

Hi,  [~daradurvs]. Thank you for clarification.

After some researches, I found that 
[GridServiceProxy#invokeMethod|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProxy.java#L149]
 already has mechanism for service obtaining with retries.
 But it doesn't work correctly for the case if topology is missed for requested 
service.

[GridServiceProxy#invokeMethod|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProxy.java#L169]
 throws an exception that is not ignored in case no node for the service was 
found. So no repeated attempts will be made.

The following plan of solving this issue is proposed.

Change 
[IgniteServiceProcessor#serviceTopology|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/IgniteServiceProcessor.java#L807]
 behavior to wait service topology regardless of the specified timeout if 
ServiceProcessorAdapter#serviceDescriptors contains the requested service, but 
its topology has not been initialized yet.

 

WDYT?


was (Author: petrovmikhail):
Hi,  [~daradurvs]. Thank you for clarification.

After some researches, I found that 
[GridServiceProxy#invokeMethod|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProxy.java#L149]
 already has mechanism for service obtaining with retries.
 But it doesn't work correctly for the case if topology is missed for requested 
service.

[GridServiceProxy#invokeMethod|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProxy.java#L169]
 throws an exception that is not ignored in case no node for the service was 
found. So no repeated attempts will be made.

The following plan of solving this issue is proposed.

Change the behavior of GridServiceProxy#invokeMethod as follows:

Fails with exception if ServiceProcessorAdapter#serviceDescriptors doesn't 
contain requested service.

If ServiceProcessorAdapter#serviceProxy without specified timeout argument is 
used for proxy obtaining, wait until requested service topology will be set  
via 
[IgniteServiceProcessor#serviceTopology|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/IgniteServiceProcessor.java#L807].To
 do it, change 
[IgniteServiceProcessor#serviceTopology|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/IgniteServiceProcessor.java#L807]
 behavior to wait until requested service topology will be set  if timeout 
equals to 0. Now if timeout equals to 0 it returns immediately.

If ServiceProcessorAdapter#serviceProxy with specified timeout argument is used 
for proxy obtaining then awaiting time for service topology obtaining will be 
limited in the same way as in the current implementation.

 

WDYT?

> Cannot use IgniteAtomicSequence in Ignite services
> --
>
> Key: IGNITE-12894
> URL: https://issues.apache.org/jira/browse/IGNITE-12894
> Project: Ignite
>  Issue Type: Bug
>  Components: compute
>Affects Versions: 2.8
>Reporter: Alexey Kukushkin
>Assignee: Mikhail Petrov
>Priority: Major
>  Labels: sbcf
>
> h2. Repro Steps
> Execute the below steps in default service deployment mode and in 
> discovery-based service deployment mode. 
>  Use {{-DIGNITE_EVENT_DRIVEN_SERVICE_PROCESSOR_ENABLED=true}} JVM option to 
> switch to the discovery-based service deployment mode.
>  * Create a service initializing an {{IgniteAtomicService}} in method 
> {{Service#init()}} and using the {{IgniteAtomicService}} in a business method.
>  * Start an Ignite node with the service specified in the IgniteConfiguration
>  * Invoke the service's business method on the Ignite node
> h3. Actual Result
> h4. In Default Service Deployment Mode
> Deadlock on the business method invocation
> h4. In Discovery-Based Service Deployment Mode
> The method invocation fails with {{IgniteException: Failed to find deployed 
> service: IgniteTestService}}
> h2. Reproducer
> h3. Test.java
> {code:java}
> public interface Test {
> String 

[jira] [Comment Edited] (IGNITE-12894) Cannot use IgniteAtomicSequence in Ignite services

2020-05-04 Thread Mikhail Petrov (Jira)


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

Mikhail Petrov edited comment on IGNITE-12894 at 5/4/20, 8:23 AM:
--

Hi,  [~daradurvs]. Thank you for clarification.

After some researches, I found that 
[GridServiceProxy#invokeMethod|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProxy.java#L149]
 already has mechanism for service obtaining with retries.
 But it doesn't work correctly for the case if topology is missed for requested 
service.

[GridServiceProxy#invokeMethod|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProxy.java#L169]
 throws an exception that is not ignored in case no node for the service was 
found. So no repeated attempts will be made.

The following plan of solving this issue is proposed.

Change the behavior of GridServiceProxy#invokeMethod as follows:

Fails with exception if ServiceProcessorAdapter#serviceDescriptors doesn't 
contain requested service.

If ServiceProcessorAdapter#serviceProxy without specified timeout argument is 
used for proxy obtaining, wait until requested service topology will be set  
via 
[IgniteServiceProcessor#serviceTopology|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/IgniteServiceProcessor.java#L807].To
 do it, change 
[IgniteServiceProcessor#serviceTopology|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/IgniteServiceProcessor.java#L807]
 behavior to wait until requested service topology will be set  if timeout 
equals to 0. Now if timeout equals to 0 it returns immediately.

If ServiceProcessorAdapter#serviceProxy with specified timeout argument is used 
for proxy obtaining then awaiting time for service topology obtaining will be 
limited in the same way as in the current implementation.

 

WDYT?


was (Author: petrovmikhail):
Hi,  [~daradurvs]. Thank you for clarification.

After some researches, I found that 
[GridServiceProxy#invokeMethod|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProxy.java#L149]
 already has mechanism for service obtaining with retries.
 But it doesn't work correctly for the case if topology is missed for requested 
service.

[GridServiceProxy#invokeMethod|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProxy.java#L169]
 throws an exception that is not ignored in case no node for the service was 
found. So no repeated attempts will be made.

The following plan of solving this issue is proposed.

Change the behavior of GridServiceProxy#invokeMethod as follows:

Fails with exception if ServiceProcessorAdapter#serviceDescriptors doesn't 
contain requested service.

If ServiceProcessorAdapter#serviceProxy without specified timeout argument is 
used for proxy obtaining, wait until requested service topology will be set  
via 
[IgniteServiceProcessor#serviceTopology|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/IgniteServiceProcessor.java#L807].To
 do it, change 
[IgniteServiceProcessor#serviceTopology|https://github.com/apache/ignite/blob/8cba313c9961b16e358834216e9992310f285985/modules/core/src/main/java/org/apache/ignite/internal/processors/service/IgniteServiceProcessor.java#L807]
 behavior to wait until requested service topology will be set  if timeout 
equals to 0. Now if timeout equals to 0 it returns immediately. Also we should 
interrupt service topology awaiting in case service initializing fails and full 
message with that information was received. For now we have no such mechanism.  

If ServiceProcessorAdapter#serviceProxy with specified timeout argument is used 
for proxy obtaining then awaiting time for service topology obtaining will be 
limited in the same way as in the current implementation.

 

WDYT?

> Cannot use IgniteAtomicSequence in Ignite services
> --
>
> Key: IGNITE-12894
> URL: https://issues.apache.org/jira/browse/IGNITE-12894
> Project: Ignite
>  Issue Type: Bug
>  Components: compute
>Affects Versions: 2.8
>Reporter: Alexey Kukushkin
>Assignee: Mikhail Petrov
>Priority: Major
>  Labels: sbcf
>
> h2. 

[jira] [Created] (IGNITE-12980) Use Apache Ignite logo with registered trade mark symbol in README.md

2020-05-04 Thread Ivan Pavlukhin (Jira)
Ivan Pavlukhin created IGNITE-12980:
---

 Summary: Use Apache Ignite logo with registered trade mark symbol 
in README.md
 Key: IGNITE-12980
 URL: https://issues.apache.org/jira/browse/IGNITE-12980
 Project: Ignite
  Issue Type: Task
Reporter: Ivan Pavlukhin


Logo in the top of https://github.com/apache/ignite/blob/master/README.md 
should have registered trademark symbol ® instead of unregistered one ™.



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


[jira] [Assigned] (IGNITE-12980) Use Apache Ignite logo with registered trade mark symbol in README.md

2020-05-04 Thread Ivan Pavlukhin (Jira)


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

Ivan Pavlukhin reassigned IGNITE-12980:
---

Assignee: Ivan Pavlukhin

> Use Apache Ignite logo with registered trade mark symbol in README.md
> -
>
> Key: IGNITE-12980
> URL: https://issues.apache.org/jira/browse/IGNITE-12980
> Project: Ignite
>  Issue Type: Task
>Reporter: Ivan Pavlukhin
>Assignee: Ivan Pavlukhin
>Priority: Major
>
> Logo in the top of https://github.com/apache/ignite/blob/master/README.md 
> should have registered trademark symbol ® instead of unregistered one ™.



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