[
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)