[jira] [Commented] (IGNITE-12894) Cannot use IgniteAtomicSequence in Ignite services
[ 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
[ 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
[ 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
[ 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
[ 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
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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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)