[jira] [Updated] (IGNITE-21325) Hold the transactional requests processing while the primary expired event processing is in progress

2024-01-22 Thread Denis Chudov (Jira)


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

Denis Chudov updated IGNITE-21325:
--
Epic Link: IGNITE-21174

> Hold the transactional requests processing while the primary expired event 
> processing is in progress
> 
>
> Key: IGNITE-21325
> URL: https://issues.apache.org/jira/browse/IGNITE-21325
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Chudov
>Priority: Major
>  Labels: ignite-3
>
> Motivation
> No processing of any transactional request should be started when the event 
> processing of PRIMARY_REPLICA_EXPIRED event is in progress. The reason is 
> that such requests may try to acquire transactional locks on the current 
> primary replica, and the locks acquired during the previous lease are 
> released by the listener of PRIMARY_REPLICA_EXPIRED event. The validity of 
> the current primary is checked in 
> {{{}PartitionReplicaListener#ensureReplicaIsPrimary{}}}.
> We must ensure that this method is called after the processing of 
> PRIMARY_REPLICA_EXPIRED event. The future returned by 
> {{PlacementDriver#previousPrimaryExpired}} can be used for this.
> Definition of done
> The processing of transactional requests for the current primary replica 
> can't be started before the processing of PRIMARY_REPLICA_EXPIRED event 
> finishes.



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


[jira] [Updated] (IGNITE-21325) Hold the transactional requests processing while the primary expired event processing is in progress

2024-01-22 Thread Denis Chudov (Jira)


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

Denis Chudov updated IGNITE-21325:
--
Description: 
Motivation

No processing of any transactional request should be started when the event 
processing of PRIMARY_REPLICA_EXPIRED event is in progress. The reason is that 
such requests may try to acquire transactional locks on the current primary 
replica, and the locks acquired during the previous lease are released by the 
listener of PRIMARY_REPLICA_EXPIRED event. The validity of the current primary 
is checked in PartitionReplicaListener#ensureReplicaIsPrimary.

We must ensure that this method is called after the processing of 
PRIMARY_REPLICA_EXPIRED event. The future returned by 
PlacementDriver#previousPrimaryExpired can be used for this.

Definition of done

The processing of transactional requests for the current primary replica can't 
be started before the processing of PRIMARY_REPLICA_EXPIRED event finishes.

  was:
*Motivation*

No processing of any transactional request should be started when the event 
processing of {{{}PRIMARY_REPLICA_EXPIRED event {{is in progress. The reason is 
that such requests may try to acquire transactional locks on the current 
primary replica, and the locks acquired during the previous lease are released 
by the listener of}} PRIMARY_REPLICA_EXPIRED event. The validity of the current 
primary is checked in PartitionReplicaListener#ensureReplicaIsPrimary{}}}.

We must ensure that this method is called after the processing of 
{{PRIMARY_REPLICA_EXPIRED event. The future returned by 
PlacementDriver#previousPrimaryExpired}} can be used for this.

*Definition of done*

The processing of transactional requests for the current primary replica can't 
be started before the processing of \{{PRIMARY_REPLICA_EXPIRED }}event finishes.


> Hold the transactional requests processing while the primary expired event 
> processing is in progress
> 
>
> Key: IGNITE-21325
> URL: https://issues.apache.org/jira/browse/IGNITE-21325
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Chudov
>Priority: Major
>  Labels: ignite-3
>
> Motivation
> No processing of any transactional request should be started when the event 
> processing of PRIMARY_REPLICA_EXPIRED event is in progress. The reason is 
> that such requests may try to acquire transactional locks on the current 
> primary replica, and the locks acquired during the previous lease are 
> released by the listener of PRIMARY_REPLICA_EXPIRED event. The validity of 
> the current primary is checked in 
> PartitionReplicaListener#ensureReplicaIsPrimary.
> We must ensure that this method is called after the processing of 
> PRIMARY_REPLICA_EXPIRED event. The future returned by 
> PlacementDriver#previousPrimaryExpired can be used for this.
> Definition of done
> The processing of transactional requests for the current primary replica 
> can't be started before the processing of PRIMARY_REPLICA_EXPIRED event 
> finishes.



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


[jira] [Updated] (IGNITE-21325) Hold the transactional requests processing while the primary expired event processing is in progress

2024-01-22 Thread Denis Chudov (Jira)


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

Denis Chudov updated IGNITE-21325:
--
Description: 
Motivation

No processing of any transactional request should be started when the event 
processing of PRIMARY_REPLICA_EXPIRED event is in progress. The reason is that 
such requests may try to acquire transactional locks on the current primary 
replica, and the locks acquired during the previous lease are released by the 
listener of PRIMARY_REPLICA_EXPIRED event. The validity of the current primary 
is checked in {{{}PartitionReplicaListener#ensureReplicaIsPrimary{}}}.

We must ensure that this method is called after the processing of 
PRIMARY_REPLICA_EXPIRED event. The future returned by 
{{PlacementDriver#previousPrimaryExpired}} can be used for this.

Definition of done

The processing of transactional requests for the current primary replica can't 
be started before the processing of PRIMARY_REPLICA_EXPIRED event finishes.

  was:
Motivation

No processing of any transactional request should be started when the event 
processing of PRIMARY_REPLICA_EXPIRED event is in progress. The reason is that 
such requests may try to acquire transactional locks on the current primary 
replica, and the locks acquired during the previous lease are released by the 
listener of PRIMARY_REPLICA_EXPIRED event. The validity of the current primary 
is checked in PartitionReplicaListener#ensureReplicaIsPrimary.

We must ensure that this method is called after the processing of 
PRIMARY_REPLICA_EXPIRED event. The future returned by 
PlacementDriver#previousPrimaryExpired can be used for this.

Definition of done

The processing of transactional requests for the current primary replica can't 
be started before the processing of PRIMARY_REPLICA_EXPIRED event finishes.


> Hold the transactional requests processing while the primary expired event 
> processing is in progress
> 
>
> Key: IGNITE-21325
> URL: https://issues.apache.org/jira/browse/IGNITE-21325
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Chudov
>Priority: Major
>  Labels: ignite-3
>
> Motivation
> No processing of any transactional request should be started when the event 
> processing of PRIMARY_REPLICA_EXPIRED event is in progress. The reason is 
> that such requests may try to acquire transactional locks on the current 
> primary replica, and the locks acquired during the previous lease are 
> released by the listener of PRIMARY_REPLICA_EXPIRED event. The validity of 
> the current primary is checked in 
> {{{}PartitionReplicaListener#ensureReplicaIsPrimary{}}}.
> We must ensure that this method is called after the processing of 
> PRIMARY_REPLICA_EXPIRED event. The future returned by 
> {{PlacementDriver#previousPrimaryExpired}} can be used for this.
> Definition of done
> The processing of transactional requests for the current primary replica 
> can't be started before the processing of PRIMARY_REPLICA_EXPIRED event 
> finishes.



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


[jira] [Updated] (IGNITE-21325) Hold the transactional requests processing while the primary expired event processing is in progress

2024-01-22 Thread Denis Chudov (Jira)


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

Denis Chudov updated IGNITE-21325:
--
Description: 
*Motivation*

No processing of any transactional request should be started when the event 
processing of {{{}PRIMARY_REPLICA_EXPIRED event {{is in progress. The reason is 
that such requests may try to acquire transactional locks on the current 
primary replica, and the locks acquired during the previous lease are released 
by the listener of}} PRIMARY_REPLICA_EXPIRED event. The validity of the current 
primary is checked in PartitionReplicaListener#ensureReplicaIsPrimary{}}}.

We must ensure that this method is called after the processing of 
{{PRIMARY_REPLICA_EXPIRED event. The future returned by 
PlacementDriver#previousPrimaryExpired}} can be used for this.

*Definition of done*

The processing of transactional requests for the current primary replica can't 
be started before the processing of \{{PRIMARY_REPLICA_EXPIRED }}event finishes.

  was:
*Motivation*

No processing of any transactional request should be started when the event 
processing of {{PRIMARY_REPLICA_EXPIRED }}event is in progress. The reason is 
that such requests may try to acquire transactional locks on the current 
primary replica, and the locks acquired during the previous lease are released 
by the listener of {{PRIMARY_REPLICA_EXPIRED }}event. The validity of the 
current primary is checked in 
{{{}PartitionReplicaListener#ensureReplicaIsPrimary{}}}.

We must ensure that this method is called after the processing of 
{{PRIMARY_REPLICA_EXPIRED }}event. The future returned by 
{{PlacementDriver#previousPrimaryExpired}} can be used for this.

*Definition of done*

The processing of transactional requests for the current primary replica can't 
be started before the processing of {{PRIMARY_REPLICA_EXPIRED }}event finishes.


> Hold the transactional requests processing while the primary expired event 
> processing is in progress
> 
>
> Key: IGNITE-21325
> URL: https://issues.apache.org/jira/browse/IGNITE-21325
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Chudov
>Priority: Major
>  Labels: ignite-3
>
> *Motivation*
> No processing of any transactional request should be started when the event 
> processing of {{{}PRIMARY_REPLICA_EXPIRED event {{is in progress. The reason 
> is that such requests may try to acquire transactional locks on the current 
> primary replica, and the locks acquired during the previous lease are 
> released by the listener of}} PRIMARY_REPLICA_EXPIRED event. The validity of 
> the current primary is checked in 
> PartitionReplicaListener#ensureReplicaIsPrimary{}}}.
> We must ensure that this method is called after the processing of 
> {{PRIMARY_REPLICA_EXPIRED event. The future returned by 
> PlacementDriver#previousPrimaryExpired}} can be used for this.
> *Definition of done*
> The processing of transactional requests for the current primary replica 
> can't be started before the processing of \{{PRIMARY_REPLICA_EXPIRED }}event 
> finishes.



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


[jira] [Updated] (IGNITE-21325) Hold the transactional requests processing while the primary expired event processing is in progress

2024-01-22 Thread Denis Chudov (Jira)


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

Denis Chudov updated IGNITE-21325:
--
Description: 
*Motivation*

No processing of any transactional request should be started when the event 
processing of {{PRIMARY_REPLICA_EXPIRED }}event is in progress. The reason is 
that such requests may try to acquire transactional locks on the current 
primary replica, and the locks acquired during the previous lease are released 
by the listener of {{PRIMARY_REPLICA_EXPIRED }}event. The validity of the 
current primary is checked in 
{{{}PartitionReplicaListener#ensureReplicaIsPrimary{}}}.

We must ensure that this method is called after the processing of 
{{PRIMARY_REPLICA_EXPIRED }}event. The future returned by 
{{PlacementDriver#previousPrimaryExpired}} can be used for this.

*Definition of done*

The processing of transactional requests for the current primary replica can't 
be started before the processing of {{PRIMARY_REPLICA_EXPIRED }}event finishes.

> Hold the transactional requests processing while the primary expired event 
> processing is in progress
> 
>
> Key: IGNITE-21325
> URL: https://issues.apache.org/jira/browse/IGNITE-21325
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Chudov
>Priority: Major
>  Labels: ignite-3
>
> *Motivation*
> No processing of any transactional request should be started when the event 
> processing of {{PRIMARY_REPLICA_EXPIRED }}event is in progress. The reason is 
> that such requests may try to acquire transactional locks on the current 
> primary replica, and the locks acquired during the previous lease are 
> released by the listener of {{PRIMARY_REPLICA_EXPIRED }}event. The validity 
> of the current primary is checked in 
> {{{}PartitionReplicaListener#ensureReplicaIsPrimary{}}}.
> We must ensure that this method is called after the processing of 
> {{PRIMARY_REPLICA_EXPIRED }}event. The future returned by 
> {{PlacementDriver#previousPrimaryExpired}} can be used for this.
> *Definition of done*
> The processing of transactional requests for the current primary replica 
> can't be started before the processing of {{PRIMARY_REPLICA_EXPIRED }}event 
> finishes.



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