[jira] [Commented] (IGNITE-7109) .NET: Thin client: Async cache operations

2017-12-22 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on IGNITE-7109:


Github user asfgit closed the pull request at:

https://github.com/apache/ignite/pull/3187


> .NET: Thin client: Async cache operations
> -
>
> Key: IGNITE-7109
> URL: https://issues.apache.org/jira/browse/IGNITE-7109
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET
> Fix For: 2.4
>
>
> Add async operations to {{ICacheClient}}.
> Thin client suppots asynchrony with requestId mechanism. Make sure it works 
> with .NET.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (IGNITE-7109) .NET: Thin client: Async cache operations

2017-12-22 Thread Pavel Tupitsyn (JIRA)

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

Pavel Tupitsyn commented on IGNITE-7109:


Merged to master: {{1c09a923d90987da111f8ac9722e5870bb9f7627}}.

> .NET: Thin client: Async cache operations
> -
>
> Key: IGNITE-7109
> URL: https://issues.apache.org/jira/browse/IGNITE-7109
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET
> Fix For: 2.4
>
>
> Add async operations to {{ICacheClient}}.
> Thin client suppots asynchrony with requestId mechanism. Make sure it works 
> with .NET.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (IGNITE-7109) .NET: Thin client: Async cache operations

2017-12-22 Thread Vladimir Ozerov (JIRA)

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

Vladimir Ozerov commented on IGNITE-7109:
-

[~ptupitsyn], looks good to me.

> .NET: Thin client: Async cache operations
> -
>
> Key: IGNITE-7109
> URL: https://issues.apache.org/jira/browse/IGNITE-7109
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET
> Fix For: 2.4
>
>
> Add async operations to {{ICacheClient}}.
> Thin client suppots asynchrony with requestId mechanism. Make sure it works 
> with .NET.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (IGNITE-7109) .NET: Thin client: Async cache operations

2017-12-21 Thread Pavel Tupitsyn (JIRA)

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

Pavel Tupitsyn commented on IGNITE-7109:


Merged from master, compilation fixed. [~vozerov] waiting for review.

> .NET: Thin client: Async cache operations
> -
>
> Key: IGNITE-7109
> URL: https://issues.apache.org/jira/browse/IGNITE-7109
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET
> Fix For: 2.4
>
>
> Add async operations to {{ICacheClient}}.
> Thin client suppots asynchrony with requestId mechanism. Make sure it works 
> with .NET.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (IGNITE-7109) .NET: Thin client: Async cache operations

2017-12-08 Thread Pavel Tupitsyn (JIRA)

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

Pavel Tupitsyn commented on IGNITE-7109:


Done, [~vozerov], please review.

> .NET: Thin client: Async cache operations
> -
>
> Key: IGNITE-7109
> URL: https://issues.apache.org/jira/browse/IGNITE-7109
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET
> Fix For: 2.4
>
>
> Add async operations to {{ICacheClient}}.
> Thin client suppots asynchrony with requestId mechanism. Make sure it works 
> with .NET.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (IGNITE-7109) .NET: Thin client: Async cache operations

2017-12-08 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on IGNITE-7109:


GitHub user ptupitsyn opened a pull request:

https://github.com/apache/ignite/pull/3187

IGNITE-7109 .NET: Thin client: Async cache operations



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/gridgain/apache-ignite ignite-7109

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/ignite/pull/3187.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #3187


commit 434171a938d902d0229fc6c7394080f1e6d15113
Author: Pavel Tupitsyn 
Date:   2017-12-08T15:57:18Z

IGNITE-7109 .NET: Thin client: Async cache operations




> .NET: Thin client: Async cache operations
> -
>
> Key: IGNITE-7109
> URL: https://issues.apache.org/jira/browse/IGNITE-7109
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET
> Fix For: 2.4
>
>
> Add async operations to {{ICacheClient}}.
> Thin client suppots asynchrony with requestId mechanism. Make sure it works 
> with .NET.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (IGNITE-7109) .NET: Thin client: Async cache operations

2017-12-07 Thread Pavel Tupitsyn (JIRA)

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

Pavel Tupitsyn commented on IGNITE-7109:


Hybrid approach implemented: 
# Send requests in blocking mode ({{Socket.Send}})
# Use a dedicated thread to read responses in blocking mode 
({{Socket.Receive}}) and complete async operations with {{TaskCompletionSource}}
# Synchronous calls ({{cache.Put}}): If there are no pending socket operations 
- read response in blocking mode right from current thread. Otherwise fall back 
to async mechanism with background thread.


> .NET: Thin client: Async cache operations
> -
>
> Key: IGNITE-7109
> URL: https://issues.apache.org/jira/browse/IGNITE-7109
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET
> Fix For: 2.4
>
>
> Add async operations to {{ICacheClient}}.
> Thin client suppots asynchrony with requestId mechanism. Make sure it works 
> with .NET.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (IGNITE-7109) .NET: Thin client: Async cache operations

2017-12-06 Thread Pavel Tupitsyn (JIRA)

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

Pavel Tupitsyn commented on IGNITE-7109:


Methods based on {{SocketAsyncEventArgs}} are said to be the most performant:  
https://stackoverflow.com/questions/24174423/c-sharp-socket-performance-with-net-4-5-async-vs-async-vs-begin

> .NET: Thin client: Async cache operations
> -
>
> Key: IGNITE-7109
> URL: https://issues.apache.org/jira/browse/IGNITE-7109
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET
> Fix For: 2.4
>
>
> Add async operations to {{ICacheClient}}.
> Thin client suppots asynchrony with requestId mechanism. Make sure it works 
> with .NET.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (IGNITE-7109) .NET: Thin client: Async cache operations

2017-12-06 Thread Pavel Tupitsyn (JIRA)

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

Pavel Tupitsyn commented on IGNITE-7109:


Benchmarks added. Current async implementation ({{BeginSend}}/{{BeginReceive}}) 
is 30% slower than master.
This appears to be a common issue: 
https://stackoverflow.com/questions/9915101/performance-of-receiveasync-vs-beginreceive
We should try performing a request synchronously and then falling back to async 
if response is not quickly available (see comments to the accepted answer).

> .NET: Thin client: Async cache operations
> -
>
> Key: IGNITE-7109
> URL: https://issues.apache.org/jira/browse/IGNITE-7109
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET
> Fix For: 2.4
>
>
> Add async operations to {{ICacheClient}}.
> Thin client suppots asynchrony with requestId mechanism. Make sure it works 
> with .NET.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (IGNITE-7109) .NET: Thin client: Async cache operations

2017-12-06 Thread Pavel Tupitsyn (JIRA)

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

Pavel Tupitsyn commented on IGNITE-7109:


Let's implement IGNITE-7124 first so that we can compare performance.

> .NET: Thin client: Async cache operations
> -
>
> Key: IGNITE-7109
> URL: https://issues.apache.org/jira/browse/IGNITE-7109
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET
> Fix For: 2.4
>
>
> Add async operations to {{ICacheClient}}.
> Thin client suppots asynchrony with requestId mechanism. Make sure it works 
> with .NET.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (IGNITE-7109) .NET: Thin client: Async cache operations

2017-12-06 Thread Pavel Tupitsyn (JIRA)

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

Pavel Tupitsyn commented on IGNITE-7109:


Ticket for further optimization: IGNITE-7115

> .NET: Thin client: Async cache operations
> -
>
> Key: IGNITE-7109
> URL: https://issues.apache.org/jira/browse/IGNITE-7109
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET
> Fix For: 2.4
>
>
> Add async operations to {{ICacheClient}}.
> Thin client suppots asynchrony with requestId mechanism. Make sure it works 
> with .NET.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (IGNITE-7109) .NET: Thin client: Async cache operations

2017-12-05 Thread Pavel Tupitsyn (JIRA)

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

Pavel Tupitsyn commented on IGNITE-7109:


For the thin client all operations are inherently async (because socket is 
async). We should consider providing async counterpart for every thin client 
method.

> .NET: Thin client: Async cache operations
> -
>
> Key: IGNITE-7109
> URL: https://issues.apache.org/jira/browse/IGNITE-7109
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET
> Fix For: 2.4
>
>
> Add async operations to {{ICacheClient}}.
> Thin client suppots asynchrony with requestId mechanism. Make sure it works 
> with .NET.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (IGNITE-7109) .NET: Thin client: Async cache operations

2017-12-05 Thread Pavel Tupitsyn (JIRA)

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

Pavel Tupitsyn commented on IGNITE-7109:


{{ClientSocket}} refactored to use async {{Socket}} APIs.
{{PutAsync}} and {{GetAsync}} added to {{IClientCache}}, multithreaded test 
added.

Adding async counterparts to all operations.

> .NET: Thin client: Async cache operations
> -
>
> Key: IGNITE-7109
> URL: https://issues.apache.org/jira/browse/IGNITE-7109
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET
> Fix For: 2.4
>
>
> Add async operations to {{ICacheClient}}.
> Thin client suppots asynchrony with requestId mechanism. Make sure it works 
> with .NET.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)