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

Roman Puchkovskiy updated IGNITE-19227:
---------------------------------------
    Description: 
According to 
[https://cwiki.apache.org/confluence/display/IGNITE/IEP-98%3A+Schema+Synchronization#IEP98:SchemaSynchronization-Waitingforsafetimeinthepast]
 , we might need to wait for schema availability when fetching a schema. If 
such waits happen inside a PartitionListener, JRaft threads might be blocked 
for a noticeable amount of time (maybe even seconds). We should avoid this.

For RW transactions, we can fetch the schema needed by the operation on the 
primary replica before submitting a RAFT command to RAFT, so that the possible 
wait happen in a user's thread.

For RO transactions, this is not a problem because we don't use RAFT for RO 
transactions.

> Wait for schema awailability out of JRaft threads
> -------------------------------------------------
>
>                 Key: IGNITE-19227
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19227
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Roman Puchkovskiy
>            Priority: Major
>              Labels: ignite-3
>
> According to 
> [https://cwiki.apache.org/confluence/display/IGNITE/IEP-98%3A+Schema+Synchronization#IEP98:SchemaSynchronization-Waitingforsafetimeinthepast]
>  , we might need to wait for schema availability when fetching a schema. If 
> such waits happen inside a PartitionListener, JRaft threads might be blocked 
> for a noticeable amount of time (maybe even seconds). We should avoid this.
> For RW transactions, we can fetch the schema needed by the operation on the 
> primary replica before submitting a RAFT command to RAFT, so that the 
> possible wait happen in a user's thread.
> For RO transactions, this is not a problem because we don't use RAFT for RO 
> transactions.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to