[jira] [Commented] (IGNITE-10052) Restart node during TX causes vacuum error.

2018-11-12 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16684820#comment-16684820
 ] 

ASF GitHub Bot commented on IGNITE-10052:
-

Github user asfgit closed the pull request at:

https://github.com/apache/ignite/pull/5345


> Restart node during TX causes vacuum error.
> ---
>
> Key: IGNITE-10052
> URL: https://issues.apache.org/jira/browse/IGNITE-10052
> Project: Ignite
>  Issue Type: Bug
>  Components: mvcc
>Affects Versions: 2.7
>Reporter: Sergey Kozlov
>Assignee: Andrew Mashenkov
>Priority: Blocker
> Fix For: 2.7
>
>
> 1. Start 2 nodes with PDS, activate , start {{sqlline}}
> 2. Create table
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> create table t1 (a int, b int, primary 
> key(a)) with "atomicity=TRANSACTIONAL_SNAPSHOT,
> backups=1";
> No rows affected (0,294 seconds)
> {noformat}
> 3. Open TX:
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> begin;
> No rows affected (0,007 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> insert into t1 values (1,1);
> 1 row affected (0,112 seconds)
> {noformat}
> 4. Stop and then start 2nd node
> 5. Rollback TX and check the table data (no rows added):
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> rollback;
> No rows affected (0,011 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> select * from t1;
> +++
> |   A|   B|
> +++
> +++
> No rows selected (0,067 seconds)
> {noformat}
> 6. Start second TX that throws the exception:
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> begin;
> No rows affected (0,001 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> insert into t1 values (1,1);
> Error: Failed to run update. Runtime failure on bounds: 
> [lower=MvccMaxSearchRow [], upper=MvccMinSearchRow []] (state=50
> 000,code=1)
> java.sql.SQLException: Failed to run update. Runtime failure on bounds: 
> [lower=MvccMaxSearchRow [], upper=MvccMinSearchR
> ow []]
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:750)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:212)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:475)
> at sqlline.Commands.execute(Commands.java:823)
> at sqlline.Commands.sql(Commands.java:733)
> at sqlline.SqlLine.dispatch(SqlLine.java:795)
> at sqlline.SqlLine.begin(SqlLine.java:668)
> at sqlline.SqlLine.start(SqlLine.java:373)
> at sqlline.SqlLine.main(SqlLine.java:265)
> 0: jdbc:ignite:thin://127.0.0.1/>
> {noformat}
> The server nodes print out:
> {noformat}
> [18:46:32,136][SEVERE][jdbc-request-handler-worker-#62][DmlStatementsProcessor]
>  Error during update [localNodeId=319a2fda-1315-4bdf-8647-7ddee2d3342e]
> class org.apache.ignite.IgniteCheckedException: Runtime failure on bounds: 
> [lower=MvccMaxSearchRow [], upper=MvccMinSearchRow []]
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.visit(BPlusTree.java:1061)
>   at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.mvccUpdate(IgniteCacheOffheapManagerImpl.java:1919)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.mvccUpdate(GridCacheOffheapManager.java:1840)
>   at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.mvccUpdate(IgniteCacheOffheapManagerImpl.java:530)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.mvccSet(GridCacheMapEntry.java:1104)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxAbstractEnlistFuture.continueLoop(GridDhtTxAbstractEnlistFuture.java:460)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxAbstractEnlistFuture.init(GridDhtTxAbstractEnlistFuture.java:368)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.processNearTxQueryResultsEnlistRequest(GridDhtTransactionalCacheAdapter.java:2000)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.access$700(GridDhtTransactionalCacheAdapter.java:112)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter$12.apply(GridDhtTransactionalCacheAdapter.java:215)
>   at 
> 

[jira] [Commented] (IGNITE-10052) Restart node during TX causes vacuum error.

2018-11-12 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16684821#comment-16684821
 ] 

ASF GitHub Bot commented on IGNITE-10052:
-

Github user asfgit closed the pull request at:

https://github.com/apache/ignite/pull/5245


> Restart node during TX causes vacuum error.
> ---
>
> Key: IGNITE-10052
> URL: https://issues.apache.org/jira/browse/IGNITE-10052
> Project: Ignite
>  Issue Type: Bug
>  Components: mvcc
>Affects Versions: 2.7
>Reporter: Sergey Kozlov
>Assignee: Andrew Mashenkov
>Priority: Blocker
> Fix For: 2.7
>
>
> 1. Start 2 nodes with PDS, activate , start {{sqlline}}
> 2. Create table
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> create table t1 (a int, b int, primary 
> key(a)) with "atomicity=TRANSACTIONAL_SNAPSHOT,
> backups=1";
> No rows affected (0,294 seconds)
> {noformat}
> 3. Open TX:
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> begin;
> No rows affected (0,007 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> insert into t1 values (1,1);
> 1 row affected (0,112 seconds)
> {noformat}
> 4. Stop and then start 2nd node
> 5. Rollback TX and check the table data (no rows added):
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> rollback;
> No rows affected (0,011 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> select * from t1;
> +++
> |   A|   B|
> +++
> +++
> No rows selected (0,067 seconds)
> {noformat}
> 6. Start second TX that throws the exception:
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> begin;
> No rows affected (0,001 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> insert into t1 values (1,1);
> Error: Failed to run update. Runtime failure on bounds: 
> [lower=MvccMaxSearchRow [], upper=MvccMinSearchRow []] (state=50
> 000,code=1)
> java.sql.SQLException: Failed to run update. Runtime failure on bounds: 
> [lower=MvccMaxSearchRow [], upper=MvccMinSearchR
> ow []]
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:750)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:212)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:475)
> at sqlline.Commands.execute(Commands.java:823)
> at sqlline.Commands.sql(Commands.java:733)
> at sqlline.SqlLine.dispatch(SqlLine.java:795)
> at sqlline.SqlLine.begin(SqlLine.java:668)
> at sqlline.SqlLine.start(SqlLine.java:373)
> at sqlline.SqlLine.main(SqlLine.java:265)
> 0: jdbc:ignite:thin://127.0.0.1/>
> {noformat}
> The server nodes print out:
> {noformat}
> [18:46:32,136][SEVERE][jdbc-request-handler-worker-#62][DmlStatementsProcessor]
>  Error during update [localNodeId=319a2fda-1315-4bdf-8647-7ddee2d3342e]
> class org.apache.ignite.IgniteCheckedException: Runtime failure on bounds: 
> [lower=MvccMaxSearchRow [], upper=MvccMinSearchRow []]
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.visit(BPlusTree.java:1061)
>   at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.mvccUpdate(IgniteCacheOffheapManagerImpl.java:1919)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.mvccUpdate(GridCacheOffheapManager.java:1840)
>   at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.mvccUpdate(IgniteCacheOffheapManagerImpl.java:530)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.mvccSet(GridCacheMapEntry.java:1104)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxAbstractEnlistFuture.continueLoop(GridDhtTxAbstractEnlistFuture.java:460)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxAbstractEnlistFuture.init(GridDhtTxAbstractEnlistFuture.java:368)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.processNearTxQueryResultsEnlistRequest(GridDhtTransactionalCacheAdapter.java:2000)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.access$700(GridDhtTransactionalCacheAdapter.java:112)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter$12.apply(GridDhtTransactionalCacheAdapter.java:215)
>   at 
> 

[jira] [Commented] (IGNITE-10052) Restart node during TX causes vacuum error.

2018-11-09 Thread Andrew Mashenkov (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681318#comment-16681318
 ] 

Andrew Mashenkov commented on IGNITE-10052:
---

[~Artukhov], thanks for feedback.

This error is not related to PDS broken state or any vacuum issues.

For now, Tx operation can fails due to primary\backup node failure. 
This should be fixed within IGNITE-9928 and partially in IGNITE-7164.

> Restart node during TX causes vacuum error.
> ---
>
> Key: IGNITE-10052
> URL: https://issues.apache.org/jira/browse/IGNITE-10052
> Project: Ignite
>  Issue Type: Bug
>  Components: mvcc
>Affects Versions: 2.7
>Reporter: Sergey Kozlov
>Assignee: Andrew Mashenkov
>Priority: Blocker
> Fix For: 2.7
>
>
> 1. Start 2 nodes with PDS, activate , start {{sqlline}}
> 2. Create table
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> create table t1 (a int, b int, primary 
> key(a)) with "atomicity=TRANSACTIONAL_SNAPSHOT,
> backups=1";
> No rows affected (0,294 seconds)
> {noformat}
> 3. Open TX:
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> begin;
> No rows affected (0,007 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> insert into t1 values (1,1);
> 1 row affected (0,112 seconds)
> {noformat}
> 4. Stop and then start 2nd node
> 5. Rollback TX and check the table data (no rows added):
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> rollback;
> No rows affected (0,011 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> select * from t1;
> +++
> |   A|   B|
> +++
> +++
> No rows selected (0,067 seconds)
> {noformat}
> 6. Start second TX that throws the exception:
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> begin;
> No rows affected (0,001 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> insert into t1 values (1,1);
> Error: Failed to run update. Runtime failure on bounds: 
> [lower=MvccMaxSearchRow [], upper=MvccMinSearchRow []] (state=50
> 000,code=1)
> java.sql.SQLException: Failed to run update. Runtime failure on bounds: 
> [lower=MvccMaxSearchRow [], upper=MvccMinSearchR
> ow []]
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:750)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:212)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:475)
> at sqlline.Commands.execute(Commands.java:823)
> at sqlline.Commands.sql(Commands.java:733)
> at sqlline.SqlLine.dispatch(SqlLine.java:795)
> at sqlline.SqlLine.begin(SqlLine.java:668)
> at sqlline.SqlLine.start(SqlLine.java:373)
> at sqlline.SqlLine.main(SqlLine.java:265)
> 0: jdbc:ignite:thin://127.0.0.1/>
> {noformat}
> The server nodes print out:
> {noformat}
> [18:46:32,136][SEVERE][jdbc-request-handler-worker-#62][DmlStatementsProcessor]
>  Error during update [localNodeId=319a2fda-1315-4bdf-8647-7ddee2d3342e]
> class org.apache.ignite.IgniteCheckedException: Runtime failure on bounds: 
> [lower=MvccMaxSearchRow [], upper=MvccMinSearchRow []]
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.visit(BPlusTree.java:1061)
>   at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.mvccUpdate(IgniteCacheOffheapManagerImpl.java:1919)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.mvccUpdate(GridCacheOffheapManager.java:1840)
>   at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.mvccUpdate(IgniteCacheOffheapManagerImpl.java:530)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.mvccSet(GridCacheMapEntry.java:1104)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxAbstractEnlistFuture.continueLoop(GridDhtTxAbstractEnlistFuture.java:460)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxAbstractEnlistFuture.init(GridDhtTxAbstractEnlistFuture.java:368)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.processNearTxQueryResultsEnlistRequest(GridDhtTransactionalCacheAdapter.java:2000)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.access$700(GridDhtTransactionalCacheAdapter.java:112)
>   at 
> 

[jira] [Commented] (IGNITE-10052) Restart node during TX causes vacuum error.

2018-11-09 Thread Ivan Artukhov (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681309#comment-16681309
 ] 

Ivan Artukhov commented on IGNITE-10052:


The latter problem seems to be the cause of 
https://issues.apache.org/jira/browse/IGNITE-9928.

> Restart node during TX causes vacuum error.
> ---
>
> Key: IGNITE-10052
> URL: https://issues.apache.org/jira/browse/IGNITE-10052
> Project: Ignite
>  Issue Type: Bug
>  Components: mvcc
>Affects Versions: 2.7
>Reporter: Sergey Kozlov
>Assignee: Andrew Mashenkov
>Priority: Blocker
> Fix For: 2.7
>
>
> 1. Start 2 nodes with PDS, activate , start {{sqlline}}
> 2. Create table
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> create table t1 (a int, b int, primary 
> key(a)) with "atomicity=TRANSACTIONAL_SNAPSHOT,
> backups=1";
> No rows affected (0,294 seconds)
> {noformat}
> 3. Open TX:
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> begin;
> No rows affected (0,007 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> insert into t1 values (1,1);
> 1 row affected (0,112 seconds)
> {noformat}
> 4. Stop and then start 2nd node
> 5. Rollback TX and check the table data (no rows added):
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> rollback;
> No rows affected (0,011 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> select * from t1;
> +++
> |   A|   B|
> +++
> +++
> No rows selected (0,067 seconds)
> {noformat}
> 6. Start second TX that throws the exception:
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> begin;
> No rows affected (0,001 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> insert into t1 values (1,1);
> Error: Failed to run update. Runtime failure on bounds: 
> [lower=MvccMaxSearchRow [], upper=MvccMinSearchRow []] (state=50
> 000,code=1)
> java.sql.SQLException: Failed to run update. Runtime failure on bounds: 
> [lower=MvccMaxSearchRow [], upper=MvccMinSearchR
> ow []]
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:750)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:212)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:475)
> at sqlline.Commands.execute(Commands.java:823)
> at sqlline.Commands.sql(Commands.java:733)
> at sqlline.SqlLine.dispatch(SqlLine.java:795)
> at sqlline.SqlLine.begin(SqlLine.java:668)
> at sqlline.SqlLine.start(SqlLine.java:373)
> at sqlline.SqlLine.main(SqlLine.java:265)
> 0: jdbc:ignite:thin://127.0.0.1/>
> {noformat}
> The server nodes print out:
> {noformat}
> [18:46:32,136][SEVERE][jdbc-request-handler-worker-#62][DmlStatementsProcessor]
>  Error during update [localNodeId=319a2fda-1315-4bdf-8647-7ddee2d3342e]
> class org.apache.ignite.IgniteCheckedException: Runtime failure on bounds: 
> [lower=MvccMaxSearchRow [], upper=MvccMinSearchRow []]
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.visit(BPlusTree.java:1061)
>   at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.mvccUpdate(IgniteCacheOffheapManagerImpl.java:1919)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.mvccUpdate(GridCacheOffheapManager.java:1840)
>   at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.mvccUpdate(IgniteCacheOffheapManagerImpl.java:530)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.mvccSet(GridCacheMapEntry.java:1104)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxAbstractEnlistFuture.continueLoop(GridDhtTxAbstractEnlistFuture.java:460)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxAbstractEnlistFuture.init(GridDhtTxAbstractEnlistFuture.java:368)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.processNearTxQueryResultsEnlistRequest(GridDhtTransactionalCacheAdapter.java:2000)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.access$700(GridDhtTransactionalCacheAdapter.java:112)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter$12.apply(GridDhtTransactionalCacheAdapter.java:215)
>   at 
> 

[jira] [Commented] (IGNITE-10052) Restart node during TX causes vacuum error.

2018-11-09 Thread Ivan Artukhov (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681287#comment-16681287
 ] 

Ivan Artukhov commented on IGNITE-10052:


Commit b2f697b shows another error when I go through the steps from description.

Error on client's side:
{code}
0: jdbc:ignite:thin://127.0.0.1/> insert into t1 values (1,1);
Error: Failed to run update. Failed to update backup node: 
[localNodeId=a80dc9b8-6a28-4015-a288-0436e2916f98, 
remoteNodeId=56dadffc-0d9a-4c42-8d3b-55266e093fc8] (state=5,code=1)
{code}

On server's side:
{code}
[14:08:44,202][SEVERE][jdbc-request-handler-worker-#48][DmlStatementsProcessor] 
Error during update [localNodeId=a80dc9b8-6a28-4015-a288-0436e2916f98]
class org.apache.ignite.IgniteCheckedException: Failed to update backup node: 
[localNodeId=a80dc9b8-6a28-4015-a288-0436e2916f98, 
remoteNodeId=56dadffc-0d9a-4c42-8d3b-55266e093fc8]
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxAbstractEnlistFuture.onResult(GridDhtTxAbstractEnlistFuture.java:987)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.processDhtTxQueryEnlistResponse(GridDhtTransactionalCacheAdapter.java:2342)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.access$1200(GridDhtTransactionalCacheAdapter.java:112)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter$18.apply(GridDhtTransactionalCacheAdapter.java:257)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter$18.apply(GridDhtTransactionalCacheAdapter.java:255)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1056)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:581)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:380)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:306)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:101)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:295)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1569)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1197)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:127)
at 
org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1093)
at 
org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:505)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
at java.lang.Thread.run(Thread.java:748)
Caused by: class org.apache.ignite.IgniteCheckedException: Runtime failure on 
bounds: [lower=MvccMaxSearchRow [], upper=MvccMinSearchRow []]
at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.visit(BPlusTree.java:1061)
at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.mvccUpdate(IgniteCacheOffheapManagerImpl.java:1939)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.mvccUpdate(GridCacheOffheapManager.java:1840)
at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.mvccUpdate(IgniteCacheOffheapManagerImpl.java:532)
at 
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.mvccSet(GridCacheMapEntry.java:1104)
at 
org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.mvccEnlistBatch(IgniteTxHandler.java:1920)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.processDhtTxQueryEnlistRequest(GridDhtTransactionalCacheAdapter.java:2305)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.access$1100(GridDhtTransactionalCacheAdapter.java:112)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter$17.apply(GridDhtTransactionalCacheAdapter.java:250)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter$17.apply(GridDhtTransactionalCacheAdapter.java:248)
... 13 more
{code}

*a80dc9b8-6a28-4015-a288-0436e2916f98* is the ID of the first server node. 
*56dadffc-0d9a-4c42-8d3b-55266e093fc8* is the ID of the second (restarted) 
server node.

> Restart node during TX causes 

[jira] [Commented] (IGNITE-10052) Restart node during TX causes vacuum error.

2018-11-08 Thread Ignite TC Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679705#comment-16679705
 ] 

Ignite TC Bot commented on IGNITE-10052:


{panel:title=Possible 
Blockers|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}Queries 1{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=2267311]]
* IgniteBinaryCacheQueryTestSuite: 
IgniteSqlSplitterSelfTest.testReplicatedTablesUsingPartitionedCacheSegmentedClient
 - 0,0% fails in last 100 master runs.

{color:#d04437}Basic 1{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=2267256]]
* IgniteBasicTestSuite: 
MarshallerContextLockingSelfTest.testMultithreadedUpdate - 0,0% fails in last 
100 master runs.

{color:#d04437}Data Structures{color} [[tests 
2|https://ci.ignite.apache.org/viewLog.html?buildId=2267291]]
* IgniteCacheDataStructuresSelfTestSuite: 
GridCachePartitionedDataStructuresFailoverSelfTest.testAtomicStampedConstantMultipleTopologyChange
 - 0,0% fails in last 100 master runs.

{panel}
[TeamCity Run All 
Results|http://ci.ignite.apache.org/viewLog.html?buildId=2267318buildTypeId=IgniteTests24Java8_RunAll]

> Restart node during TX causes vacuum error.
> ---
>
> Key: IGNITE-10052
> URL: https://issues.apache.org/jira/browse/IGNITE-10052
> Project: Ignite
>  Issue Type: Bug
>  Components: mvcc
>Affects Versions: 2.7
>Reporter: Sergey Kozlov
>Assignee: Andrew Mashenkov
>Priority: Blocker
> Fix For: 2.7
>
>
> 1. Start 2 nodes with PDS, activate , start {{sqlline}}
> 2. Create table
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> create table t1 (a int, b int, primary 
> key(a)) with "atomicity=TRANSACTIONAL_SNAPSHOT,
> backups=1";
> No rows affected (0,294 seconds)
> {noformat}
> 3. Open TX:
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> begin;
> No rows affected (0,007 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> insert into t1 values (1,1);
> 1 row affected (0,112 seconds)
> {noformat}
> 4. Stop and then start 2nd node
> 5. Rollback TX and check the table data (no rows added):
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> rollback;
> No rows affected (0,011 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> select * from t1;
> +++
> |   A|   B|
> +++
> +++
> No rows selected (0,067 seconds)
> {noformat}
> 6. Start second TX that throws the exception:
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> begin;
> No rows affected (0,001 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> insert into t1 values (1,1);
> Error: Failed to run update. Runtime failure on bounds: 
> [lower=MvccMaxSearchRow [], upper=MvccMinSearchRow []] (state=50
> 000,code=1)
> java.sql.SQLException: Failed to run update. Runtime failure on bounds: 
> [lower=MvccMaxSearchRow [], upper=MvccMinSearchR
> ow []]
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:750)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:212)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:475)
> at sqlline.Commands.execute(Commands.java:823)
> at sqlline.Commands.sql(Commands.java:733)
> at sqlline.SqlLine.dispatch(SqlLine.java:795)
> at sqlline.SqlLine.begin(SqlLine.java:668)
> at sqlline.SqlLine.start(SqlLine.java:373)
> at sqlline.SqlLine.main(SqlLine.java:265)
> 0: jdbc:ignite:thin://127.0.0.1/>
> {noformat}
> The server nodes print out:
> {noformat}
> [18:46:32,136][SEVERE][jdbc-request-handler-worker-#62][DmlStatementsProcessor]
>  Error during update [localNodeId=319a2fda-1315-4bdf-8647-7ddee2d3342e]
> class org.apache.ignite.IgniteCheckedException: Runtime failure on bounds: 
> [lower=MvccMaxSearchRow [], upper=MvccMinSearchRow []]
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.visit(BPlusTree.java:1061)
>   at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.mvccUpdate(IgniteCacheOffheapManagerImpl.java:1919)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.mvccUpdate(GridCacheOffheapManager.java:1840)
>   at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.mvccUpdate(IgniteCacheOffheapManagerImpl.java:530)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.mvccSet(GridCacheMapEntry.java:1104)
>   at 
> 

[jira] [Commented] (IGNITE-10052) Restart node during TX causes vacuum error.

2018-11-02 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16673115#comment-16673115
 ] 

ASF GitHub Bot commented on IGNITE-10052:
-

GitHub user AMashenkov opened a pull request:

https://github.com/apache/ignite/pull/5245

IGNITE-10052: Restart node during TX causes vacuum error.



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/gridgain/apache-ignite ignite-10052

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/ignite/pull/5245.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #5245


commit 363b5707b21a4d07d4b45845ffe3172fd8335c05
Author: Andrey V. Mashenkov 
Date:   2018-10-31T15:29:30Z

IGNITE-10052: Introduce MvccDataRecord - WAL record for mvcc entries.

commit 0f1de5bc46d4ca9ccd1e34b6c0e1104f3d1a21d9
Author: Andrey V. Mashenkov 
Date:   2018-11-01T10:09:03Z

IGNITE-10052: Introduce MvccDataRecord - WAL record for mvcc entries.

commit 7ddbe1375cfad152712da9a1a5b073c52a082332
Author: Andrey V. Mashenkov 
Date:   2018-11-01T10:13:51Z

IGNITE-10052: Fix orphan rows handling.

Grid restart case:
Treat rows created by unknown (non-active and non-finished) TX with on old 
coordinator version as aborted TX.

Backup node restart case:
Treat non-primary rows created by unknown (non-active and non-finished) TX 
with older version, but same coordinator as aborted TX.

commit c6928c32c80ea52cd68c76c29cceef585b8ed048
Author: Andrey V. Mashenkov 
Date:   2018-11-01T17:38:50Z

IGNITE-10052: Fix rebalanced entries.

commit f826a1db1919c634707dc64375510e008962e46f
Author: Andrey V. Mashenkov 
Date:   2018-11-01T17:38:50Z

IGNITE-10052: Fix rebalanced entries.

commit dbdc280e9414e2ea33f73f904239738bb4e713ce
Author: Andrey V. Mashenkov 
Date:   2018-11-01T17:53:13Z

Merge remote-tracking branch 'origin/ignite-10052' into ignite-10052

commit 862093ab1b5e640abdcd59649b3b52efb70cb466
Author: Andrey V. Mashenkov 
Date:   2018-11-02T09:11:01Z

IGNITE-10052: Fix rebalanced entries.

commit 8007faa41c2db083470a547d28aed5be0bce4b70
Author: Andrey V. Mashenkov 
Date:   2018-11-02T11:26:32Z

IGNITE-10052: Fix recovery from WAL.




> Restart node during TX causes vacuum error.
> ---
>
> Key: IGNITE-10052
> URL: https://issues.apache.org/jira/browse/IGNITE-10052
> Project: Ignite
>  Issue Type: Bug
>  Components: mvcc
>Affects Versions: 2.7
>Reporter: Sergey Kozlov
>Assignee: Andrew Mashenkov
>Priority: Blocker
> Fix For: 2.7
>
>
> 1. Start 2 nodes with PDS, activate , start {{sqlline}}
> 2. Create table
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> create table t1 (a int, b int, primary 
> key(a)) with "atomicity=TRANSACTIONAL_SNAPSHOT,
> backups=1";
> No rows affected (0,294 seconds)
> {noformat}
> 3. Open TX:
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> begin;
> No rows affected (0,007 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> insert into t1 values (1,1);
> 1 row affected (0,112 seconds)
> {noformat}
> 4. Stop and then start 2nd node
> 5. Rollback TX and check the table data (no rows added):
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> rollback;
> No rows affected (0,011 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> select * from t1;
> +++
> |   A|   B|
> +++
> +++
> No rows selected (0,067 seconds)
> {noformat}
> 6. Start second TX that throws the exception:
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> begin;
> No rows affected (0,001 seconds)
> 0: jdbc:ignite:thin://127.0.0.1/> insert into t1 values (1,1);
> Error: Failed to run update. Runtime failure on bounds: 
> [lower=MvccMaxSearchRow [], upper=MvccMinSearchRow []] (state=50
> 000,code=1)
> java.sql.SQLException: Failed to run update. Runtime failure on bounds: 
> [lower=MvccMaxSearchRow [], upper=MvccMinSearchR
> ow []]
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:750)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:212)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:475)
> at sqlline.Commands.execute(Commands.java:823)
> at sqlline.Commands.sql(Commands.java:733)
> at sqlline.SqlLine.dispatch(SqlLine.java:795)
> at sqlline.SqlLine.begin(SqlLine.java:668)
>