[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17188437#comment-17188437 ] Aleksey Plekhanov commented on IGNITE-13013: [~ibessonov], merged to 2.9. Thanks! > Thick client must not open server sockets when used by serverless functions > --- > > Key: IGNITE-13013 > URL: https://issues.apache.org/jira/browse/IGNITE-13013 > Project: Ignite > Issue Type: Improvement > Components: networking >Affects Versions: 2.8 >Reporter: Denis A. Magda >Assignee: Ivan Bessonov >Priority: Critical > Fix For: 2.9 > > Attachments: image-2020-07-30-18-42-01-266.png > > Time Spent: 0.5h > Remaining Estimate: 0h > > A thick client fails to start if being used inside of a serverless function > such as AWS Lamda or Azure Functions. Cloud providers prohibit opening > network ports to accept connections on the function's end. In short, the > function can only connect to a remote address. > To reproduce, you can follow this tutorial and swap the thin client (used in > the tutorial) with the thick one: > https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial > The thick client needs to support a mode when the communication SPI doesn't > create a server socket if the client is used for serverless computing. This > improvement looks like an extra task of this initiative: > https://issues.apache.org/jira/browse/IGNITE-12438 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17188346#comment-17188346 ] Ivan Bessonov commented on IGNITE-13013: Hi [~alex_pl], I prepared PR for ignite-2.9: [https://github.com/apache/ignite/pull/8199/files] It differs a little bit from master code because we have huge TcpCommunicationSpi refactoring in master. I was careful, test don't show new issues in this branch. I think it's safe to merge it. Thank you! > Thick client must not open server sockets when used by serverless functions > --- > > Key: IGNITE-13013 > URL: https://issues.apache.org/jira/browse/IGNITE-13013 > Project: Ignite > Issue Type: Improvement > Components: networking >Affects Versions: 2.8 >Reporter: Denis A. Magda >Assignee: Ivan Bessonov >Priority: Critical > Fix For: 2.10 > > Attachments: image-2020-07-30-18-42-01-266.png > > Time Spent: 0.5h > Remaining Estimate: 0h > > A thick client fails to start if being used inside of a serverless function > such as AWS Lamda or Azure Functions. Cloud providers prohibit opening > network ports to accept connections on the function's end. In short, the > function can only connect to a remote address. > To reproduce, you can follow this tutorial and swap the thin client (used in > the tutorial) with the thick one: > https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial > The thick client needs to support a mode when the communication SPI doesn't > create a server socket if the client is used for serverless computing. This > improvement looks like an extra task of this initiative: > https://issues.apache.org/jira/browse/IGNITE-12438 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17188344#comment-17188344 ] Ignite TC Bot commented on IGNITE-13013: {panel:title=Branch: [pull/8199/head] Base: [ignite-2.9] : Possible Blockers (2)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1} {color:#d04437}Control Utility{color} [[tests 0 Exit Code |https://ci.ignite.apache.org/viewLog.html?buildId=5576257]] {color:#d04437}Control Utility (Zookeeper){color} [[tests 0 Exit Code |https://ci.ignite.apache.org/viewLog.html?buildId=5576259]] {panel} {panel:title=Branch: [pull/8199/head] Base: [ignite-2.9] : New Tests (10)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1} {color:#8b}SPI{color} [[tests 2|https://ci.ignite.apache.org/viewLog.html?buildId=5574625]] * {color:#013220}IgniteSpiTestSuite: GridTotallyUnreachableClientTest.testTotallyUnreachableClient - PASSED{color} * {color:#013220}IgniteSpiTestSuite: GridSandboxedClientWithoutNetworkTest.testNodeWithoutNetwork - PASSED{color} {color:#8b}Service Grid{color} [[tests 4|https://ci.ignite.apache.org/viewLog.html?buildId=5574689]] * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.topologyVersion[Test event=IgniteBiTuple [val1=DiscoveryEvent [evtNode=6b129c33-8883-479a-86ff-5326a255f3a3, topVer=0, msgTemplate=null, span=null, nodeId8=539c89e7, msg=, type=NODE_JOINED, tstamp=1598865841992], val2=AffinityTopologyVersion [topVer=-7224218227570184834, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.requestId[Test event=IgniteBiTuple [val1=DiscoveryEvent [evtNode=6b129c33-8883-479a-86ff-5326a255f3a3, topVer=0, msgTemplate=null, span=null, nodeId8=539c89e7, msg=, type=NODE_JOINED, tstamp=1598865841992], val2=AffinityTopologyVersion [topVer=-7224218227570184834, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.topologyVersion[Test event=IgniteBiTuple [val1=DiscoveryCustomEvent [customMsg=ServiceChangeBatchRequest [id=b925ed34471-adfd3faa-51b2-41ec-8194-a978483d344d, reqs=SingletonList [ServiceUndeploymentRequest []]], affTopVer=null, super=DiscoveryEvent [evtNode=95b4a244-cf8c-46d9-9b74-eeb2eacf1715, topVer=0, msgTemplate=null, span=null, nodeId8=95b4a244, msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1598865841992]], val2=AffinityTopologyVersion [topVer=5859633856586367631, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.requestId[Test event=IgniteBiTuple [val1=DiscoveryCustomEvent [customMsg=ServiceChangeBatchRequest [id=b925ed34471-adfd3faa-51b2-41ec-8194-a978483d344d, reqs=SingletonList [ServiceUndeploymentRequest []]], affTopVer=null, super=DiscoveryEvent [evtNode=95b4a244-cf8c-46d9-9b74-eeb2eacf1715, topVer=0, msgTemplate=null, span=null, nodeId8=95b4a244, msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1598865841992]], val2=AffinityTopologyVersion [topVer=5859633856586367631, minorTopVer=0]]] - PASSED{color} {color:#8b}Service Grid (legacy mode){color} [[tests 4|https://ci.ignite.apache.org/viewLog.html?buildId=5574690]] * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.topologyVersion[Test event=IgniteBiTuple [val1=DiscoveryEvent [evtNode=5b9af83e-b303-4797-89be-6e9c822e3985, topVer=0, msgTemplate=null, span=null, nodeId8=b4da6bae, msg=, type=NODE_JOINED, tstamp=1598865769474], val2=AffinityTopologyVersion [topVer=6032947771994464230, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.requestId[Test event=IgniteBiTuple [val1=DiscoveryEvent [evtNode=5b9af83e-b303-4797-89be-6e9c822e3985, topVer=0, msgTemplate=null, span=null, nodeId8=b4da6bae, msg=, type=NODE_JOINED, tstamp=1598865769474], val2=AffinityTopologyVersion [topVer=6032947771994464230, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.topologyVersion[Test event=IgniteBiTuple [val1=DiscoveryCustomEvent [customMsg=ServiceChangeBatchRequest [id=c9ccdd34471-e0e51c02-72c9-498d-88a0-5c9159550f8b, reqs=SingletonList [ServiceUndeploymentRequest []]], affTopVer=null, super=DiscoveryEvent [evtNode=b8a4b2e0-448c-4c13-80e6-6ea0b073dbd9, topVer=0, msgTemplate=null, span=null, nodeId8=b8a4b2e0, msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1598865769474]], val2=AffinityTopologyVersion [topVer=6423906890456427985, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.requestId[Test event=IgniteBiTuple [val1=DiscoveryCustomEvent [customMsg=ServiceChangeBatchRequest [id=c9ccdd34471-e0e51c02-72c9-498d-88a0-5c9159550f8b, reqs=SingletonList [ServiceUndeploymentRequest []]], affTopVer=null, super=DiscoveryEvent
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17177759#comment-17177759 ] Sergey Chugunov commented on IGNITE-13013: -- [~ibessonov], I reviewed and merged your patch to master branch in commit *79031e59002b40d2a8dc0cad43475ce4b982adcb*. Thank you for contribution! > Thick client must not open server sockets when used by serverless functions > --- > > Key: IGNITE-13013 > URL: https://issues.apache.org/jira/browse/IGNITE-13013 > Project: Ignite > Issue Type: Improvement > Components: networking >Affects Versions: 2.8 >Reporter: Denis A. Magda >Assignee: Ivan Bessonov >Priority: Critical > Fix For: 2.10 > > Attachments: image-2020-07-30-18-42-01-266.png > > Time Spent: 20m > Remaining Estimate: 0h > > A thick client fails to start if being used inside of a serverless function > such as AWS Lamda or Azure Functions. Cloud providers prohibit opening > network ports to accept connections on the function's end. In short, the > function can only connect to a remote address. > To reproduce, you can follow this tutorial and swap the thin client (used in > the tutorial) with the thick one: > https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial > The thick client needs to support a mode when the communication SPI doesn't > create a server socket if the client is used for serverless computing. This > improvement looks like an extra task of this initiative: > https://issues.apache.org/jira/browse/IGNITE-12438 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17177744#comment-17177744 ] Ignite TC Bot commented on IGNITE-13013: {panel:title=Branch: [pull/8074/head] Base: [master] : No blockers found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel} {panel:title=Branch: [pull/8074/head] Base: [master] : New Tests (2)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1} {color:#8b}SPI{color} [[tests 2|https://ci.ignite.apache.org/viewLog.html?buildId=5538710]] * {color:#013220}IgniteSpiTestSuite: GridTotallyUnreachableClientTest.testTotallyUnreachableClient - PASSED{color} * {color:#013220}IgniteSpiTestSuite: GridSandboxedClientWithoutNetworkTest.testNodeWithoutNetwork - PASSED{color} {panel} [TeamCity *--> Run :: All* Results|https://ci.ignite.apache.org/viewLog.html?buildId=5536924&buildTypeId=IgniteTests24Java8_RunAll] > Thick client must not open server sockets when used by serverless functions > --- > > Key: IGNITE-13013 > URL: https://issues.apache.org/jira/browse/IGNITE-13013 > Project: Ignite > Issue Type: Improvement > Components: networking >Affects Versions: 2.8 >Reporter: Denis A. Magda >Assignee: Ivan Bessonov >Priority: Critical > Fix For: 2.10 > > Attachments: image-2020-07-30-18-42-01-266.png > > Time Spent: 10m > Remaining Estimate: 0h > > A thick client fails to start if being used inside of a serverless function > such as AWS Lamda or Azure Functions. Cloud providers prohibit opening > network ports to accept connections on the function's end. In short, the > function can only connect to a remote address. > To reproduce, you can follow this tutorial and swap the thin client (used in > the tutorial) with the thick one: > https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial > The thick client needs to support a mode when the communication SPI doesn't > create a server socket if the client is used for serverless computing. This > improvement looks like an extra task of this initiative: > https://issues.apache.org/jira/browse/IGNITE-12438 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17172149#comment-17172149 ] Anton Kalashnikov commented on IGNITE-13013: [~ibessonov] LGTM. [~agoncharuk] can you help with the merge, please? > Thick client must not open server sockets when used by serverless functions > --- > > Key: IGNITE-13013 > URL: https://issues.apache.org/jira/browse/IGNITE-13013 > Project: Ignite > Issue Type: Improvement > Components: networking >Affects Versions: 2.8 >Reporter: Denis A. Magda >Assignee: Ivan Bessonov >Priority: Critical > Fix For: 2.10 > > Attachments: image-2020-07-30-18-42-01-266.png > > Time Spent: 10m > Remaining Estimate: 0h > > A thick client fails to start if being used inside of a serverless function > such as AWS Lamda or Azure Functions. Cloud providers prohibit opening > network ports to accept connections on the function's end. In short, the > function can only connect to a remote address. > To reproduce, you can follow this tutorial and swap the thin client (used in > the tutorial) with the thick one: > https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial > The thick client needs to support a mode when the communication SPI doesn't > create a server socket if the client is used for serverless computing. This > improvement looks like an extra task of this initiative: > https://issues.apache.org/jira/browse/IGNITE-12438 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17171470#comment-17171470 ] Ivan Bessonov commented on IGNITE-13013: [~akalashnikov] done, thank you for suggestion. > Thick client must not open server sockets when used by serverless functions > --- > > Key: IGNITE-13013 > URL: https://issues.apache.org/jira/browse/IGNITE-13013 > Project: Ignite > Issue Type: Improvement > Components: networking >Affects Versions: 2.8 >Reporter: Denis A. Magda >Assignee: Ivan Bessonov >Priority: Critical > Fix For: 2.10 > > Attachments: image-2020-07-30-18-42-01-266.png > > Time Spent: 10m > Remaining Estimate: 0h > > A thick client fails to start if being used inside of a serverless function > such as AWS Lamda or Azure Functions. Cloud providers prohibit opening > network ports to accept connections on the function's end. In short, the > function can only connect to a remote address. > To reproduce, you can follow this tutorial and swap the thin client (used in > the tutorial) with the thick one: > https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial > The thick client needs to support a mode when the communication SPI doesn't > create a server socket if the client is used for serverless computing. This > improvement looks like an extra task of this initiative: > https://issues.apache.org/jira/browse/IGNITE-12438 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17170832#comment-17170832 ] Anton Kalashnikov commented on IGNITE-13013: [~ibessonov] new changes also LGTM but I have one note - maybe it is better instead of using magic number = 0(when socket not needed) use well-described constant(like PORT_DISABLED or RECEIVED_SOCKET_DISABLE) or at least adding some comments to this number because when I see port equal to 0 it's not obvious which behaviour I should expect. > Thick client must not open server sockets when used by serverless functions > --- > > Key: IGNITE-13013 > URL: https://issues.apache.org/jira/browse/IGNITE-13013 > Project: Ignite > Issue Type: Improvement > Components: networking >Affects Versions: 2.8 >Reporter: Denis A. Magda >Assignee: Ivan Bessonov >Priority: Critical > Fix For: 2.10 > > Attachments: image-2020-07-30-18-42-01-266.png > > Time Spent: 10m > Remaining Estimate: 0h > > A thick client fails to start if being used inside of a serverless function > such as AWS Lamda or Azure Functions. Cloud providers prohibit opening > network ports to accept connections on the function's end. In short, the > function can only connect to a remote address. > To reproduce, you can follow this tutorial and swap the thin client (used in > the tutorial) with the thick one: > https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial > The thick client needs to support a mode when the communication SPI doesn't > create a server socket if the client is used for serverless computing. This > improvement looks like an extra task of this initiative: > https://issues.apache.org/jira/browse/IGNITE-12438 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17170667#comment-17170667 ] Semyon Danilov commented on IGNITE-13013: - I was able to validate that changes indeed fix the problem for Azure, however it is worth mentioning that working in serverless mode with Azure or AWS requires additional configuration. # IGNITE_HOME must be configured to use temporary dir # Address resolver must be configured for server node (node local address -> node public address) # Default timeouts of functions are really small, thick client won't be able to start so fast > Thick client must not open server sockets when used by serverless functions > --- > > Key: IGNITE-13013 > URL: https://issues.apache.org/jira/browse/IGNITE-13013 > Project: Ignite > Issue Type: Improvement > Components: networking >Affects Versions: 2.8 >Reporter: Denis A. Magda >Assignee: Ivan Bessonov >Priority: Critical > Fix For: 2.10 > > Attachments: image-2020-07-30-18-42-01-266.png > > Time Spent: 10m > Remaining Estimate: 0h > > A thick client fails to start if being used inside of a serverless function > such as AWS Lamda or Azure Functions. Cloud providers prohibit opening > network ports to accept connections on the function's end. In short, the > function can only connect to a remote address. > To reproduce, you can follow this tutorial and swap the thin client (used in > the tutorial) with the thick one: > https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial > The thick client needs to support a mode when the communication SPI doesn't > create a server socket if the client is used for serverless computing. This > improvement looks like an extra task of this initiative: > https://issues.apache.org/jira/browse/IGNITE-12438 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17168832#comment-17168832 ] Anton Kalashnikov commented on IGNITE-13013: [~ibessonov] thanks for your changes. LGTM. > Thick client must not open server sockets when used by serverless functions > --- > > Key: IGNITE-13013 > URL: https://issues.apache.org/jira/browse/IGNITE-13013 > Project: Ignite > Issue Type: Improvement > Components: networking >Affects Versions: 2.8 >Reporter: Denis A. Magda >Assignee: Ivan Bessonov >Priority: Critical > Fix For: 2.10 > > Attachments: image-2020-07-30-18-42-01-266.png > > Time Spent: 10m > Remaining Estimate: 0h > > A thick client fails to start if being used inside of a serverless function > such as AWS Lamda or Azure Functions. Cloud providers prohibit opening > network ports to accept connections on the function's end. In short, the > function can only connect to a remote address. > To reproduce, you can follow this tutorial and swap the thin client (used in > the tutorial) with the thick one: > https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial > The thick client needs to support a mode when the communication SPI doesn't > create a server socket if the client is used for serverless computing. This > improvement looks like an extra task of this initiative: > https://issues.apache.org/jira/browse/IGNITE-12438 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17168434#comment-17168434 ] Ignite TC Bot commented on IGNITE-13013: {panel:title=Branch: [pull/8074/head] Base: [master] : No blockers found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel} {panel:title=Branch: [pull/8074/head] Base: [master] : New Tests (9)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1} {color:#8b}SPI{color} [[tests 1|https://ci.ignite.apache.org/viewLog.html?buildId=5500921]] * {color:#013220}IgniteSpiTestSuite: GridTotallyUnreachableClientTest.testTotallyUnreachableClient - PASSED{color} {color:#8b}Service Grid{color} [[tests 4|https://ci.ignite.apache.org/viewLog.html?buildId=5497282]] * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.topologyVersion[Test event=IgniteBiTuple [val1=DiscoveryEvent [evtNode=e3dd53ab-c9e5-4fe7-8e84-384d41e4aa00, topVer=0, msgTemplate=null, span=null, nodeId8=7768b052, msg=, type=NODE_JOINED, tstamp=1596005863844], val2=AffinityTopologyVersion [topVer=2999456354757913607, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.requestId[Test event=IgniteBiTuple [val1=DiscoveryEvent [evtNode=e3dd53ab-c9e5-4fe7-8e84-384d41e4aa00, topVer=0, msgTemplate=null, span=null, nodeId8=7768b052, msg=, type=NODE_JOINED, tstamp=1596005863844], val2=AffinityTopologyVersion [topVer=2999456354757913607, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.topologyVersion[Test event=IgniteBiTuple [val1=DiscoveryCustomEvent [customMsg=ServiceChangeBatchRequest [id=9ced6699371-ce39e79b-f22a-44b1-a6c8-6cb9ba1bbd45, reqs=SingletonList [ServiceUndeploymentRequest []]], affTopVer=null, super=DiscoveryEvent [evtNode=ba7e0b96-9573-47c7-80a4-dc52902bedcb, topVer=0, msgTemplate=null, span=null, nodeId8=ba7e0b96, msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1596005863844]], val2=AffinityTopologyVersion [topVer=-2991437343706175390, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.requestId[Test event=IgniteBiTuple [val1=DiscoveryCustomEvent [customMsg=ServiceChangeBatchRequest [id=9ced6699371-ce39e79b-f22a-44b1-a6c8-6cb9ba1bbd45, reqs=SingletonList [ServiceUndeploymentRequest []]], affTopVer=null, super=DiscoveryEvent [evtNode=ba7e0b96-9573-47c7-80a4-dc52902bedcb, topVer=0, msgTemplate=null, span=null, nodeId8=ba7e0b96, msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1596005863844]], val2=AffinityTopologyVersion [topVer=-2991437343706175390, minorTopVer=0]]] - PASSED{color} {color:#8b}Service Grid (legacy mode){color} [[tests 4|https://ci.ignite.apache.org/viewLog.html?buildId=5497283]] * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.topologyVersion[Test event=IgniteBiTuple [val1=DiscoveryEvent [evtNode=37d3f9d1-8774-41db-949b-0eadc00e9353, topVer=0, msgTemplate=null, span=null, nodeId8=17e8304c, msg=, type=NODE_JOINED, tstamp=1596005548162], val2=AffinityTopologyVersion [topVer=4692363641465766619, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.requestId[Test event=IgniteBiTuple [val1=DiscoveryEvent [evtNode=37d3f9d1-8774-41db-949b-0eadc00e9353, topVer=0, msgTemplate=null, span=null, nodeId8=17e8304c, msg=, type=NODE_JOINED, tstamp=1596005548162], val2=AffinityTopologyVersion [topVer=4692363641465766619, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.topologyVersion[Test event=IgniteBiTuple [val1=DiscoveryCustomEvent [customMsg=ServiceChangeBatchRequest [id=68008599371-307bde29-5126-47ed-9cbf-9e92e9fe697f, reqs=SingletonList [ServiceUndeploymentRequest []]], affTopVer=null, super=DiscoveryEvent [evtNode=4c70b3e8-3842-42d6-acf7-5e85a04bd90e, topVer=0, msgTemplate=null, span=null, nodeId8=4c70b3e8, msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1596005548162]], val2=AffinityTopologyVersion [topVer=1663867354451825755, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.requestId[Test event=IgniteBiTuple [val1=DiscoveryCustomEvent [customMsg=ServiceChangeBatchRequest [id=68008599371-307bde29-5126-47ed-9cbf-9e92e9fe697f, reqs=SingletonList [ServiceUndeploymentRequest []]], affTopVer=null, super=DiscoveryEvent [evtNode=4c70b3e8-3842-42d6-acf7-5e85a04bd90e, topVer=0, msgTemplate=null, span=null, nodeId8=4c70b3e8, msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1596005548162]], val2=AffinityTopologyVersion [topVer=1663867354451825755, minorTopVer=0]]] - PASSED{color} {panel} [TeamCity *--> Run :: All* Results|https://ci.ignite.apache.org/viewLog.html?buildId=5497305&buildTypeId=IgniteTe
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17168048#comment-17168048 ] Denis A. Magda commented on IGNITE-13013: - [~sdanilov], I was launching my lambda on Azure and it failed with an exception saying that the client was trying top open a server socket (incoming) connection. Please try to validate the fix there. Probably, AWS allows opening incoming TCP connections on the lambda side. > Thick client must not open server sockets when used by serverless functions > --- > > Key: IGNITE-13013 > URL: https://issues.apache.org/jira/browse/IGNITE-13013 > Project: Ignite > Issue Type: Improvement > Components: networking >Affects Versions: 2.8 >Reporter: Denis A. Magda >Assignee: Ivan Bessonov >Priority: Critical > Fix For: 2.10 > > Attachments: image-2020-07-30-18-42-01-266.png > > Time Spent: 10m > Remaining Estimate: 0h > > A thick client fails to start if being used inside of a serverless function > such as AWS Lamda or Azure Functions. Cloud providers prohibit opening > network ports to accept connections on the function's end. In short, the > function can only connect to a remote address. > To reproduce, you can follow this tutorial and swap the thin client (used in > the tutorial) with the thick one: > https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial > The thick client needs to support a mode when the communication SPI doesn't > create a server socket if the client is used for serverless computing. This > improvement looks like an extra task of this initiative: > https://issues.apache.org/jira/browse/IGNITE-12438 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17168011#comment-17168011 ] Semyon Danilov commented on IGNITE-13013: - [~dmagda] Can you clarify what doesn't work in 2.8? I tried running 2.8 on AWS lambda and it successfully opened TcpComm port. An excerpt from lambda's logs: !image-2020-07-30-18-42-01-266.png! As for lambda itself: it starts a thick client, puts and gets value from cache (and returns it as a result for request) > Thick client must not open server sockets when used by serverless functions > --- > > Key: IGNITE-13013 > URL: https://issues.apache.org/jira/browse/IGNITE-13013 > Project: Ignite > Issue Type: Improvement > Components: networking >Affects Versions: 2.8 >Reporter: Denis A. Magda >Assignee: Ivan Bessonov >Priority: Critical > Fix For: 2.10 > > Attachments: image-2020-07-30-18-42-01-266.png > > Time Spent: 10m > Remaining Estimate: 0h > > A thick client fails to start if being used inside of a serverless function > such as AWS Lamda or Azure Functions. Cloud providers prohibit opening > network ports to accept connections on the function's end. In short, the > function can only connect to a remote address. > To reproduce, you can follow this tutorial and swap the thin client (used in > the tutorial) with the thick one: > https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial > The thick client needs to support a mode when the communication SPI doesn't > create a server socket if the client is used for serverless computing. This > improvement looks like an extra task of this initiative: > https://issues.apache.org/jira/browse/IGNITE-12438 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17164399#comment-17164399 ] Ignite TC Bot commented on IGNITE-13013: {panel:title=Branch: [pull/8074/head] Base: [master] : No blockers found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel} {panel:title=Branch: [pull/8074/head] Base: [master] : New Tests (9)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1} {color:#8b}SPI{color} [[tests 1|https://ci.ignite.apache.org/viewLog.html?buildId=5485623]] * {color:#013220}IgniteSpiTestSuite: GridTotallyUnreachableClientTest.testTotallyUnreachableClient - PASSED{color} {color:#8b}Service Grid{color} [[tests 4|https://ci.ignite.apache.org/viewLog.html?buildId=5485687]] * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.topologyVersion[Test event=IgniteBiTuple [val1=DiscoveryEvent [evtNode=4974d836-2569-46ed-91dc-6786e3379bf0, topVer=0, msgTemplate=null, span=null, nodeId8=44d830af, msg=, type=NODE_JOINED, tstamp=1595491594440], val2=AffinityTopologyVersion [topVer=2446643712338799655, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.requestId[Test event=IgniteBiTuple [val1=DiscoveryEvent [evtNode=4974d836-2569-46ed-91dc-6786e3379bf0, topVer=0, msgTemplate=null, span=null, nodeId8=44d830af, msg=, type=NODE_JOINED, tstamp=1595491594440], val2=AffinityTopologyVersion [topVer=2446643712338799655, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.topologyVersion[Test event=IgniteBiTuple [val1=DiscoveryCustomEvent [customMsg=ServiceChangeBatchRequest [id=cc0b5ba7371-8e41e22c-a539-4518-bcd1-a96657eb2503, reqs=SingletonList [ServiceUndeploymentRequest []]], affTopVer=null, super=DiscoveryEvent [evtNode=56ddeff7-de5a-443e-9397-d7470d270de1, topVer=0, msgTemplate=null, span=null, nodeId8=56ddeff7, msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1595491594440]], val2=AffinityTopologyVersion [topVer=5569973235457393409, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.requestId[Test event=IgniteBiTuple [val1=DiscoveryCustomEvent [customMsg=ServiceChangeBatchRequest [id=cc0b5ba7371-8e41e22c-a539-4518-bcd1-a96657eb2503, reqs=SingletonList [ServiceUndeploymentRequest []]], affTopVer=null, super=DiscoveryEvent [evtNode=56ddeff7-de5a-443e-9397-d7470d270de1, topVer=0, msgTemplate=null, span=null, nodeId8=56ddeff7, msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1595491594440]], val2=AffinityTopologyVersion [topVer=5569973235457393409, minorTopVer=0]]] - PASSED{color} {color:#8b}Service Grid (legacy mode){color} [[tests 4|https://ci.ignite.apache.org/viewLog.html?buildId=5485688]] * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.requestId[Test event=IgniteBiTuple [val1=DiscoveryCustomEvent [customMsg=ServiceChangeBatchRequest [id=24302ca7371-f88d7ce1-c209-4e51-957b-74efa283b3f8, reqs=SingletonList [ServiceUndeploymentRequest []]], affTopVer=null, super=DiscoveryEvent [evtNode=8b19b365-cb41-46ca-a327-c6da287bf94e, topVer=0, msgTemplate=null, span=null, nodeId8=8b19b365, msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1595491730222]], val2=AffinityTopologyVersion [topVer=2283060003126171735, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.topologyVersion[Test event=IgniteBiTuple [val1=DiscoveryEvent [evtNode=dc4a9197-a793-4a64-b445-d55e4ed6b004, topVer=0, msgTemplate=null, span=null, nodeId8=9cf55548, msg=, type=NODE_JOINED, tstamp=1595491730222], val2=AffinityTopologyVersion [topVer=-7994999231815152273, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.requestId[Test event=IgniteBiTuple [val1=DiscoveryEvent [evtNode=dc4a9197-a793-4a64-b445-d55e4ed6b004, topVer=0, msgTemplate=null, span=null, nodeId8=9cf55548, msg=, type=NODE_JOINED, tstamp=1595491730222], val2=AffinityTopologyVersion [topVer=-7994999231815152273, minorTopVer=0]]] - PASSED{color} * {color:#013220}IgniteServiceGridTestSuite: ServiceDeploymentProcessIdSelfTest.topologyVersion[Test event=IgniteBiTuple [val1=DiscoveryCustomEvent [customMsg=ServiceChangeBatchRequest [id=24302ca7371-f88d7ce1-c209-4e51-957b-74efa283b3f8, reqs=SingletonList [ServiceUndeploymentRequest []]], affTopVer=null, super=DiscoveryEvent [evtNode=8b19b365-cb41-46ca-a327-c6da287bf94e, topVer=0, msgTemplate=null, span=null, nodeId8=8b19b365, msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1595491730222]], val2=AffinityTopologyVersion [topVer=2283060003126171735, minorTopVer=0]]] - PASSED{color} {panel} [TeamCity *--> Run :: All* Results|https://ci.ignite.apache.org/viewLog.html?buildId=5485710&buildTypeId=IgniteTe
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17154625#comment-17154625 ] Ivan Bessonov commented on IGNITE-13013: I guess that would be better, "connIdx" affected too many methods. We should roll it back. > Thick client must not open server sockets when used by serverless functions > --- > > Key: IGNITE-13013 > URL: https://issues.apache.org/jira/browse/IGNITE-13013 > Project: Ignite > Issue Type: Improvement > Components: networking >Affects Versions: 2.8 >Reporter: Denis A. Magda >Priority: Critical > Fix For: 2.9 > > > A thick client fails to start if being used inside of a serverless function > such as AWS Lamda or Azure Functions. Cloud providers prohibit opening > network ports to accept connections on the function's end. In short, the > function can only connect to a remote address. > To reproduce, you can follow this tutorial and swap the thin client (used in > the tutorial) with the thick one: > https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial > The thick client needs to support a mode when the communication SPI doesn't > create a server socket if the client is used for serverless computing. This > improvement looks like an extra task of this initiative: > https://issues.apache.org/jira/browse/IGNITE-12438 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17154615#comment-17154615 ] Alexey Goncharuk commented on IGNITE-13013: --- Folks, after thinking on the changes from IGNITE-12438, I suggest that we get rid of {{connIdx}} from {{GridIoMessage}} and read the connection index directly from {{TcpInverseConnectionResponseMessage}}, what do you think? > Thick client must not open server sockets when used by serverless functions > --- > > Key: IGNITE-13013 > URL: https://issues.apache.org/jira/browse/IGNITE-13013 > Project: Ignite > Issue Type: Improvement > Components: networking >Affects Versions: 2.8 >Reporter: Denis A. Magda >Priority: Critical > Fix For: 2.9 > > > A thick client fails to start if being used inside of a serverless function > such as AWS Lamda or Azure Functions. Cloud providers prohibit opening > network ports to accept connections on the function's end. In short, the > function can only connect to a remote address. > To reproduce, you can follow this tutorial and swap the thin client (used in > the tutorial) with the thick one: > https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial > The thick client needs to support a mode when the communication SPI doesn't > create a server socket if the client is used for serverless computing. This > improvement looks like an extra task of this initiative: > https://issues.apache.org/jira/browse/IGNITE-12438 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17153651#comment-17153651 ] Denis A. Magda commented on IGNITE-13013: - Anton, agree, let’s do the way you’re suggesting! > Thick client must not open server sockets when used by serverless functions > --- > > Key: IGNITE-13013 > URL: https://issues.apache.org/jira/browse/IGNITE-13013 > Project: Ignite > Issue Type: Improvement > Components: networking >Affects Versions: 2.8 >Reporter: Denis A. Magda >Priority: Critical > Fix For: 2.9 > > > A thick client fails to start if being used inside of a serverless function > such as AWS Lamda or Azure Functions. Cloud providers prohibit opening > network ports to accept connections on the function's end. In short, the > function can only connect to a remote address. > To reproduce, you can follow this tutorial and swap the thin client (used in > the tutorial) with the thick one: > https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial > The thick client needs to support a mode when the communication SPI doesn't > create a server socket if the client is used for serverless computing. This > improvement looks like an extra task of this initiative: > https://issues.apache.org/jira/browse/IGNITE-12438 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17153620#comment-17153620 ] Anton Kalashnikov commented on IGNITE-13013: [~dmagda], I think I agree that client-to-client connectivity is not soo useful in ignite. So I have another solution which looks pretty easy for implementation. We can add the possibility to set a communication port to -1(this means server socket shouldn't be open). And when the user sets this port to -1 we also set forceClientToServer to true. Also, we can add validation on establishing communication connection, and if we see that it is the client-to-client connection but the remote client doesn't support such connection we notify the user about it( exception is thrown) - as I understand this scenario mostly corresponds to the compute. In conclusion, expected changes: * Setting communication port to -1 is allowed * If the communication port set to -1, forceClientToServer will set to true * If the client tries to establish a connection with another client which port equal to -1, the exception will be thrown. > Thick client must not open server sockets when used by serverless functions > --- > > Key: IGNITE-13013 > URL: https://issues.apache.org/jira/browse/IGNITE-13013 > Project: Ignite > Issue Type: Improvement > Components: networking >Affects Versions: 2.8 >Reporter: Denis A. Magda >Priority: Critical > Fix For: 2.9 > > > A thick client fails to start if being used inside of a serverless function > such as AWS Lamda or Azure Functions. Cloud providers prohibit opening > network ports to accept connections on the function's end. In short, the > function can only connect to a remote address. > To reproduce, you can follow this tutorial and swap the thin client (used in > the tutorial) with the thick one: > https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial > The thick client needs to support a mode when the communication SPI doesn't > create a server socket if the client is used for serverless computing. This > improvement looks like an extra task of this initiative: > https://issues.apache.org/jira/browse/IGNITE-12438 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17153598#comment-17153598 ] Denis A. Magda commented on IGNITE-13013: - Anton, In my experience, the client-to-client connectivity option is expected in the micro-services architectures. But usually high-level frameworks and protocols are used for inter-service communication. Certainly, there are usage scenarios of Ignite services and messaging APIs as well, however, those are not widespread and might be safely disregarded (especially in cloud environments that go with similar well-integrated APIs). Personally, I would use the forceClientToServer for both things. It’s even better to create an Azure function and check that disabling of the communication server socket is the only thing we need. There might be something else hidden which can influence another configuration way/option. > Thick client must not open server sockets when used by serverless functions > --- > > Key: IGNITE-13013 > URL: https://issues.apache.org/jira/browse/IGNITE-13013 > Project: Ignite > Issue Type: Improvement > Components: networking >Affects Versions: 2.8 >Reporter: Denis A. Magda >Priority: Critical > Fix For: 2.9 > > > A thick client fails to start if being used inside of a serverless function > such as AWS Lamda or Azure Functions. Cloud providers prohibit opening > network ports to accept connections on the function's end. In short, the > function can only connect to a remote address. > To reproduce, you can follow this tutorial and swap the thin client (used in > the tutorial) with the thick one: > https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial > The thick client needs to support a mode when the communication SPI doesn't > create a server socket if the client is used for serverless computing. This > improvement looks like an extra task of this initiative: > https://issues.apache.org/jira/browse/IGNITE-12438 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions
[ https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17153464#comment-17153464 ] Anton Kalashnikov commented on IGNITE-13013: As I understand, If we forbid to create a server socket on the client-side, client-to-client connection would be impossible. So I have several corresponded questions: * Does it need to support client-to-client connection along with prohibiting a server socket? Or if the server socket is forbidden, the client-to-client connection can be unsupported? * Should a server socket ban and forceClientToServerConnection(IGNITE-12438) be merged into one feature or it should be two different features(one depends on other)? (ex. when forceClientToServerConnection set to true, only client able to connect to the server and at the same time client doesn't open the server socket). * If we still need client-to-client connection(I believe we do), is it ok to use one of the server nodes as a proxy for such connection? It means the client doesn't establish a direct connection to other client but it establishes a connection to the server node(I believe the router node is best in this case) then this server node establishes a connection to the second client. My personal answers are the following: * client-to-client connection should be supported because of its looks useful in several scenarios and some internal features also use it(deployment). * It should be two different features but when the server socket isn't open, forceClientToServerConnection should be set to true automatically. * Server node as the proxy is not a bad idea but it can lead to some problem in the failure scenarios and it leads to performance drop(It should be investigated how frequently and in which scenarios the ignite use client-to-client connection for understanding how big drop could be). [~dmagda] can you share your view about this problem? > Thick client must not open server sockets when used by serverless functions > --- > > Key: IGNITE-13013 > URL: https://issues.apache.org/jira/browse/IGNITE-13013 > Project: Ignite > Issue Type: Improvement > Components: networking >Affects Versions: 2.8 >Reporter: Denis A. Magda >Priority: Critical > Fix For: 2.9 > > > A thick client fails to start if being used inside of a serverless function > such as AWS Lamda or Azure Functions. Cloud providers prohibit opening > network ports to accept connections on the function's end. In short, the > function can only connect to a remote address. > To reproduce, you can follow this tutorial and swap the thin client (used in > the tutorial) with the thick one: > https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial > The thick client needs to support a mode when the communication SPI doesn't > create a server socket if the client is used for serverless computing. This > improvement looks like an extra task of this initiative: > https://issues.apache.org/jira/browse/IGNITE-12438 -- This message was sent by Atlassian Jira (v8.3.4#803005)