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

Ivan Bessonov updated IGNITE-9694:
----------------------------------
    Description: 
In current implementation there might be situations where reading operation 
waits, for example, exchange of client join event. Such events should not block 
read operations.

In theory - the only operation that has to block reading (except for writing) 
is "node left" for server (or baseline server in case of persistent setup).

Table shows current state of blocking, covered by test in this ticket:

 

Partitioned cache:
|| ||Start
 Client||Stop
 Client||Start
 Server||Stop
 Server||Start
 Baseline||Stop
 Baseline||Add
 Baseline||Start
 Cache||Stop
 Cache||Create
 Sql Index||Drop
 Sql Index||
|Get|   (?)|   (?)|   (x)|   (x)|     (/)|     (x)|     (x)|   (x)|   (x)|      
(/)|      (/)|
|Get All|   (?)|   (?)|   (x)|   (x)|     (/)|     (x)|     (x)|   (x)|   (x)|  
    (/)|      (/)|
|Scan|   (?)|   (?)|   (/)|   (/)|     (/)|     (/)|     (x)|   (/)|   (/)|     
 (/)|      (/)|
|Sql Query|   (?)|   (?)|   (x)|   (x)|     (/)|     (x)|     (?)|   (/)|   
(/)|      (/)|      (/)|

Replicated cache:
|| ||Start
 Client||Stop
 Client||Start
 Server||Stop
 Server||Start
 Baseline||Stop
 Baseline||Add
 Baseline||Start
 Cache||Stop
 Cache||Create
 Sql Index||Drop
 Sql Index||
|Get|   (?)|   (?)|   (x)|   (x)|     (/)|     (x)|     (x)|   (x)|   (x)|      
(/)|      (/)|
|Get All|   (?)|   (?)|   (x)|   (x)|     (/)|     (x)|     (x)|   (x)|   (x)|  
    (/)|      (/)|
|Scan|   (?)|   (?)|   (/)|   (/)|     (/)|     (/)|     (x)|   (/)|   (/)|     
 (/)|      (/)|
|Sql Query|   (?)|   (?)|   (/)|   (/)|     (/)|     (?)|     (/)|   (/)|   
(/)|      (/)|      (/)|

 

  was:
In current implementation there might be situations where reading operation 
waits, for example, exchange of client join event. Such events should not block 
read operations.

In theory - the only operation that has to block reading (except for writing) 
is "node left" for server (or baseline server in case of persistent setup).

Table shows current state of blocking, covered by test in this ticket:

 

Partitioned cache:
|| ||Start
 Client||Stop
 Client||Start
 Server||Stop
 Server||Start
 Baseline||Stop
 Baseline||Add
 Baseline||Start
 Cache||Stop
 Cache||Create
 Sql Index||Drop
 Sql Index||
|Get|   (/)|   (?)|   (x)|   (x)|     (x)|     (x)|     (/)|   (x)|   (x)|      
(/)|      (/)|
|Get All|   (/)|   (?)|   (x)|   (x)|     (x)|     (x)|     (/)|   (x)|   (x)|  
    (/)|      (/)|
|Scan|   (/)|   (?)|   (/)|   (/)|     (/)|     (/)|     (/)|   (/)|   (/)|     
 (/)|      (/)|
|Sql Query|   (/)|   (?)|   (x)|   (x)|     (/)|     (x)|     (?)|   (/)|   
(/)|      (/)|      (/)|

Replicated cache:
|| ||Start
 Client||Stop
 Client||Start
 Server||Stop
 Server||Start
 Baseline||Stop
 Baseline||Add
 Baseline||Start
 Cache||Stop
 Cache||Create
 Sql Index||Drop
 Sql Index||
|Get|   (/)|   (?)|   (x)|   (x)|     (x)|     (x)|     (/)|   (x)|   (x)|      
(/)|      (/)|
|Get All|   (/)|   (?)|   (x)|   (x)|     (x)|     (x)|     (/)|   (x)|   (x)|  
    (/)|      (/)|
|Scan|   (/)|   (?)|   (/)|   (/)|     (/)|     (/)|     (/)|   (/)|   (/)|     
 (/)|      (/)|
|Sql Query|   (/)|   (?)|   (/)|   (/)|     (/)|     (?)|     (/)|   (/)|   
(/)|      (/)|      (/)|

 


> Add tests to check that reading queries are not blocked on exchange events 
> that don't change data visibility
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-9694
>                 URL: https://issues.apache.org/jira/browse/IGNITE-9694
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Ivan Bessonov
>            Assignee: Ivan Bessonov
>            Priority: Major
>             Fix For: 2.8
>
>
> In current implementation there might be situations where reading operation 
> waits, for example, exchange of client join event. Such events should not 
> block read operations.
> In theory - the only operation that has to block reading (except for writing) 
> is "node left" for server (or baseline server in case of persistent setup).
> Table shows current state of blocking, covered by test in this ticket:
>  
> Partitioned cache:
> || ||Start
>  Client||Stop
>  Client||Start
>  Server||Stop
>  Server||Start
>  Baseline||Stop
>  Baseline||Add
>  Baseline||Start
>  Cache||Stop
>  Cache||Create
>  Sql Index||Drop
>  Sql Index||
> |Get|   (?)|   (?)|   (x)|   (x)|     (/)|     (x)|     (x)|   (x)|   (x)|    
>   (/)|      (/)|
> |Get All|   (?)|   (?)|   (x)|   (x)|     (/)|     (x)|     (x)|   (x)|   
> (x)|      (/)|      (/)|
> |Scan|   (?)|   (?)|   (/)|   (/)|     (/)|     (/)|     (x)|   (/)|   (/)|   
>    (/)|      (/)|
> |Sql Query|   (?)|   (?)|   (x)|   (x)|     (/)|     (x)|     (?)|   (/)|   
> (/)|      (/)|      (/)|
> Replicated cache:
> || ||Start
>  Client||Stop
>  Client||Start
>  Server||Stop
>  Server||Start
>  Baseline||Stop
>  Baseline||Add
>  Baseline||Start
>  Cache||Stop
>  Cache||Create
>  Sql Index||Drop
>  Sql Index||
> |Get|   (?)|   (?)|   (x)|   (x)|     (/)|     (x)|     (x)|   (x)|   (x)|    
>   (/)|      (/)|
> |Get All|   (?)|   (?)|   (x)|   (x)|     (/)|     (x)|     (x)|   (x)|   
> (x)|      (/)|      (/)|
> |Scan|   (?)|   (?)|   (/)|   (/)|     (/)|     (/)|     (x)|   (/)|   (/)|   
>    (/)|      (/)|
> |Sql Query|   (?)|   (?)|   (/)|   (/)|     (/)|     (?)|     (/)|   (/)|   
> (/)|      (/)|      (/)|
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to