[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions

2020-09-01 Thread Aleksey Plekhanov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2020-09-01 Thread Ivan Bessonov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

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


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2020-08-14 Thread Sergey Chugunov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2020-08-14 Thread Ignite TC Bot (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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=5536924buildTypeId=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

2020-08-06 Thread Anton Kalashnikov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2020-08-05 Thread Ivan Bessonov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2020-08-04 Thread Anton Kalashnikov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2020-08-04 Thread Semyon Danilov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2020-07-31 Thread Anton Kalashnikov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2020-07-31 Thread Ignite TC Bot (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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=5497305buildTypeId=IgniteTests24Java8_RunAll]

[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions

2020-07-30 Thread Denis A. Magda (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2020-07-30 Thread Semyon Danilov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2020-07-24 Thread Ignite TC Bot (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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=5485710buildTypeId=IgniteTests24Java8_RunAll]

[jira] [Commented] (IGNITE-13013) Thick client must not open server sockets when used by serverless functions

2020-07-09 Thread Ivan Bessonov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2020-07-09 Thread Alexey Goncharuk (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2020-07-08 Thread Denis A. Magda (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2020-07-08 Thread Anton Kalashnikov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2020-07-08 Thread Denis A. Magda (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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

2020-07-08 Thread Anton Kalashnikov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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)