[jira] [Updated] (IGNITE-10829) MVCC TX: Lazy query execution for query enlists.

2020-07-03 Thread Aleksey Plekhanov (Jira)


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

Aleksey Plekhanov updated IGNITE-10829:
---
Fix Version/s: (was: 2.9)

> MVCC TX: Lazy query execution for query enlists.
> 
>
> Key: IGNITE-10829
> URL: https://issues.apache.org/jira/browse/IGNITE-10829
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc
>Affects Versions: 2.7
>Reporter: Igor Seliverstov
>Priority: Major
>
> Running query enlist operations (GridNearTxQueryEnlistFuture) we put query 
> execution to data nodes, such execution runs a local select 
> (GridDhtTxQueryEnlistFuture), gets a cursor and executes write operation for 
> each select result row.
> The main difficult starts when we cannot execute whole operation at once (due 
> to lock conflict or backup message queue overflow). Such case we break 
> iteration and save a context (detach H2 connection for further exclusive 
> usage and save current position in cursor). There is no issue since in 
> non-lazy mode the cursor internally have a list of all needed entries and 
> doesn't hold any resources but in lazy mode we may face two issues:
> 1) Schema change in between of iteration
> 2) Possible starvation because of heavy time consuming operations in cache 
> pool, which used by default for operation continuation. 
> As soon as IGNITE-9171 is implemented, possible lazy execution is had to be 
> taken into consideration. This mean:
> 1) before braking iteration we need to release all holding shared locks on on 
> being iterated tables.
> 2) before continue iteration we need to acquire shared locks on all needed 
> tables and check the schema wasn't changed in between locks were acquired.
> 3) the operation should be continued in the same pool it was started to 
> prevent possible starvation of concurrent cache operations (See IGNITE-10597).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-10829) MVCC TX: Lazy query execution for query enlists.

2019-10-03 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov updated IGNITE-10829:
-
Fix Version/s: (was: 2.8)
   2.9

> MVCC TX: Lazy query execution for query enlists.
> 
>
> Key: IGNITE-10829
> URL: https://issues.apache.org/jira/browse/IGNITE-10829
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc
>Affects Versions: 2.7
>Reporter: Igor Seliverstov
>Priority: Major
> Fix For: 2.9
>
>
> Running query enlist operations (GridNearTxQueryEnlistFuture) we put query 
> execution to data nodes, such execution runs a local select 
> (GridDhtTxQueryEnlistFuture), gets a cursor and executes write operation for 
> each select result row.
> The main difficult starts when we cannot execute whole operation at once (due 
> to lock conflict or backup message queue overflow). Such case we break 
> iteration and save a context (detach H2 connection for further exclusive 
> usage and save current position in cursor). There is no issue since in 
> non-lazy mode the cursor internally have a list of all needed entries and 
> doesn't hold any resources but in lazy mode we may face two issues:
> 1) Schema change in between of iteration
> 2) Possible starvation because of heavy time consuming operations in cache 
> pool, which used by default for operation continuation. 
> As soon as IGNITE-9171 is implemented, possible lazy execution is had to be 
> taken into consideration. This mean:
> 1) before braking iteration we need to release all holding shared locks on on 
> being iterated tables.
> 2) before continue iteration we need to acquire shared locks on all needed 
> tables and check the schema wasn't changed in between locks were acquired.
> 3) the operation should be continued in the same pool it was started to 
> prevent possible starvation of concurrent cache operations (See IGNITE-10597).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-10829) MVCC TX: Lazy query execution for query enlists.

2019-03-11 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-10829:
-
Ignite Flags:   (was: Docs Required)

> MVCC TX: Lazy query execution for query enlists.
> 
>
> Key: IGNITE-10829
> URL: https://issues.apache.org/jira/browse/IGNITE-10829
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc
>Affects Versions: 2.7
>Reporter: Igor Seliverstov
>Priority: Major
> Fix For: 2.8
>
>
> Running query enlist operations (GridNearTxQueryEnlistFuture) we put query 
> execution to data nodes, such execution runs a local select 
> (GridDhtTxQueryEnlistFuture), gets a cursor and executes write operation for 
> each select result row.
> The main difficult starts when we cannot execute whole operation at once (due 
> to lock conflict or backup message queue overflow). Such case we break 
> iteration and save a context (detach H2 connection for further exclusive 
> usage and save current position in cursor). There is no issue since in 
> non-lazy mode the cursor internally have a list of all needed entries and 
> doesn't hold any resources but in lazy mode we may face two issues:
> 1) Schema change in between of iteration
> 2) Possible starvation because of heavy time consuming operations in cache 
> pool, which used by default for operation continuation. 
> As soon as IGNITE-9171 is implemented, possible lazy execution is had to be 
> taken into consideration. This mean:
> 1) before braking iteration we need to release all holding shared locks on on 
> being iterated tables.
> 2) before continue iteration we need to acquire shared locks on all needed 
> tables and check the schema wasn't changed in between locks were acquired.
> 3) the operation should be continued in the same pool it was started to 
> prevent possible starvation of concurrent cache operations (See IGNITE-10597).



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


[jira] [Updated] (IGNITE-10829) MVCC TX: Lazy query execution for query enlists.

2019-03-11 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-10829:
-
Issue Type: Task  (was: Improvement)

> MVCC TX: Lazy query execution for query enlists.
> 
>
> Key: IGNITE-10829
> URL: https://issues.apache.org/jira/browse/IGNITE-10829
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc
>Affects Versions: 2.7
>Reporter: Igor Seliverstov
>Priority: Major
> Fix For: 2.8
>
>
> Running query enlist operations (GridNearTxQueryEnlistFuture) we put query 
> execution to data nodes, such execution runs a local select 
> (GridDhtTxQueryEnlistFuture), gets a cursor and executes write operation for 
> each select result row.
> The main difficult starts when we cannot execute whole operation at once (due 
> to lock conflict or backup message queue overflow). Such case we break 
> iteration and save a context (detach H2 connection for further exclusive 
> usage and save current position in cursor). There is no issue since in 
> non-lazy mode the cursor internally have a list of all needed entries and 
> doesn't hold any resources but in lazy mode we may face two issues:
> 1) Schema change in between of iteration
> 2) Possible starvation because of heavy time consuming operations in cache 
> pool, which used by default for operation continuation. 
> As soon as IGNITE-9171 is implemented, possible lazy execution is had to be 
> taken into consideration. This mean:
> 1) before braking iteration we need to release all holding shared locks on on 
> being iterated tables.
> 2) before continue iteration we need to acquire shared locks on all needed 
> tables and check the schema wasn't changed in between locks were acquired.
> 3) the operation should be continued in the same pool it was started to 
> prevent possible starvation of concurrent cache operations (See IGNITE-10597).



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


[jira] [Updated] (IGNITE-10829) MVCC TX: Lazy query execution for query enlists.

2019-02-27 Thread Igor Seliverstov (JIRA)


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

Igor Seliverstov updated IGNITE-10829:
--
Description: 
Running query enlist operations (GridNearTxQueryEnlistFuture) we put query 
execution to data nodes, such execution runs a local select 
(GridDhtTxQueryEnlistFuture), gets a cursor and executes write operation for 
each select result row.

The main difficult starts when we cannot execute whole operation at once (due 
to lock conflict or backup message queue overflow). Such case we break 
iteration and save a context (detach H2 connection for further exclusive usage 
and save current position in cursor). There is no issue since in non-lazy mode 
the cursor internally have a list of all needed entries and doesn't hold any 
resources but in lazy mode we may face two issues:
1) Schema change in between of iteration
2) Possible starvation because of heavy time consuming operations in cache 
pool, which used by default for operation continuation. 

As soon as IGNITE-9171 is implemented, possible lazy execution is had to be 
taken into consideration. This mean:

1) before braking iteration we need to release all holding shared locks on on 
being iterated tables.
2) before continue iteration we need to acquire shared locks on all needed 
tables and check the schema wasn't changed in between locks were acquired.
3) the operation should be continued in the same pool it was started to prevent 
possible starvation of concurrent cache operations (See IGNITE-10597).

  was:
Running query enlist operations (GridNearTxQueryEnlistFuture) we put query 
execution to data nodes, such execution runs a local select 
(GridDhtTxQueryEnlistFuture), gets a cursor and executes write operation for 
each select result row.

The main difficult starts when we cannot execute whole operation at once (due 
to lock conflict or backup message queue overflow). Such case we break 
iteration and save a context (detach H2 connection for further exclusive usage 
and save current position in cursor). There is no issue since in non-lazy mode 
the cursor internally have a list of all needed entries and doesn't hold any 
resources but in lazy mode we may face two issues:
1) Schema change in between of iteration
2) Possible starvation because of heavy time consuming operations in cache 
pool, which used by default for operation continuation. 

As soon as IGNITE-9171 is implemented, possible lazy execution is had to be 
taken into consideration. This mean:

1) before braking iteration we need to release all holding shared locks on on 
being iterated tables.
2) before continue iteration we need to acquire shared locks on all needed 
tables and check the schema wasn't changed in between locks were acquired.
3) the operation should be continued in the same pool it was started to prevent 
possible starvation of concurrent cache operations.


> MVCC TX: Lazy query execution for query enlists.
> 
>
> Key: IGNITE-10829
> URL: https://issues.apache.org/jira/browse/IGNITE-10829
> Project: Ignite
>  Issue Type: Improvement
>  Components: mvcc
>Affects Versions: 2.7
>Reporter: Igor Seliverstov
>Priority: Major
> Fix For: 2.8
>
>
> Running query enlist operations (GridNearTxQueryEnlistFuture) we put query 
> execution to data nodes, such execution runs a local select 
> (GridDhtTxQueryEnlistFuture), gets a cursor and executes write operation for 
> each select result row.
> The main difficult starts when we cannot execute whole operation at once (due 
> to lock conflict or backup message queue overflow). Such case we break 
> iteration and save a context (detach H2 connection for further exclusive 
> usage and save current position in cursor). There is no issue since in 
> non-lazy mode the cursor internally have a list of all needed entries and 
> doesn't hold any resources but in lazy mode we may face two issues:
> 1) Schema change in between of iteration
> 2) Possible starvation because of heavy time consuming operations in cache 
> pool, which used by default for operation continuation. 
> As soon as IGNITE-9171 is implemented, possible lazy execution is had to be 
> taken into consideration. This mean:
> 1) before braking iteration we need to release all holding shared locks on on 
> being iterated tables.
> 2) before continue iteration we need to acquire shared locks on all needed 
> tables and check the schema wasn't changed in between locks were acquired.
> 3) the operation should be continued in the same pool it was started to 
> prevent possible starvation of concurrent cache operations (See IGNITE-10597).



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


[jira] [Updated] (IGNITE-10829) MVCC TX: Lazy query execution for query enlists.

2018-12-27 Thread Igor Seliverstov (JIRA)


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

Igor Seliverstov updated IGNITE-10829:
--
Description: 
Running query enlist operations (GridNearTxQueryEnlistFuture) we put query 
execution to data nodes, such execution runs a local select 
(GridDhtTxQueryEnlistFuture), gets a cursor and executes write operation for 
each select result row.

The main difficult starts when we cannot execute whole operation at once (due 
to lock conflict or backup message queue overflow). Such case we break 
iteration and save a context (detach H2 connection for further exclusive usage 
and save current position in cursor). There is no issue since in non-lazy mode 
the cursor internally have a list of all needed entries and doesn't hold any 
resources but in lazy mode we may face two issues:
1) Schema change in between of iteration
2) Possible starvation because of heavy time consuming operations in cache 
pool, which used by default for operation continuation. 

As soon as IGNITE-9171 is implemented, possible lazy execution is had to be 
taken into consideration. This mean:

1) before braking iteration we need to release all holding shared locks on on 
being iterated tables.
2) before continue iteration we need to acquire shared locks on all needed 
tables and check the schema wasn't changed in between locks were acquired.
3) the operation should be continued in the same pool it was started to prevent 
possible starvation of concurrent cache operations.

  was:Implement lazy query execution using semantic goes from IGNITE-9171.


> MVCC TX: Lazy query execution for query enlists.
> 
>
> Key: IGNITE-10829
> URL: https://issues.apache.org/jira/browse/IGNITE-10829
> Project: Ignite
>  Issue Type: Improvement
>  Components: mvcc
>Affects Versions: 2.7
>Reporter: Igor Seliverstov
>Priority: Major
> Fix For: 2.8
>
>
> Running query enlist operations (GridNearTxQueryEnlistFuture) we put query 
> execution to data nodes, such execution runs a local select 
> (GridDhtTxQueryEnlistFuture), gets a cursor and executes write operation for 
> each select result row.
> The main difficult starts when we cannot execute whole operation at once (due 
> to lock conflict or backup message queue overflow). Such case we break 
> iteration and save a context (detach H2 connection for further exclusive 
> usage and save current position in cursor). There is no issue since in 
> non-lazy mode the cursor internally have a list of all needed entries and 
> doesn't hold any resources but in lazy mode we may face two issues:
> 1) Schema change in between of iteration
> 2) Possible starvation because of heavy time consuming operations in cache 
> pool, which used by default for operation continuation. 
> As soon as IGNITE-9171 is implemented, possible lazy execution is had to be 
> taken into consideration. This mean:
> 1) before braking iteration we need to release all holding shared locks on on 
> being iterated tables.
> 2) before continue iteration we need to acquire shared locks on all needed 
> tables and check the schema wasn't changed in between locks were acquired.
> 3) the operation should be continued in the same pool it was started to 
> prevent possible starvation of concurrent cache operations.



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