[jira] [Assigned] (IGNITE-8946) AssertionError can occur during release of WAL history that was reserved for historical rebalance

2018-07-06 Thread Ivan Rakov (JIRA)


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

Ivan Rakov reassigned IGNITE-8946:
--

Assignee: Ivan Rakov

> AssertionError can occur during release of WAL history that was reserved for 
> historical rebalance
> -
>
> Key: IGNITE-8946
> URL: https://issues.apache.org/jira/browse/IGNITE-8946
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Assignee: Ivan Rakov
>Priority: Critical
> Fix For: 2.7
>
>
> Attempt to release WAL history after exchange may fail with AssertionError. 
> Seems like we have a bug and may try to release more WAL segments than we 
> have reserved:
> {noformat}
> java.lang.AssertionError: null
> at 
> org.apache.ignite.internal.processors.cache.persistence.wal.SegmentReservationStorage.release(SegmentReservationStorage.java:54)
> - locked <0x1c12> (a 
> org.apache.ignite.internal.processors.cache.persistence.wal.SegmentReservationStorage)
> at 
> org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager.release(FileWriteAheadLogManager.java:862)
> at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.releaseHistoryForExchange(GridCacheDatabaseSharedManager.java:1691)
> - locked <0x1c17> (a 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onDone(GridDhtPartitionsExchangeFuture.java:1751)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.finishExchangeOnCoordinator(GridDhtPartitionsExchangeFuture.java:2858)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onAllReceived(GridDhtPartitionsExchangeFuture.java:2591)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.processSingleMessage(GridDhtPartitionsExchangeFuture.java:2283)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.access$100(GridDhtPartitionsExchangeFuture.java:129)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2.apply(GridDhtPartitionsExchangeFuture.java:2140)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2.apply(GridDhtPartitionsExchangeFuture.java:2128)
> at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:383)
> at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.listen(GridFutureAdapter.java:353)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onReceiveSingleMessage(GridDhtPartitionsExchangeFuture.java:2128)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.processSinglePartitionUpdate(GridCachePartitionExchangeManager.java:1580)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.access$1000(GridCachePartitionExchangeManager.java:138)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$2.onMessage(GridCachePartitionExchangeManager.java:345)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$2.onMessage(GridCachePartitionExchangeManager.java:325)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:2848)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:2827)
> 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.co

[jira] [Updated] (IGNITE-8946) AssertionError can occur during release of WAL history that was reserved for historical rebalance

2018-07-06 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8946:
---
Description: 
Attempt to release WAL history after exchange may fail with AssertionError. 
Seems like we have a bug and may try to release more WAL segments than we have 
reserved:
{noformat}
java.lang.AssertionError: null
  at 
org.apache.ignite.internal.processors.cache.persistence.wal.SegmentReservationStorage.release(SegmentReservationStorage.java:54)
  - locked <0x1c12> (a 
org.apache.ignite.internal.processors.cache.persistence.wal.SegmentReservationStorage)
  at 
org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager.release(FileWriteAheadLogManager.java:862)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.releaseHistoryForExchange(GridCacheDatabaseSharedManager.java:1691)
  - locked <0x1c17> (a 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onDone(GridDhtPartitionsExchangeFuture.java:1751)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.finishExchangeOnCoordinator(GridDhtPartitionsExchangeFuture.java:2858)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onAllReceived(GridDhtPartitionsExchangeFuture.java:2591)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.processSingleMessage(GridDhtPartitionsExchangeFuture.java:2283)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.access$100(GridDhtPartitionsExchangeFuture.java:129)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2.apply(GridDhtPartitionsExchangeFuture.java:2140)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2.apply(GridDhtPartitionsExchangeFuture.java:2128)
  at 
org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:383)
  at 
org.apache.ignite.internal.util.future.GridFutureAdapter.listen(GridFutureAdapter.java:353)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onReceiveSingleMessage(GridDhtPartitionsExchangeFuture.java:2128)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.processSinglePartitionUpdate(GridCachePartitionExchangeManager.java:1580)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.access$1000(GridCachePartitionExchangeManager.java:138)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$2.onMessage(GridCachePartitionExchangeManager.java:345)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$2.onMessage(GridCachePartitionExchangeManager.java:325)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:2848)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:2827)
  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:1556)
  at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
  at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:125)
  at 
org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1091)
  at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPo

[jira] [Updated] (IGNITE-8946) AssertionError can occur during release of WAL history that was reserved for historical rebalance

2018-07-05 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8946:
---
Fix Version/s: 2.7

> AssertionError can occur during release of WAL history that was reserved for 
> historical rebalance
> -
>
> Key: IGNITE-8946
> URL: https://issues.apache.org/jira/browse/IGNITE-8946
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Priority: Critical
> Fix For: 2.7
>
>
> Attempt to release WAL history after exchange may fail with AssertionError. 
> Seems like we have a bug and may try to release more WAL segments than we 
> have reserved:
> {noformat}
> java.lang.AssertionError: null
> at 
> org.apache.ignite.internal.processors.cache.persistence.wal.SegmentReservationStorage.release(SegmentReservationStorage.java:54)
> - locked <0x1c12> (a 
> org.apache.ignite.internal.processors.cache.persistence.wal.SegmentReservationStorage)
> at 
> org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager.release(FileWriteAheadLogManager.java:862)
> at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.releaseHistoryForExchange(GridCacheDatabaseSharedManager.java:1691)
> - locked <0x1c17> (a 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onDone(GridDhtPartitionsExchangeFuture.java:1751)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.finishExchangeOnCoordinator(GridDhtPartitionsExchangeFuture.java:2858)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onAllReceived(GridDhtPartitionsExchangeFuture.java:2591)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.processSingleMessage(GridDhtPartitionsExchangeFuture.java:2283)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.access$100(GridDhtPartitionsExchangeFuture.java:129)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2.apply(GridDhtPartitionsExchangeFuture.java:2140)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2.apply(GridDhtPartitionsExchangeFuture.java:2128)
> at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:383)
> at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.listen(GridFutureAdapter.java:353)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onReceiveSingleMessage(GridDhtPartitionsExchangeFuture.java:2128)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.processSinglePartitionUpdate(GridCachePartitionExchangeManager.java:1580)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.access$1000(GridCachePartitionExchangeManager.java:138)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$2.onMessage(GridCachePartitionExchangeManager.java:345)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$2.onMessage(GridCachePartitionExchangeManager.java:325)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:2848)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:2827)
> 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(Gr

[jira] [Updated] (IGNITE-8946) AssertionError can occur during release of WAL history that was reserved for historical rebalance

2018-07-05 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8946:
---
Description: 
Attempt to release WAL history after exchange may fail with AssertionError. 
Seems like we have a bug and may try to release more WAL segments than we have 
reserved:
{noformat}
java.lang.AssertionError: null
  at 
org.apache.ignite.internal.processors.cache.persistence.wal.SegmentReservationStorage.release(SegmentReservationStorage.java:54)
  - locked <0x1c12> (a 
org.apache.ignite.internal.processors.cache.persistence.wal.SegmentReservationStorage)
  at 
org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager.release(FileWriteAheadLogManager.java:862)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.releaseHistoryForExchange(GridCacheDatabaseSharedManager.java:1691)
  - locked <0x1c17> (a 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onDone(GridDhtPartitionsExchangeFuture.java:1751)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.finishExchangeOnCoordinator(GridDhtPartitionsExchangeFuture.java:2858)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onAllReceived(GridDhtPartitionsExchangeFuture.java:2591)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.processSingleMessage(GridDhtPartitionsExchangeFuture.java:2283)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.access$100(GridDhtPartitionsExchangeFuture.java:129)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2.apply(GridDhtPartitionsExchangeFuture.java:2140)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2.apply(GridDhtPartitionsExchangeFuture.java:2128)
  at 
org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:383)
  at 
org.apache.ignite.internal.util.future.GridFutureAdapter.listen(GridFutureAdapter.java:353)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onReceiveSingleMessage(GridDhtPartitionsExchangeFuture.java:2128)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.processSinglePartitionUpdate(GridCachePartitionExchangeManager.java:1580)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.access$1000(GridCachePartitionExchangeManager.java:138)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$2.onMessage(GridCachePartitionExchangeManager.java:345)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$2.onMessage(GridCachePartitionExchangeManager.java:325)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:2848)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:2827)
  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:1556)
  at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
  at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:125)
  at 
org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1091)
  at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPo

[jira] [Updated] (IGNITE-8946) AssertionError can occur during release of WAL history that was reserved for historical rebalance

2018-07-05 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8946:
---
Summary: AssertionError can occur during release of WAL history that was 
reserved for historical rebalance  (was: AssertionError can occur during 
reservation of WAL history for historical rebalance)

> AssertionError can occur during release of WAL history that was reserved for 
> historical rebalance
> -
>
> Key: IGNITE-8946
> URL: https://issues.apache.org/jira/browse/IGNITE-8946
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Priority: Critical
>
> Attempt to release WAL after exchange may fail with AssertionError. Seems 
> like we have a bug and may try to release more WAL segments than we have 
> reserved:
> {noformat}
> java.lang.AssertionError: null
> at 
> org.apache.ignite.internal.processors.cache.persistence.wal.SegmentReservationStorage.release(SegmentReservationStorage.java:54)
> - locked <0x1c12> (a 
> org.apache.ignite.internal.processors.cache.persistence.wal.SegmentReservationStorage)
> at 
> org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager.release(FileWriteAheadLogManager.java:862)
> at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.releaseHistoryForExchange(GridCacheDatabaseSharedManager.java:1691)
> - locked <0x1c17> (a 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onDone(GridDhtPartitionsExchangeFuture.java:1751)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.finishExchangeOnCoordinator(GridDhtPartitionsExchangeFuture.java:2858)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onAllReceived(GridDhtPartitionsExchangeFuture.java:2591)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.processSingleMessage(GridDhtPartitionsExchangeFuture.java:2283)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.access$100(GridDhtPartitionsExchangeFuture.java:129)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2.apply(GridDhtPartitionsExchangeFuture.java:2140)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2.apply(GridDhtPartitionsExchangeFuture.java:2128)
> at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:383)
> at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.listen(GridFutureAdapter.java:353)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onReceiveSingleMessage(GridDhtPartitionsExchangeFuture.java:2128)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.processSinglePartitionUpdate(GridCachePartitionExchangeManager.java:1580)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.access$1000(GridCachePartitionExchangeManager.java:138)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$2.onMessage(GridCachePartitionExchangeManager.java:345)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$2.onMessage(GridCachePartitionExchangeManager.java:325)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:2848)
> at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:2827)
> 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

[jira] [Updated] (IGNITE-8946) AssertionError can occur during release of WAL history that was reserved for historical rebalance

2018-07-05 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8946:
---
Description: 
Attempt to release WAL history after exchange may fail with AssertionError. 
Seems like we have a bug and may try to release more WAL segments than we have 
reserved:
{noformat}
java.lang.AssertionError: null
at 
org.apache.ignite.internal.processors.cache.persistence.wal.SegmentReservationStorage.release(SegmentReservationStorage.java:54)
  - locked <0x1c12> (a 
org.apache.ignite.internal.processors.cache.persistence.wal.SegmentReservationStorage)
  at 
org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager.release(FileWriteAheadLogManager.java:862)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.releaseHistoryForExchange(GridCacheDatabaseSharedManager.java:1691)
  - locked <0x1c17> (a 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onDone(GridDhtPartitionsExchangeFuture.java:1751)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.finishExchangeOnCoordinator(GridDhtPartitionsExchangeFuture.java:2858)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onAllReceived(GridDhtPartitionsExchangeFuture.java:2591)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.processSingleMessage(GridDhtPartitionsExchangeFuture.java:2283)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.access$100(GridDhtPartitionsExchangeFuture.java:129)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2.apply(GridDhtPartitionsExchangeFuture.java:2140)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2.apply(GridDhtPartitionsExchangeFuture.java:2128)
  at 
org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:383)
  at 
org.apache.ignite.internal.util.future.GridFutureAdapter.listen(GridFutureAdapter.java:353)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onReceiveSingleMessage(GridDhtPartitionsExchangeFuture.java:2128)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.processSinglePartitionUpdate(GridCachePartitionExchangeManager.java:1580)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.access$1000(GridCachePartitionExchangeManager.java:138)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$2.onMessage(GridCachePartitionExchangeManager.java:345)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$2.onMessage(GridCachePartitionExchangeManager.java:325)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:2848)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:2827)
  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:1556)
  at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
  at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:125)
  at 
org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1091)
  at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor

[jira] [Created] (IGNITE-8946) AssertionError can occur during reservation of WAL history for historical rebalance

2018-07-05 Thread Ivan Rakov (JIRA)
Ivan Rakov created IGNITE-8946:
--

 Summary: AssertionError can occur during reservation of WAL 
history for historical rebalance
 Key: IGNITE-8946
 URL: https://issues.apache.org/jira/browse/IGNITE-8946
 Project: Ignite
  Issue Type: Bug
Reporter: Ivan Rakov


Attempt to release WAL after exchange may fail with AssertionError. Seems like 
we have a bug and may try to release more WAL segments than we have reserved:
{noformat}
java.lang.AssertionError: null
at 
org.apache.ignite.internal.processors.cache.persistence.wal.SegmentReservationStorage.release(SegmentReservationStorage.java:54)
  - locked <0x1c12> (a 
org.apache.ignite.internal.processors.cache.persistence.wal.SegmentReservationStorage)
  at 
org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager.release(FileWriteAheadLogManager.java:862)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.releaseHistoryForExchange(GridCacheDatabaseSharedManager.java:1691)
  - locked <0x1c17> (a 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onDone(GridDhtPartitionsExchangeFuture.java:1751)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.finishExchangeOnCoordinator(GridDhtPartitionsExchangeFuture.java:2858)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onAllReceived(GridDhtPartitionsExchangeFuture.java:2591)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.processSingleMessage(GridDhtPartitionsExchangeFuture.java:2283)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.access$100(GridDhtPartitionsExchangeFuture.java:129)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2.apply(GridDhtPartitionsExchangeFuture.java:2140)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2.apply(GridDhtPartitionsExchangeFuture.java:2128)
  at 
org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:383)
  at 
org.apache.ignite.internal.util.future.GridFutureAdapter.listen(GridFutureAdapter.java:353)
  at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onReceiveSingleMessage(GridDhtPartitionsExchangeFuture.java:2128)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.processSinglePartitionUpdate(GridCachePartitionExchangeManager.java:1580)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.access$1000(GridCachePartitionExchangeManager.java:138)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$2.onMessage(GridCachePartitionExchangeManager.java:345)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$2.onMessage(GridCachePartitionExchangeManager.java:325)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:2848)
  at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:2827)
  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:1556)
  at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
  at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:125)
  at 
org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1091)
  at 
java.util.con

[jira] [Commented] (IGNITE-8910) PagesList.takeEmptyPage may fail with AssertionError: type = 1

2018-07-04 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8910:


Looks good. Merged to master.

> PagesList.takeEmptyPage may fail with AssertionError: type = 1
> --
>
> Key: IGNITE-8910
> URL: https://issues.apache.org/jira/browse/IGNITE-8910
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Assignee: Dmitriy Sorokin
>Priority: Critical
>  Labels: MakeTeamcityGreenAgain
> Fix For: 2.7
>
>
> Even after IGNITE-8769 fix, we sometimes get an AssertionError from free list 
> during update operation. Page with type PageIO#T_DATA appears in free list 
> for some reason.
> Example hang on TC: 
> https://ci.ignite.apache.org/viewLog.html?buildId=1442664&buildTypeId=IgniteTests24Java8_PdsIndexingWalRecovery
> Example stacktrace:
> {noformat}
> [15:59:26]W:   [org.apache.ignite:ignite-indexing] 
> java.lang.AssertionError: Assertion error on search row: 
> org.apache.ignite.internal.processors.cache.tree.SearchRow@1e76dfc5
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1643)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1272)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.invoke(GridCacheOffheapManager.java:1603)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:370)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:1755)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateSingle(GridDhtAtomicCache.java:2436)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update(GridDhtAtomicCache.java:1898)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1740)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1630)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.sendSingleRequest(GridNearAtomicAbstractUpdateFuture.java:299)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.map(GridNearAtomicSingleUpdateFuture.java:483)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapOnTopology(GridNearAtomicSingleUpdateFuture.java:443)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.map(GridNearAtomicAbstractUpdateFuture.java:248)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update0(GridDhtAtomicCache.java:1119)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.put0(GridDhtAtomicCache.java:609)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2428)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2405)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1084)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(Gat

[jira] [Commented] (IGNITE-8747) Remove\RemoveAll method should not count expired entry as removed.

2018-07-03 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8747:


Changes merged to master under IGNITE-8681.
Commit hash: a06c47f7e90005d342ab100270398e9c5ea5423d

> Remove\RemoveAll method should not count expired entry as removed.
> --
>
> Key: IGNITE-8747
> URL: https://issues.apache.org/jira/browse/IGNITE-8747
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Reporter: Andrew Mashenkov
>Assignee: Andrew Mashenkov
>Priority: Major
>  Labels: MakeTeamcityGreenAgain, tck, test-failure
> Fix For: 2.7
>
>
> We have 2 TCK 1.0 test that are passed due to we have eagerTtl=true by 
> default.
> The reason is remove() return true even if an expired entry was removed.
> Seems, we have to evict expired entry from cache on remove(), but do not 
> count it as removed.
> java.lang.AssertionError
>  at 
> org.jsr107.tck.expiry.CacheExpiryTest.expire_whenAccessed(CacheExpiryTest.java:326)
> java.lang.AssertionError: expected:<0> but was:<1> at 
> org.jsr107.tck.expiry.CacheExpiryTest.testCacheStatisticsRemoveAll(CacheExpiryTest.java:160)



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


[jira] [Commented] (IGNITE-8681) Using ExpiryPolicy with persistence causes significant slowdown.

2018-07-03 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8681:


Thanks for your contribution! Merged to master.

> Using ExpiryPolicy with persistence causes significant slowdown.
> 
>
> Key: IGNITE-8681
> URL: https://issues.apache.org/jira/browse/IGNITE-8681
> Project: Ignite
>  Issue Type: Improvement
>  Components: cache
>Reporter: Andrew Mashenkov
>Assignee: Andrew Mashenkov
>Priority: Critical
>  Labels: performance
> Fix For: 2.7
>
>
> Almost all ignite operations calls CU.unwindEvicts() on finish to help to 
> evict expired entries.
> In unwindEvicts(), threads iterate over all node partitions and check every 
> partition PendingTree for expired entries. This costs too much.
> We already have a flag on per-cachegroup basis that indicated ExpiryPolicy is 
> used. It raised once expiring entry has been put to cache or we initialize 
> non-empty pending tree from persistence.
> So, we have to optimize a case when there is no expired pending entries, but 
> pending tree is non-empty.
> We can add some throttling on per-partition basis to reduce useless pending 
> tree lookups. 
> E.g. if there is nothing to clean, no thread should check partition during 
> next 100ms interval.



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


[jira] [Updated] (IGNITE-8910) PagesList.takeEmptyPage may fail with AssertionError: type = 1

2018-07-02 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8910:
---
Priority: Critical  (was: Major)

> PagesList.takeEmptyPage may fail with AssertionError: type = 1
> --
>
> Key: IGNITE-8910
> URL: https://issues.apache.org/jira/browse/IGNITE-8910
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Assignee: Dmitriy Sorokin
>Priority: Critical
>  Labels: MakeTeamcityGreenAgain
> Fix For: 2.7
>
>
> Even after IGNITE-8769 fix, we sometimes get an AssertionError from free list 
> during update operation. Page with type PageIO#T_DATA appears in free list 
> for some reason.
> Example hang on TC: 
> https://ci.ignite.apache.org/viewLog.html?buildId=1442664&buildTypeId=IgniteTests24Java8_PdsIndexingWalRecovery
> Example stacktrace:
> {noformat}
> [15:59:26]W:   [org.apache.ignite:ignite-indexing] 
> java.lang.AssertionError: Assertion error on search row: 
> org.apache.ignite.internal.processors.cache.tree.SearchRow@1e76dfc5
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1643)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1272)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.invoke(GridCacheOffheapManager.java:1603)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:370)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:1755)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateSingle(GridDhtAtomicCache.java:2436)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update(GridDhtAtomicCache.java:1898)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1740)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1630)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.sendSingleRequest(GridNearAtomicAbstractUpdateFuture.java:299)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.map(GridNearAtomicSingleUpdateFuture.java:483)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapOnTopology(GridNearAtomicSingleUpdateFuture.java:443)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.map(GridNearAtomicAbstractUpdateFuture.java:248)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update0(GridDhtAtomicCache.java:1119)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.put0(GridDhtAtomicCache.java:609)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2428)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2405)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1084)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(GatewayProtectedCacheProxy.java:812)
> [15:59:26]W:   

[jira] [Updated] (IGNITE-8910) PagesList.takeEmptyPage may fail with AssertionError: type = 1

2018-07-02 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8910:
---
Fix Version/s: 2.7

> PagesList.takeEmptyPage may fail with AssertionError: type = 1
> --
>
> Key: IGNITE-8910
> URL: https://issues.apache.org/jira/browse/IGNITE-8910
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Assignee: Dmitriy Sorokin
>Priority: Major
>  Labels: MakeTeamcityGreenAgain
> Fix For: 2.7
>
>
> Even after IGNITE-8769 fix, we sometimes get an AssertionError from free list 
> during update operation. Page with type PageIO#T_DATA appears in free list 
> for some reason.
> Example hang on TC: 
> https://ci.ignite.apache.org/viewLog.html?buildId=1442664&buildTypeId=IgniteTests24Java8_PdsIndexingWalRecovery
> Example stacktrace:
> {noformat}
> [15:59:26]W:   [org.apache.ignite:ignite-indexing] 
> java.lang.AssertionError: Assertion error on search row: 
> org.apache.ignite.internal.processors.cache.tree.SearchRow@1e76dfc5
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1643)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1272)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.invoke(GridCacheOffheapManager.java:1603)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:370)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:1755)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateSingle(GridDhtAtomicCache.java:2436)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update(GridDhtAtomicCache.java:1898)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1740)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1630)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.sendSingleRequest(GridNearAtomicAbstractUpdateFuture.java:299)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.map(GridNearAtomicSingleUpdateFuture.java:483)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapOnTopology(GridNearAtomicSingleUpdateFuture.java:443)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.map(GridNearAtomicAbstractUpdateFuture.java:248)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update0(GridDhtAtomicCache.java:1119)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.put0(GridDhtAtomicCache.java:609)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2428)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2405)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1084)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(GatewayProtectedCacheProxy.java:812)
> [15:59:26]W:   [org.apac

[jira] [Updated] (IGNITE-8910) PagesList.takeEmptyPage may fail with AssertionError: type = 1

2018-07-02 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8910:
---
Labels: MakeTeamcityGreenAgain  (was: )

> PagesList.takeEmptyPage may fail with AssertionError: type = 1
> --
>
> Key: IGNITE-8910
> URL: https://issues.apache.org/jira/browse/IGNITE-8910
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Assignee: Dmitriy Sorokin
>Priority: Major
>  Labels: MakeTeamcityGreenAgain
>
> Even after IGNITE-8769 fix, we sometimes get an AssertionError from free list 
> during update operation. Page with type PageIO#T_DATA appears in free list 
> for some reason.
> Example hang on TC: 
> https://ci.ignite.apache.org/viewLog.html?buildId=1442664&buildTypeId=IgniteTests24Java8_PdsIndexingWalRecovery
> Example stacktrace:
> {noformat}
> [15:59:26]W:   [org.apache.ignite:ignite-indexing] 
> java.lang.AssertionError: Assertion error on search row: 
> org.apache.ignite.internal.processors.cache.tree.SearchRow@1e76dfc5
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1643)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1272)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.invoke(GridCacheOffheapManager.java:1603)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:370)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:1755)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateSingle(GridDhtAtomicCache.java:2436)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update(GridDhtAtomicCache.java:1898)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1740)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1630)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.sendSingleRequest(GridNearAtomicAbstractUpdateFuture.java:299)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.map(GridNearAtomicSingleUpdateFuture.java:483)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapOnTopology(GridNearAtomicSingleUpdateFuture.java:443)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.map(GridNearAtomicAbstractUpdateFuture.java:248)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update0(GridDhtAtomicCache.java:1119)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.put0(GridDhtAtomicCache.java:609)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2428)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2405)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1084)
> [15:59:26]W:   [org.apache.ignite:ignite-indexing]at 
> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(GatewayProtectedCacheProxy.java:812)
> [15:59:26]W:   [org.apache.ignit

[jira] [Created] (IGNITE-8910) PagesList.takeEmptyPage may fail with AssertionError: type = 1

2018-07-02 Thread Ivan Rakov (JIRA)
Ivan Rakov created IGNITE-8910:
--

 Summary: PagesList.takeEmptyPage may fail with AssertionError: 
type = 1
 Key: IGNITE-8910
 URL: https://issues.apache.org/jira/browse/IGNITE-8910
 Project: Ignite
  Issue Type: Bug
Reporter: Ivan Rakov
Assignee: Dmitriy Sorokin


Even after IGNITE-8769 fix, we sometimes get an AssertionError from free list 
during update operation. Page with type PageIO#T_DATA appears in free list for 
some reason.
Example hang on TC: 
https://ci.ignite.apache.org/viewLog.html?buildId=1442664&buildTypeId=IgniteTests24Java8_PdsIndexingWalRecovery
Example stacktrace:
{noformat}
[15:59:26]W: [org.apache.ignite:ignite-indexing] 
java.lang.AssertionError: Assertion error on search row: 
org.apache.ignite.internal.processors.cache.tree.SearchRow@1e76dfc5
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1643)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1272)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.invoke(GridCacheOffheapManager.java:1603)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:370)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:1755)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateSingle(GridDhtAtomicCache.java:2436)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update(GridDhtAtomicCache.java:1898)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1740)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1630)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.sendSingleRequest(GridNearAtomicAbstractUpdateFuture.java:299)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.map(GridNearAtomicSingleUpdateFuture.java:483)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapOnTopology(GridNearAtomicSingleUpdateFuture.java:443)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.map(GridNearAtomicAbstractUpdateFuture.java:248)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update0(GridDhtAtomicCache.java:1119)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.put0(GridDhtAtomicCache.java:609)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2428)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2405)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1084)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(GatewayProtectedCacheProxy.java:812)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.persistence.db.wal.IgniteWalRecoveryTest$2.call(IgniteWalRecoveryTest.java:551)
[15:59:26]W: [org.apache.ignite:ignite-indexing]at 
org.apache.ignite.internal.processors.cache.persistence.db.wal.IgniteWalRecoveryTest$2.call(IgniteWalRecoveryTest.java:546)
[15:59:26]W:

[jira] [Commented] (IGNITE-8493) GridToStringBuilder fails with NPE deals with primitive arrays operations.

2018-06-27 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8493:


I can't find TC run for this PR; maybe it's too old and was cleaned from 
history.
I've merged fresh master and rescheduled TC run.

> GridToStringBuilder fails with NPE deals with primitive arrays operations.
> --
>
> Key: IGNITE-8493
> URL: https://issues.apache.org/jira/browse/IGNITE-8493
> Project: Ignite
>  Issue Type: Bug
>  Components: general
>Affects Versions: 2.4
>Reporter: Stanilovsky Evgeny
>Assignee: Stanilovsky Evgeny
>Priority: Major
> Fix For: 2.7
>
>
> GridToStringBuilder#arrayToString fails with NPE, if input is a primitive 
> array.



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


[jira] [Updated] (IGNITE-8742) Direct IO 2 suite is timed out by 'out of disk space' failure emulation test: WAL manager failure does not stoped execution

2018-06-25 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8742:
---
Fix Version/s: 2.7

> Direct IO 2 suite is timed out by 'out of disk space' failure emulation test: 
> WAL manager failure does not stoped execution
> ---
>
> Key: IGNITE-8742
> URL: https://issues.apache.org/jira/browse/IGNITE-8742
> Project: Ignite
>  Issue Type: Test
>  Components: persistence
>Reporter: Dmitriy Pavlov
>Assignee: Dmitriy Sorokin
>Priority: Major
>  Labels: MakeTeamcityGreenAgain
> Fix For: 2.7
>
>
> https://ci.ignite.apache.org/viewLog.html?buildId=1366882&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_PdsDirectIo2
> Test 
> org.apache.ignite.internal.processors.cache.persistence.IgniteNativeIoWalFlushFsyncSelfTest#testFailAfterStart
> emulates problem with disc space using exception.
> In direct IO environment real IO with disk is performed, tmpfs is not used.
> Sometimes this error can come from rollover() of segment, failure handler 
> reacted accordingly.
> {noformat}
> detected. Will be handled accordingly to configured handler [hnd=class 
> o.a.i.failure.StopNodeFailureHandler, failureCtx=FailureContext 
> [type=CRITICAL_ERROR, err=class o.a.i.i.pagemem.wal.StorageException: Unable 
> to write]]
> class org.apache.ignite.internal.pagemem.wal.StorageException: Unable to write
>   at 
> org.apache.ignite.internal.processors.cache.persistence.wal.FsyncModeFileWriteAheadLogManager$FileWriteHandle.writeBuffer(FsyncModeFileWriteAheadLogManager.java:2964)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.wal.FsyncModeFileWriteAheadLogManager$FileWriteHandle.flush(FsyncModeFileWriteAheadLogManager.java:2640)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.wal.FsyncModeFileWriteAheadLogManager$FileWriteHandle.flush(FsyncModeFileWriteAheadLogManager.java:2572)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.wal.FsyncModeFileWriteAheadLogManager$FileWriteHandle.flushOrWait(FsyncModeFileWriteAheadLogManager.java:2525)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.wal.FsyncModeFileWriteAheadLogManager$FileWriteHandle.close(FsyncModeFileWriteAheadLogManager.java:2795)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.wal.FsyncModeFileWriteAheadLogManager$FileWriteHandle.access$700(FsyncModeFileWriteAheadLogManager.java:2340)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.wal.FsyncModeFileWriteAheadLogManager.rollOver(FsyncModeFileWriteAheadLogManager.java:1029)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.wal.FsyncModeFileWriteAheadLogManager.log(FsyncModeFileWriteAheadLogManager.java:673)
> {noformat}
> But test seems to be not able to stop, node stopper thread tries to stop 
> cache, flush WAL. flush wait for rollover, which will never happen.
> {noformat}
> Thread [name="node-stopper", id=2836, state=WAITING, blockCnt=7, waitCnt=9]
> Lock 
> [object=java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@47f6473,
>  ownerName=null, ownerId=-1]
> at sun.misc.Unsafe.park(Native Method)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitUninterruptibly(AbstractQueuedSynchronizer.java:1976)
> at o.a.i.i.util.IgniteUtils.awaitQuiet(IgniteUtils.java:7473)
> at 
> o.a.i.i.processors.cache.persistence.wal.FsyncModeFileWriteAheadLogManager$FileWriteHandle.flushOrWait(FsyncModeFileWriteAheadLogManager.java:2546)
> at 
> o.a.i.i.processors.cache.persistence.wal.FsyncModeFileWriteAheadLogManager$FileWriteHandle.fsync(FsyncModeFileWriteAheadLogManager.java:2750)
> at 
> o.a.i.i.processors.cache.persistence.wal.FsyncModeFileWriteAheadLogManager$FileWriteHandle.access$2000(FsyncModeFileWriteAheadLogManager.java:2340)
> at 
> o.a.i.i.processors.cache.persistence.wal.FsyncModeFileWriteAheadLogManager.flush(FsyncModeFileWriteAheadLogManager.java:699)
> at 
> o.a.i.i.processors.cache.GridCacheProcessor.stopCache(GridCacheProcessor.java:1243)
> at 
> o.a.i.i.processors.cache.GridCacheProcessor.stopCaches(GridCacheProcessor.java:969)
> at 
> o.a.i.i.processors.cache.GridCacheProcessor.stop(GridCacheProcessor.java:943)
> at o.a.i.i.IgniteKernal.stop0(IgniteKernal.java:2289)
> at o.a.i.i.IgniteKernal.stop(IgniteKernal.java:2167)
> at o.a.i.i.IgnitionEx$IgniteNamedInstance.stop0(IgnitionEx.java:2588)
> - locked o.a.i.i.IgnitionEx$IgniteNamedInstance@90f6bfd
> at o.a.i.i.IgnitionEx

[jira] [Commented] (IGNITE-8749) Exception for "no space left" situation should be propagated to FailureHandler

2018-06-20 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8749:


[~cyberdemon], I've taken a look.
Changes look good, TC looks good now.
Merged to master.

> Exception for "no space left" situation should be propagated to FailureHandler
> --
>
> Key: IGNITE-8749
> URL: https://issues.apache.org/jira/browse/IGNITE-8749
> Project: Ignite
>  Issue Type: Improvement
>  Components: persistence
>Reporter: Sergey Chugunov
>Assignee: Dmitriy Sorokin
>Priority: Major
> Fix For: 2.6
>
>
> For now if "no space left" situation is detected in 
> FileWriteAheadLogManager#formatFile method and corresponding exception is 
> thrown the exception doesn't get propagated to FailureHandler and node 
> continues working.
> As "no space left" is a critical situation, corresponding exception should be 
> propagated to handler to make necessary actions.



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


[jira] [Commented] (IGNITE-8808) Improve control.sh --tx command to show local and remote transactions.

2018-06-19 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8808:


Please resolve conflicts between PR branch and master.

> Improve control.sh --tx command to show local and remote transactions.
> --
>
> Key: IGNITE-8808
> URL: https://issues.apache.org/jira/browse/IGNITE-8808
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.5
>Reporter: Alexei Scherbakov
>Assignee: Alexei Scherbakov
>Priority: Major
> Fix For: 2.6
>
>
> Currently --tx option for control.sh shows only transactions found on 
> near(initiating) nodes.
> Due to various issues it's possible to have corresponding dht local and 
> remote transaction without near part.
> Such transactions must be visible to utility.



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


[jira] [Commented] (IGNITE-8554) Cache metrics: expose metrics with rebalance info about keys

2018-06-19 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8554:


Merged to master.

> Cache metrics: expose metrics with rebalance info about keys
> 
>
> Key: IGNITE-8554
> URL: https://issues.apache.org/jira/browse/IGNITE-8554
> Project: Ignite
>  Issue Type: Improvement
>  Components: cache
>Reporter: Alexey Kuznetsov
>Assignee: Ilya Lantukh
>Priority: Major
> Fix For: 2.6
>
>
> In order to show info about rebalance progress we need to expose 
> estimatedRebalancingKeys and rebalancedKeys metrics.



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


[jira] [Commented] (IGNITE-8798) Move transaction recovery logging to INFO level

2018-06-19 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8798:


Thanks for your contribution! Merged to master.

> Move transaction recovery logging to INFO level
> ---
>
> Key: IGNITE-8798
> URL: https://issues.apache.org/jira/browse/IGNITE-8798
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexey Goncharuk
>Assignee: Evgenii Zagumennov
>Priority: Major
> Fix For: 2.6
>
>
> Currently we log transaction recovery state changes to {{DEBUG}}, however, 
> this information is critically important for production deployment and 
> incident analysis. I suggest to move corresponding logging 
> ({{GridCacheTxRecoveryFuture}} and surrounding code) to {{INFO}} level.



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


[jira] [Commented] (IGNITE-8798) Move transaction recovery logging to INFO level

2018-06-19 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8798:


Guys, I can't find a TC run for this change.
Let's wait for successful run before merging: 
https://ci.ignite.apache.org/viewQueued.html?itemId=1404268

> Move transaction recovery logging to INFO level
> ---
>
> Key: IGNITE-8798
> URL: https://issues.apache.org/jira/browse/IGNITE-8798
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexey Goncharuk
>Assignee: Evgenii Zagumennov
>Priority: Major
>
> Currently we log transaction recovery state changes to {{DEBUG}}, however, 
> this information is critically important for production deployment and 
> incident analysis. I suggest to move corresponding logging 
> ({{GridCacheTxRecoveryFuture}} and surrounding code) to {{INFO}} level.



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


[jira] [Commented] (IGNITE-8749) Exception for "no space left" situation should be propagated to FailureHandler

2018-06-19 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8749:


This fix seems to cause execution timeout of PDS 2 suite.
Rollback commit: 29599901cd6bcd5a8aec003edc1538dbd66530af

> Exception for "no space left" situation should be propagated to FailureHandler
> --
>
> Key: IGNITE-8749
> URL: https://issues.apache.org/jira/browse/IGNITE-8749
> Project: Ignite
>  Issue Type: Improvement
>  Components: persistence
>Reporter: Sergey Chugunov
>Assignee: Dmitriy Sorokin
>Priority: Major
> Fix For: 2.6
>
>
> For now if "no space left" situation is detected in 
> FileWriteAheadLogManager#formatFile method and corresponding exception is 
> thrown the exception doesn't get propagated to FailureHandler and node 
> continues working.
> As "no space left" is a critical situation, corresponding exception should be 
> propagated to handler to make necessary actions.



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


[jira] [Commented] (IGNITE-8769) JVM crash in Basic1 suite in master branch on TC

2018-06-18 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8769:


Code changes look good, let's wait for successful TC run.

> JVM crash in Basic1 suite in master branch on TC
> 
>
> Key: IGNITE-8769
> URL: https://issues.apache.org/jira/browse/IGNITE-8769
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergey Chugunov
>Assignee: Dmitriy Sorokin
>Priority: Blocker
>  Labels: MakeTeamcityGreenAgain
> Fix For: 2.6
>
>
> Latest build with crash: [TC 
> link|https://ci.ignite.apache.org/viewLog.html?buildId=1373991&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_Basic1]
> There is another crash in the history: [TC 
> link|https://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests24Java8_Basic1&branch_IgniteTests24Java8=%3Cdefault%3E&tab=buildTypeStatusDiv]



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


[jira] [Updated] (IGNITE-8811) Create copies of basic TC suites with PDS delta checking framework enabled

2018-06-15 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8811:
---
Labels: MakeTeamcityGreenAgain  (was: )

> Create copies of basic TC suites with PDS delta checking framework enabled
> --
>
> Key: IGNITE-8811
> URL: https://issues.apache.org/jira/browse/IGNITE-8811
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence
>Reporter: Ivan Rakov
>Assignee: Ivan Rakov
>Priority: Major
>  Labels: MakeTeamcityGreenAgain
>
> With having PDS delta checking framework implemented (IGNITE-8529), we should 
> add some copies of existing TC suites with system property that enables 
> self-check on checkpoint.
> We can start with Full API and SQL suites. Please note that some tests may 
> fail with OOM as Ignite node with framework consumes x2 RAM.



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


[jira] [Updated] (IGNITE-8811) Create copies of basic TC suites with PDS delta checking framework enabled

2018-06-15 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8811:
---
Component/s: persistence

> Create copies of basic TC suites with PDS delta checking framework enabled
> --
>
> Key: IGNITE-8811
> URL: https://issues.apache.org/jira/browse/IGNITE-8811
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence
>Reporter: Ivan Rakov
>Assignee: Ivan Rakov
>Priority: Major
>  Labels: MakeTeamcityGreenAgain
>
> With having PDS delta checking framework implemented (IGNITE-8529), we should 
> add some copies of existing TC suites with system property that enables 
> self-check on checkpoint.
> We can start with Full API and SQL suites. Please note that some tests may 
> fail with OOM as Ignite node with framework consumes x2 RAM.



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


[jira] [Updated] (IGNITE-8811) Create copies of basic TC suites with PDS delta checking framework enabled

2018-06-15 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8811:
---
Environment: (was: With having PDS delta checking framework implemented 
(IGNITE-8529), we should add some copies of existing TC suites with system 
property that enables self-check on checkpoint.
We can start with Full API and SQL suites. Please note that some tests may fail 
with OOM as Ignite node with framework consumes x2 RAM.)
Description: 
With having PDS delta checking framework implemented (IGNITE-8529), we should 
add some copies of existing TC suites with system property that enables 
self-check on checkpoint.
We can start with Full API and SQL suites. Please note that some tests may fail 
with OOM as Ignite node with framework consumes x2 RAM.

> Create copies of basic TC suites with PDS delta checking framework enabled
> --
>
> Key: IGNITE-8811
> URL: https://issues.apache.org/jira/browse/IGNITE-8811
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Assignee: Ivan Rakov
>Priority: Major
>
> With having PDS delta checking framework implemented (IGNITE-8529), we should 
> add some copies of existing TC suites with system property that enables 
> self-check on checkpoint.
> We can start with Full API and SQL suites. Please note that some tests may 
> fail with OOM as Ignite node with framework consumes x2 RAM.



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


[jira] [Created] (IGNITE-8811) Create copies of basic TC suites with PDS delta checking framework enabled

2018-06-15 Thread Ivan Rakov (JIRA)
Ivan Rakov created IGNITE-8811:
--

 Summary: Create copies of basic TC suites with PDS delta checking 
framework enabled
 Key: IGNITE-8811
 URL: https://issues.apache.org/jira/browse/IGNITE-8811
 Project: Ignite
  Issue Type: Bug
 Environment: With having PDS delta checking framework implemented 
(IGNITE-8529), we should add some copies of existing TC suites with system 
property that enables self-check on checkpoint.
We can start with Full API and SQL suites. Please note that some tests may fail 
with OOM as Ignite node with framework consumes x2 RAM.
Reporter: Ivan Rakov
Assignee: Ivan Rakov






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


[jira] [Commented] (IGNITE-8529) Implement testing framework for checking WAL delta records consistency

2018-06-14 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8529:


[~alex_pl], thanks for your contribution! Merged to master.

> Implement testing framework for checking WAL delta records consistency
> --
>
> Key: IGNITE-8529
> URL: https://issues.apache.org/jira/browse/IGNITE-8529
> Project: Ignite
>  Issue Type: New Feature
>  Components: persistence
>Reporter: Ivan Rakov
>Assignee: Aleksey Plekhanov
>Priority: Major
> Fix For: 2.6
>
>
> We use sharp checkpointing of page memory in persistent mode. That implies 
> that we write two types of records to write-ahead log: logical (e.g. data 
> records) and phyisical (page snapshots + binary delta records). Physical 
> records are applied only when node crashes/stops during ongoing checkpoint. 
> We have the following invariant: checkpoint #(n-1) + all physical records = 
> checkpoint #n.
> If correctness of physical records is broken, Ignite node may recover with 
> incorrect page memory state, which in turn can bring unexpected delayed 
> errors. However, consistency of physical records is poorly tested: only small 
> part of our autotests perform node restarts, and even less part of them 
> perform node stop when ongoing checkpoint is running.
> We should implement abstract test that:
> 1. Enforces checkpoint, freezes memory state at the moment of checkpoint.
> 2. Performs necessary test load.
> 3. Enforces checkpoint again, replays WAL and checks that page store at the 
> moment of previous checkpoint with all applied physical records exactly 
> equals to current checkpoint state.
> Except for checking correctness, test framework should do the following:
> 1. Gather statistics (like histogram) for types of wriiten physical records. 
> That will help us to know what types of physical records are covered by test.
> 2. Visualize expected and actual page state (with all applied physical 
> records) if incorrect page state is detected.
> Regarding implementation, I suppose we can use checkpoint listener mechanism 
> to freeze page memory state at the moment of checkpoint.



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


[jira] [Updated] (IGNITE-8783) Failover tests periodically cause hanging of the whole Data Structures suite on TC

2018-06-13 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8783:
---
Description: 
History of suite runs: 
https://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests24Java8_DataStructures&tab=buildTypeHistoryList&branch_IgniteTests24Java8=%3Cdefault%3E
Chance of suite hang is 18% in master (based on previous 50 runs).
Hang is always caused by one of the following failover tests:
{noformat}
GridCacheReplicatedDataStructuresFailoverSelfTest#testAtomicSequenceConstantTopologyChange
GridCachePartitionedDataStructuresFailoverSelfTest#testFairReentrantLockConstantTopologyChangeNonFailoverSafe
{noformat}

  was:
History of suite runs: 
https://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests24Java8_DataStructures&tab=buildTypeHistoryList&branch_IgniteTests24Java8=%3Cdefault%3E
Chance of suite hang is 18% in master (based on previous 50 runs).
One of the following failover tests is always a reason of hang:
{noformat}
GridCacheReplicatedDataStructuresFailoverSelfTest#testAtomicSequenceConstantTopologyChange
GridCachePartitionedDataStructuresFailoverSelfTest#testFairReentrantLockConstantTopologyChangeNonFailoverSafe
{noformat}


> Failover tests periodically cause hanging of the whole Data Structures suite 
> on TC
> --
>
> Key: IGNITE-8783
> URL: https://issues.apache.org/jira/browse/IGNITE-8783
> Project: Ignite
>  Issue Type: Bug
>  Components: data structures
>Reporter: Ivan Rakov
>Priority: Major
>  Labels: MakeTeamcityGreenAgain
>
> History of suite runs: 
> https://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests24Java8_DataStructures&tab=buildTypeHistoryList&branch_IgniteTests24Java8=%3Cdefault%3E
> Chance of suite hang is 18% in master (based on previous 50 runs).
> Hang is always caused by one of the following failover tests:
> {noformat}
> GridCacheReplicatedDataStructuresFailoverSelfTest#testAtomicSequenceConstantTopologyChange
> GridCachePartitionedDataStructuresFailoverSelfTest#testFairReentrantLockConstantTopologyChangeNonFailoverSafe
> {noformat}



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


[jira] [Updated] (IGNITE-8783) Failover tests periodically cause hanging of the whole Data Structures suite on TC

2018-06-13 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8783:
---
Description: 
History of suite runs: 
https://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests24Java8_DataStructures&tab=buildTypeHistoryList&branch_IgniteTests24Java8=%3Cdefault%3E
Chance of suite hang is 18% in master (based on previous 50 runs).
One of the following failover tests is always a reason of hang:
{noformat}
GridCacheReplicatedDataStructuresFailoverSelfTest#testAtomicSequenceConstantTopologyChange
GridCachePartitionedDataStructuresFailoverSelfTest#testFairReentrantLockConstantTopologyChangeNonFailoverSafe
{noformat}

  was:
History of suite runs: 
https://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests24Java8_DataStructures&tab=buildTypeHistoryList&branch_IgniteTests24Java8=%3Cdefault%3E
Chance of suite hang is 18% (based on previous 50 runs).
One of the following failover tests is always a reason of hang:
{noformat}
GridCacheReplicatedDataStructuresFailoverSelfTest#testAtomicSequenceConstantTopologyChange
GridCachePartitionedDataStructuresFailoverSelfTest#testFairReentrantLockConstantTopologyChangeNonFailoverSafe
{noformat}


> Failover tests periodically cause hanging of the whole Data Structures suite 
> on TC
> --
>
> Key: IGNITE-8783
> URL: https://issues.apache.org/jira/browse/IGNITE-8783
> Project: Ignite
>  Issue Type: Bug
>  Components: data structures
>Reporter: Ivan Rakov
>Priority: Major
>  Labels: MakeTeamcityGreenAgain
>
> History of suite runs: 
> https://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests24Java8_DataStructures&tab=buildTypeHistoryList&branch_IgniteTests24Java8=%3Cdefault%3E
> Chance of suite hang is 18% in master (based on previous 50 runs).
> One of the following failover tests is always a reason of hang:
> {noformat}
> GridCacheReplicatedDataStructuresFailoverSelfTest#testAtomicSequenceConstantTopologyChange
> GridCachePartitionedDataStructuresFailoverSelfTest#testFairReentrantLockConstantTopologyChangeNonFailoverSafe
> {noformat}



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


[jira] [Updated] (IGNITE-8783) Failover tests periodically cause hanging of the whole Data Structures suite on TC

2018-06-13 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8783:
---
Labels: MakeTeamcityGreenAgain  (was: )

> Failover tests periodically cause hanging of the whole Data Structures suite 
> on TC
> --
>
> Key: IGNITE-8783
> URL: https://issues.apache.org/jira/browse/IGNITE-8783
> Project: Ignite
>  Issue Type: Bug
>  Components: data structures
>Reporter: Ivan Rakov
>Priority: Major
>  Labels: MakeTeamcityGreenAgain
>
> History of suite runs: 
> https://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests24Java8_DataStructures&tab=buildTypeHistoryList&branch_IgniteTests24Java8=%3Cdefault%3E
> Chance of suite hang is 18% in master (based on previous 50 runs).
> Hang is always caused by one of the following failover tests:
> {noformat}
> GridCacheReplicatedDataStructuresFailoverSelfTest#testAtomicSequenceConstantTopologyChange
> GridCachePartitionedDataStructuresFailoverSelfTest#testFairReentrantLockConstantTopologyChangeNonFailoverSafe
> {noformat}



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


[jira] [Created] (IGNITE-8783) Failover tests periodically cause hanging of the whole Data Structures suite on TC

2018-06-13 Thread Ivan Rakov (JIRA)
Ivan Rakov created IGNITE-8783:
--

 Summary: Failover tests periodically cause hanging of the whole 
Data Structures suite on TC
 Key: IGNITE-8783
 URL: https://issues.apache.org/jira/browse/IGNITE-8783
 Project: Ignite
  Issue Type: Bug
  Components: data structures
Reporter: Ivan Rakov


History of suite runs: 
https://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests24Java8_DataStructures&tab=buildTypeHistoryList&branch_IgniteTests24Java8=%3Cdefault%3E
Chance of suite hang is 18% (based on previous 50 runs).
One of the following failover tests is always a reason of hang:
{noformat}
GridCacheReplicatedDataStructuresFailoverSelfTest#testAtomicSequenceConstantTopologyChange
GridCachePartitionedDataStructuresFailoverSelfTest#testFairReentrantLockConstantTopologyChangeNonFailoverSafe
{noformat}



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


[jira] [Updated] (IGNITE-8747) Remove\RemoveAll method should not count expired entry as removed.

2018-06-13 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8747:
---
Fix Version/s: 2.6

> Remove\RemoveAll method should not count expired entry as removed.
> --
>
> Key: IGNITE-8747
> URL: https://issues.apache.org/jira/browse/IGNITE-8747
> Project: Ignite
>  Issue Type: Improvement
>  Components: cache
>Reporter: Andrew Mashenkov
>Assignee: Andrew Mashenkov
>Priority: Major
>  Labels: MakeTeamcityGreenAgain, tck, test-failure
> Fix For: 2.6
>
>
> We have 2 TCK 1.0 test that are passed due to we have eagerTtl=true by 
> default.
> The reason is remove() return true even if an expired entry was removed.
> Seems, we have to evict expired entry from cache on remove(), but do not 
> count it as removed.
> java.lang.AssertionError
>  at 
> org.jsr107.tck.expiry.CacheExpiryTest.expire_whenAccessed(CacheExpiryTest.java:326)
> java.lang.AssertionError: expected:<0> but was:<1> at 
> org.jsr107.tck.expiry.CacheExpiryTest.testCacheStatisticsRemoveAll(CacheExpiryTest.java:160)



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


[jira] [Updated] (IGNITE-8503) Fix wrong GridCacheMapEntry startVersion initialization.

2018-06-13 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8503:
---
Fix Version/s: 2.6

> Fix wrong GridCacheMapEntry startVersion initialization.
> 
>
> Key: IGNITE-8503
> URL: https://issues.apache.org/jira/browse/IGNITE-8503
> Project: Ignite
>  Issue Type: Improvement
>  Components: cache, persistence
>Reporter: Dmitriy Pavlov
>Assignee: Andrew Mashenkov
>Priority: Major
>  Labels: MakeTeamcityGreenAgain, Muted_test, tck
> Fix For: 2.6
>
>
> GridCacheMapEntry initialize startVersion in wrong way.
> This leads to IgnitePdsWithTtlTest.testTtlIsAppliedAfterRestart failure and 
> reason is "Entry which should be expired by TTL policy is available after 
> grid restart."
>  
> Test was added during https://issues.apache.org/jira/browse/IGNITE-5874 
> development.
> This test restarts grid and checks all entries are not present in grid.
> But with high possiblity one from 7000 entries to be expired is resurrected 
> instead and returned by cache get.
> {noformat}
> After timeout {{
> >>> 
> >>> Cache memory stats [igniteInstanceName=db.IgnitePdsWithTtlTest0, 
> >>> cache=expirableCache]
> >>>  Cache size: 0
> >>>  Cache partition topology stats 
> >>> [igniteInstanceName=db.IgnitePdsWithTtlTest0, grp=group1]
> >>> 
> >>> Cache event manager memory stats 
> >>> [igniteInstanceName=db.IgnitePdsWithTtlTest0, cache=expirableCache, 
> >>> stats=N/A]
> >>>
> >>> Query manager memory stats [igniteInstanceName=db.IgnitePdsWithTtlTest0, 
> >>> cache=expirableCache]
> >>>   threadsSize: 0
> >>>   futsSize: 0
> >>>
> >>> TTL processor memory stats [igniteInstanceName=db.IgnitePdsWithTtlTest0, 
> >>> cache=expirableCache]
> >>>   pendingEntriesSize: 0
> }} After timeout
> {noformat}
> [https://ci.ignite.apache.org/project.html?projectId=IgniteTests24Java8&testNameId=5798755758125626876&tab=testDetails&branch_IgniteTests24Java8=%3Cdefault%3E]



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


[jira] [Commented] (IGNITE-8757) idle_verify utility doesn't show both update counter and hash conflicts

2018-06-13 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8757:


TC: 
https://ci.ignite.apache.org/viewLog.html?buildId=1374429&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_RunAll

> idle_verify utility doesn't show both update counter and hash conflicts
> ---
>
> Key: IGNITE-8757
> URL: https://issues.apache.org/jira/browse/IGNITE-8757
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Assignee: Ivan Rakov
>Priority: Major
>
> If there are two partitions in cluster, one with different update counters 
> and one with different data, idle_verify will show only partition with broken 
> counters. We should show both for better visibility. 
> We should also show notify user about rebalancing partitions that were 
> excluded from analysis.



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


[jira] [Created] (IGNITE-8761) WAL fsync at rollover should be asynchronous in LOG_ONLY and BACKGROUND modes

2018-06-09 Thread Ivan Rakov (JIRA)
Ivan Rakov created IGNITE-8761:
--

 Summary: WAL fsync at rollover should be asynchronous in LOG_ONLY 
and BACKGROUND modes
 Key: IGNITE-8761
 URL: https://issues.apache.org/jira/browse/IGNITE-8761
 Project: Ignite
  Issue Type: Improvement
  Components: persistence
Reporter: Ivan Rakov
 Fix For: 2.6


Transactions may periodically hang for a few seconds in LOG_ONLY or BACKGROUND 
persistent modes. Thread dumps show that threads are hanging on syncing 
previous WAL segment during rollover:
{noformat}
  java.lang.Thread.State: RUNNABLE
   at java.nio.MappedByteBuffer.force0(MappedByteBuffer.java:-1)
   at java.nio.MappedByteBuffer.force(MappedByteBuffer.java:203)
   at 
org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager$FileWriteHandle.close(FileWriteAheadLogManager.java:2843)
   at 
org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager$FileWriteHandle.access$600(FileWriteAheadLogManager.java:2483)
   at 
org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager.rollOver(FileWriteAheadLogManager.java:1094)
{noformat}
Waiting for this fsync is not necessary action to ensure crash recovery 
guarantees. Instead of this, we should just perform fsyncs asychronously and 
ensure that they are completed prior to next checkpoint start.



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


[jira] [Updated] (IGNITE-8757) idle_verify utility doesn't show both update counter and hash conflicts

2018-06-08 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8757:
---
Description: 
If there are two partitions in cluster, one with different update counters and 
one with different data, idle_verify will show only partition with broken 
counters. We should show both for better visibility. 
We should also show notify user about rebalancing partitions that were excluded 
from analysis.

  was:
If there are two partitions in cluster, one with different update counters and 
one with different data, idle_verify will show only partition with broken 
counters.
We should show both for better visibility. 


> idle_verify utility doesn't show both update counter and hash conflicts
> ---
>
> Key: IGNITE-8757
> URL: https://issues.apache.org/jira/browse/IGNITE-8757
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Assignee: Ivan Rakov
>Priority: Major
>
> If there are two partitions in cluster, one with different update counters 
> and one with different data, idle_verify will show only partition with broken 
> counters. We should show both for better visibility. 
> We should also show notify user about rebalancing partitions that were 
> excluded from analysis.



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


[jira] [Created] (IGNITE-8757) idle_verify utility doesn't show both update counter and hash conflicts

2018-06-08 Thread Ivan Rakov (JIRA)
Ivan Rakov created IGNITE-8757:
--

 Summary: idle_verify utility doesn't show both update counter and 
hash conflicts
 Key: IGNITE-8757
 URL: https://issues.apache.org/jira/browse/IGNITE-8757
 Project: Ignite
  Issue Type: Bug
Reporter: Ivan Rakov
Assignee: Ivan Rakov


If there are two partitions in cluster, one with different update counters and 
one with different data, idle_verify will show only partition with broken 
counters.
We should show both for better visibility. 



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


[jira] [Updated] (IGNITE-8735) Metastorage creates its own index partition

2018-06-07 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8735:
---
Description: By design, all metastorage data should be stored in single 
partition with index = 0. However, allocatePageNoReuse is not overriden in 
MetastorageTree, which causes allocation of extra pages for the tree in index 
partition.  (was: By design, all metastorage data should be stored in single 
partition with index = 0. However, allocatePageNoReuse is not overriden in 
MetastorageTree, which cause allocation of extra pages for the tree in index 
partition.)

> Metastorage creates its own index partition
> ---
>
> Key: IGNITE-8735
> URL: https://issues.apache.org/jira/browse/IGNITE-8735
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence
>Reporter: Ivan Rakov
>Priority: Major
> Fix For: 2.6
>
>
> By design, all metastorage data should be stored in single partition with 
> index = 0. However, allocatePageNoReuse is not overriden in MetastorageTree, 
> which causes allocation of extra pages for the tree in index partition.



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


[jira] [Created] (IGNITE-8735) Metastorage creates its own index partition

2018-06-07 Thread Ivan Rakov (JIRA)
Ivan Rakov created IGNITE-8735:
--

 Summary: Metastorage creates its own index partition
 Key: IGNITE-8735
 URL: https://issues.apache.org/jira/browse/IGNITE-8735
 Project: Ignite
  Issue Type: Bug
  Components: persistence
Reporter: Ivan Rakov
 Fix For: 2.6


By design, all metastorage data should be stored in single partition with index 
= 0. However, allocatePageNoReuse is not overriden in MetastorageTree, which 
cause allocation of extra pages for the tree in index partition.



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


[jira] [Commented] (IGNITE-8681) Using ExpiryPolicy with persistence causes significant slowdown.

2018-06-05 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8681:


[~amashenkov], code changes look good. However, there are some suspicious test 
fails:
IgniteClientNodesTestSuite: 
IgniteClientReconnectFailoverTest.testReconnectStreamerApi (fail rate 0,0%)
org.jsr107.tck.expiry.CacheExpiryTest.expire_whenAccessed (fail rate 0,0%) 
org.jsr107.tck.expiry.CacheExpiryTest.testCacheStatisticsRemoveAll (fail rate 
0,0%)
While first one is probably flaky, last two failures look like real issues.

> Using ExpiryPolicy with persistence causes significant slowdown.
> 
>
> Key: IGNITE-8681
> URL: https://issues.apache.org/jira/browse/IGNITE-8681
> Project: Ignite
>  Issue Type: Improvement
>  Components: cache
>Reporter: Andrew Mashenkov
>Assignee: Andrew Mashenkov
>Priority: Critical
>  Labels: performance
> Fix For: 2.6
>
>
> Almost all ignite operations calls CU.unwindEvicts() on finish to help to 
> evict expired entries.
> In unwindEvicts(), threads iterate over all node partitions and check every 
> partition PendingTree for expired entries. This costs too much.
> We already have a flag on per-cachegroup basis that indicated ExpiryPolicy is 
> used. It raised once expiring entry has been put to cache or we initialize 
> non-empty pending tree from persistence.
> So, we have to optimize a case when there is no expired pending entries, but 
> pending tree is non-empty.
> We can add some throttling on per-partition basis to reduce useless pending 
> tree lookups. 
> E.g. if there is nothing to clean, no thread should check partition during 
> next 100ms interval.



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


[jira] [Commented] (IGNITE-8691) Get rid of tests jar artifact in ignite-zookeeper module

2018-06-05 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8691:


The fix doesn't make sense - test jar is not useless and can be referenced in 
another test jars.
Fix is rolled back in master in commit 0f4d6fe8d46c6bdf948e261deb59298c96f3a5a5.

> Get rid of tests jar artifact in ignite-zookeeper module
> 
>
> Key: IGNITE-8691
> URL: https://issues.apache.org/jira/browse/IGNITE-8691
> Project: Ignite
>  Issue Type: Bug
>  Components: zookeeper
>Affects Versions: 2.5
>Reporter: Pavel Kovalenko
>Assignee: Pavel Kovalenko
>Priority: Major
> Fix For: 2.6
>
>
> Currently Ignite building process produces 
> {noformat}
> org/apache/ignite/ignite-zookeeper/2.X.X/ignite-zookeeper-2.X.X-tests.jar
> {noformat}
> artifact which seems to be useless and should be excluded as result of 
> packaging.



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


[jira] [Commented] (IGNITE-8696) control.sh utility does not show atomicity mode

2018-06-05 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8696:


Dmitriy, I'm taking a look.

> control.sh utility does not show atomicity mode
> ---
>
> Key: IGNITE-8696
> URL: https://issues.apache.org/jira/browse/IGNITE-8696
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.5
>Reporter: Sergey Kosarev
>Assignee: Sergey Kosarev
>Priority: Minor
> Fix For: 2.6
>
>
> In current implementation cache viewer list function:
> ./control.sh --cache list
> does not show atomicity mode for caches. Please add this to the output.



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


[jira] [Commented] (IGNITE-8682) Attempt to configure IGFS in persistent mode without specific data region ends with AssertionError

2018-06-05 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8682:


[~agoncharuk], thanks for your review! Merged to master.

> Attempt to configure IGFS in persistent mode without specific data region 
> ends with AssertionError
> --
>
> Key: IGNITE-8682
> URL: https://issues.apache.org/jira/browse/IGNITE-8682
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Assignee: Ivan Rakov
>Priority: Major
> Fix For: 2.6
>
>
> If persistence is enabled and data region name is not specified in IGFS 
> configuration, attempt to access IGFS internal cache results in the following 
> error:
> {noformat}
> [00:40:03]W:java.lang.AssertionError
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.allocatePage(PageMemoryImpl.java:463)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.allocateForTree(IgniteCacheOffheapManagerImpl.java:818)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.initPendingTree(IgniteCacheOffheapManagerImpl.java:164)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.onCacheStarted(IgniteCacheOffheapManagerImpl.java:151)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.CacheGroupContext.onCacheStarted(CacheGroupContext.java:283)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1965)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCacheChangeRequest(CacheAffinitySharedManager.java:791)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onClusterStateChangeRequest(GridDhtPartitionsExchangeFuture.java:946)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:651)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2458)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2338)
> [00:40:03]W:  at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
> [00:40:03]W:  at java.lang.Thread.run(Thread.java:748)
> {noformat}



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


[jira] [Commented] (IGNITE-8682) Attempt to configure IGFS in persistent mode without specific data region ends with AssertionError

2018-06-04 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8682:


[~agoncharuk], please take a look.

> Attempt to configure IGFS in persistent mode without specific data region 
> ends with AssertionError
> --
>
> Key: IGNITE-8682
> URL: https://issues.apache.org/jira/browse/IGNITE-8682
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Assignee: Ivan Rakov
>Priority: Major
> Fix For: 2.6
>
>
> If persistence is enabled and data region name is not specified in IGFS 
> configuration, attempt to access IGFS internal cache results in the following 
> error:
> {noformat}
> [00:40:03]W:java.lang.AssertionError
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.allocatePage(PageMemoryImpl.java:463)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.allocateForTree(IgniteCacheOffheapManagerImpl.java:818)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.initPendingTree(IgniteCacheOffheapManagerImpl.java:164)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.onCacheStarted(IgniteCacheOffheapManagerImpl.java:151)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.CacheGroupContext.onCacheStarted(CacheGroupContext.java:283)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1965)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCacheChangeRequest(CacheAffinitySharedManager.java:791)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onClusterStateChangeRequest(GridDhtPartitionsExchangeFuture.java:946)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:651)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2458)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2338)
> [00:40:03]W:  at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
> [00:40:03]W:  at java.lang.Thread.run(Thread.java:748)
> {noformat}



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


[jira] [Updated] (IGNITE-8693) SQL JOIN between PARTITIONED and REPLICATED cache fails

2018-06-04 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8693:
---
Fix Version/s: 2.6

> SQL JOIN between PARTITIONED and REPLICATED cache fails
> ---
>
> Key: IGNITE-8693
> URL: https://issues.apache.org/jira/browse/IGNITE-8693
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ilya Lantukh
>Assignee: Ilya Lantukh
>Priority: Major
> Fix For: 2.6
>
>
> One case of such problem is reproduced by 
> IgniteCacheQueryNodeRestartTxSelfTest.testRestarts (IGNITE-7766).
> If PARTITIONED cache has NodeFilter and is located on subset of REPLICATED 
> cache nodes, we might fail to execute SQL JOIN query with "Caches have 
> distinct sets of data nodes" error. Whether if will fail or not depends on 
> order of *cacheIds* List argument in 
> GridReduceQueryExecutor.stableDataNodes(...) - we will fail if first cacheId 
> is REPLICATED. The order depends on internal factors that are out of user's 
> control.



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


[jira] [Resolved] (IGNITE-8694) SQL JOIN between PARTITIONED and REPLICATED cache fails

2018-06-04 Thread Ivan Rakov (JIRA)


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

Ivan Rakov resolved IGNITE-8694.

Resolution: Duplicate

Clone of IGNITE-8693

> SQL JOIN between PARTITIONED and REPLICATED cache fails
> ---
>
> Key: IGNITE-8694
> URL: https://issues.apache.org/jira/browse/IGNITE-8694
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Assignee: Ivan Rakov
>Priority: Major
> Fix For: 2.6
>
>
> We already have IGNITE-7766 where TC test fails due to the same problem.
> Particular case with PARTITIONED and REPLICATED caches will be fixed under 
> this ticket, while rest of the work will be completed under IGNITE-7766.



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


[jira] [Commented] (IGNITE-7766) Ignite Queries 2: Test always failed IgniteCacheQueryNodeRestartTxSelfTest.testRestarts

2018-06-04 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-7766:


Please note that particular case of this issue is fixed under IGNITE-8694. Test 
from description should pass after IGNITE-8694 merge.

> Ignite Queries 2: Test always failed 
> IgniteCacheQueryNodeRestartTxSelfTest.testRestarts
> ---
>
> Key: IGNITE-7766
> URL: https://issues.apache.org/jira/browse/IGNITE-7766
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Reporter: Dmitriy Pavlov
>Assignee: Evgenii Zagumennov
>Priority: Major
>  Labels: MakeTeamcityGreenAgain
>
> Ignite Queries 2 
>  IgniteBinaryCacheQueryTestSuite2: 
> IgniteCacheQueryNodeRestartTxSelfTest.testRestarts (fail rate 76,1%)
> IgniteCacheQueryNodeRestartTxSelfTest.testRestarts 
>  Current failure: refs/heads/master #345 No changes 11 Feb 18 03:03
> junit.framework.AssertionFailedError: On large page size must retry.
> Last runs fails with 100% probability.



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


[jira] [Updated] (IGNITE-8694) SQL JOIN between PARTITIONED and REPLICATED cache fails

2018-06-04 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8694:
---
Description: 
We already have IGNITE-7766 where TC test fails due to the same problem.
Particular case with PARTITIONED and REPLICATED cache will be fixed under this 
ticket, while rest of the work will be completed under IGNITE-7766.

  was:
We already have IGNITE-7766 where test fails due to the same problem.
Particular case with PARTITIONED and REPLICATED cache will be fixed under this 
ticket, while rest of the work will be completed under IGNITE-7766.


> SQL JOIN between PARTITIONED and REPLICATED cache fails
> ---
>
> Key: IGNITE-8694
> URL: https://issues.apache.org/jira/browse/IGNITE-8694
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Assignee: Ivan Rakov
>Priority: Major
> Fix For: 2.6
>
>
> We already have IGNITE-7766 where TC test fails due to the same problem.
> Particular case with PARTITIONED and REPLICATED cache will be fixed under 
> this ticket, while rest of the work will be completed under IGNITE-7766.



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


[jira] [Updated] (IGNITE-8694) SQL JOIN between PARTITIONED and REPLICATED cache fails

2018-06-04 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8694:
---
Description: 
We already have IGNITE-7766 where TC test fails due to the same problem.
Particular case with PARTITIONED and REPLICATED caches will be fixed under this 
ticket, while rest of the work will be completed under IGNITE-7766.

  was:
We already have IGNITE-7766 where TC test fails due to the same problem.
Particular case with PARTITIONED and REPLICATED cache will be fixed under this 
ticket, while rest of the work will be completed under IGNITE-7766.


> SQL JOIN between PARTITIONED and REPLICATED cache fails
> ---
>
> Key: IGNITE-8694
> URL: https://issues.apache.org/jira/browse/IGNITE-8694
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Assignee: Ivan Rakov
>Priority: Major
> Fix For: 2.6
>
>
> We already have IGNITE-7766 where TC test fails due to the same problem.
> Particular case with PARTITIONED and REPLICATED caches will be fixed under 
> this ticket, while rest of the work will be completed under IGNITE-7766.



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


[jira] [Created] (IGNITE-8694) SQL JOIN between PARTITIONED and REPLICATED cache fails

2018-06-04 Thread Ivan Rakov (JIRA)
Ivan Rakov created IGNITE-8694:
--

 Summary: SQL JOIN between PARTITIONED and REPLICATED cache fails
 Key: IGNITE-8694
 URL: https://issues.apache.org/jira/browse/IGNITE-8694
 Project: Ignite
  Issue Type: Bug
Reporter: Ivan Rakov
Assignee: Ivan Rakov
 Fix For: 2.6


We already have IGNITE-7766 where test fails due to the same problem.
Particular case with PARTITIONED and REPLICATED cache will be fixed under this 
ticket, while rest of the work will be completed under IGNITE-7766.



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


[jira] [Commented] (IGNITE-8682) Attempt to configure IGFS in persistent mode without specific data region ends with AssertionError

2018-06-04 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8682:


TC: 
https://ci.ignite.apache.org/project.html?projectId=IgniteTests24Java8&branch_IgniteTests24Java8=pull%2F4108%2Fhead

> Attempt to configure IGFS in persistent mode without specific data region 
> ends with AssertionError
> --
>
> Key: IGNITE-8682
> URL: https://issues.apache.org/jira/browse/IGNITE-8682
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Assignee: Ivan Rakov
>Priority: Major
> Fix For: 2.6
>
>
> If persistence is enabled and data region name is not specified in IGFS 
> configuration, attempt to access IGFS internal cache results in the following 
> error:
> {noformat}
> [00:40:03]W:java.lang.AssertionError
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.allocatePage(PageMemoryImpl.java:463)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.allocateForTree(IgniteCacheOffheapManagerImpl.java:818)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.initPendingTree(IgniteCacheOffheapManagerImpl.java:164)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.onCacheStarted(IgniteCacheOffheapManagerImpl.java:151)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.CacheGroupContext.onCacheStarted(CacheGroupContext.java:283)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1965)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCacheChangeRequest(CacheAffinitySharedManager.java:791)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onClusterStateChangeRequest(GridDhtPartitionsExchangeFuture.java:946)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:651)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2458)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2338)
> [00:40:03]W:  at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
> [00:40:03]W:  at java.lang.Thread.run(Thread.java:748)
> {noformat}



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


[jira] [Commented] (IGNITE-8688) Pending tree is initialized outside of checkpoint lock

2018-06-04 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8688:


Looks like the same issue as IGNITE-8682. We should probably close this after 
IGNITE-8682 is fixed.

> Pending tree is initialized outside of checkpoint lock
> --
>
> Key: IGNITE-8688
> URL: https://issues.apache.org/jira/browse/IGNITE-8688
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: 2.5
>Reporter: Pavel Kovalenko
>Assignee: Andrew Mashenkov
>Priority: Critical
> Fix For: 2.6
>
>
> This may lead to possible page corruption.
> {noformat}
> handled accordingly to configured handler [hnd=class 
> o.a.i.failure.StopNodeOrHaltFailureHandler, failureCtx=FailureContext 
> [type=SYSTEM_WORKER_TERMINATION, err=java.lang.AssertionError]]
> [00:11:56]W:   [org.gridgain:gridgain-compatibility] 
> java.lang.AssertionError
> [00:11:56]W:   [org.gridgain:gridgain-compatibility]  at 
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.allocatePage(PageMemoryImpl.java:463)
> [00:11:56]W:   [org.gridgain:gridgain-compatibility]  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.allocateForTree(IgniteCacheOffheapManagerImpl.java:818)
> [00:11:56]W:   [org.gridgain:gridgain-compatibility]  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.initPendingTree(IgniteCacheOffheapManagerImpl.java:164)
> [00:11:56]W:   [org.gridgain:gridgain-compatibility]  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.onCacheStarted(IgniteCacheOffheapManagerImpl.java:151)
> [00:11:56]W:   [org.gridgain:gridgain-compatibility]  at 
> org.apache.ignite.internal.processors.cache.CacheGroupContext.onCacheStarted(CacheGroupContext.java:283)
> [00:11:56]W:   [org.gridgain:gridgain-compatibility]  at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1965)
> [00:11:56]W:   [org.gridgain:gridgain-compatibility]  at 
> org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCacheChangeRequest(CacheAffinitySharedManager.java:791)
> [00:11:56]W:   [org.gridgain:gridgain-compatibility]  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onClusterStateChangeRequest(GridDhtPartitionsExchangeFuture.java:946)
> [00:11:56]W:   [org.gridgain:gridgain-compatibility]  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:651)
> [00:11:56]W:   [org.gridgain:gridgain-compatibility]  at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2458)
> [00:11:56]W:   [org.gridgain:gridgain-compatibility]  at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2338)
> [00:11:56]W:   [org.gridgain:gridgain-compatibility]  at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
> [00:11:56]W:   [org.gridgain:gridgain-compatibility]  at 
> java.lang.Thread.run(Thread.java:748)
> {noformat}



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


[jira] [Comment Edited] (IGNITE-8603) Add JMX-metric to cluster: baseline nodes

2018-06-01 Thread Ivan Rakov (JIRA)


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

Ivan Rakov edited comment on IGNITE-8603 at 6/1/18 3:43 PM:


Thanks for your contribution! Merged to master.


was (Author: ivan.glukos):
Thanks for you contribution! Merged to master.

> Add JMX-metric to cluster: baseline nodes
> -
>
> Key: IGNITE-8603
> URL: https://issues.apache.org/jira/browse/IGNITE-8603
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Dmitriy Gladkikh
>Assignee: Dmitriy Gladkikh
>Priority: Major
> Fix For: 2.6
>
>
> Need to add a baseline nodes on JMX:
> {code:java}
> int org.apache.ignite.mxbean.ClusterMetricsMXBean#getTotalBaselineNodes
> int org.apache.ignite.mxbean.ClusterMetricsMXBean#getActiveBaselineNodes
> {code}



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


[jira] [Commented] (IGNITE-8603) Add JMX-metric to cluster: baseline nodes

2018-06-01 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8603:


Thanks for you contribution! Merged to master.

> Add JMX-metric to cluster: baseline nodes
> -
>
> Key: IGNITE-8603
> URL: https://issues.apache.org/jira/browse/IGNITE-8603
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Dmitriy Gladkikh
>Assignee: Dmitriy Gladkikh
>Priority: Major
> Fix For: 2.6
>
>
> Need to add a baseline nodes on JMX:
> {code:java}
> int org.apache.ignite.mxbean.ClusterMetricsMXBean#getTotalBaselineNodes
> int org.apache.ignite.mxbean.ClusterMetricsMXBean#getActiveBaselineNodes
> {code}



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


[jira] [Assigned] (IGNITE-8682) Attempt to configure IGFS in persistent mode without specific data region ends with AssertionError

2018-06-01 Thread Ivan Rakov (JIRA)


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

Ivan Rakov reassigned IGNITE-8682:
--

Assignee: Ivan Rakov

> Attempt to configure IGFS in persistent mode without specific data region 
> ends with AssertionError
> --
>
> Key: IGNITE-8682
> URL: https://issues.apache.org/jira/browse/IGNITE-8682
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Assignee: Ivan Rakov
>Priority: Major
> Fix For: 2.6
>
>
> If persistence is enabled and data region name is not specified in IGFS 
> configuration, attempt to access IGFS internal cache results in the following 
> error:
> {noformat}
> [00:40:03]W:java.lang.AssertionError
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.allocatePage(PageMemoryImpl.java:463)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.allocateForTree(IgniteCacheOffheapManagerImpl.java:818)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.initPendingTree(IgniteCacheOffheapManagerImpl.java:164)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.onCacheStarted(IgniteCacheOffheapManagerImpl.java:151)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.CacheGroupContext.onCacheStarted(CacheGroupContext.java:283)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1965)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCacheChangeRequest(CacheAffinitySharedManager.java:791)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onClusterStateChangeRequest(GridDhtPartitionsExchangeFuture.java:946)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:651)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2458)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2338)
> [00:40:03]W:  at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
> [00:40:03]W:  at java.lang.Thread.run(Thread.java:748)
> {noformat}



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


[jira] [Created] (IGNITE-8682) Attempt to configure IGFS in persistent mode without specific data region ends with AssertionError

2018-06-01 Thread Ivan Rakov (JIRA)
Ivan Rakov created IGNITE-8682:
--

 Summary: Attempt to configure IGFS in persistent mode without 
specific data region ends with AssertionError
 Key: IGNITE-8682
 URL: https://issues.apache.org/jira/browse/IGNITE-8682
 Project: Ignite
  Issue Type: Bug
Reporter: Ivan Rakov


If persistence is enabled and data region name is not specified in IGFS 
configuration, attempt to access IGFS internal cache results in the following 
error:
{noformat}
[00:40:03]W:  java.lang.AssertionError
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.allocatePage(PageMemoryImpl.java:463)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.allocateForTree(IgniteCacheOffheapManagerImpl.java:818)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.initPendingTree(IgniteCacheOffheapManagerImpl.java:164)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.onCacheStarted(IgniteCacheOffheapManagerImpl.java:151)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.CacheGroupContext.onCacheStarted(CacheGroupContext.java:283)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1965)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCacheChangeRequest(CacheAffinitySharedManager.java:791)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onClusterStateChangeRequest(GridDhtPartitionsExchangeFuture.java:946)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:651)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2458)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2338)
[00:40:03]W:at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
[00:40:03]W:at java.lang.Thread.run(Thread.java:748)
{noformat}



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


[jira] [Updated] (IGNITE-8682) Attempt to configure IGFS in persistent mode without specific data region ends with AssertionError

2018-06-01 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8682:
---
Fix Version/s: 2.6

> Attempt to configure IGFS in persistent mode without specific data region 
> ends with AssertionError
> --
>
> Key: IGNITE-8682
> URL: https://issues.apache.org/jira/browse/IGNITE-8682
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Priority: Major
> Fix For: 2.6
>
>
> If persistence is enabled and data region name is not specified in IGFS 
> configuration, attempt to access IGFS internal cache results in the following 
> error:
> {noformat}
> [00:40:03]W:java.lang.AssertionError
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.allocatePage(PageMemoryImpl.java:463)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.allocateForTree(IgniteCacheOffheapManagerImpl.java:818)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.initPendingTree(IgniteCacheOffheapManagerImpl.java:164)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.onCacheStarted(IgniteCacheOffheapManagerImpl.java:151)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.CacheGroupContext.onCacheStarted(CacheGroupContext.java:283)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1965)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCacheChangeRequest(CacheAffinitySharedManager.java:791)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onClusterStateChangeRequest(GridDhtPartitionsExchangeFuture.java:946)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:651)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2458)
> [00:40:03]W:  at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2338)
> [00:40:03]W:  at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
> [00:40:03]W:  at java.lang.Thread.run(Thread.java:748)
> {noformat}



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


[jira] [Updated] (IGNITE-8682) Attempt to configure IGFS in persistent mode without specific data region ends with AssertionError

2018-06-01 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8682:
---
Description: 
If persistence is enabled and data region name is not specified in IGFS 
configuration, attempt to access IGFS internal cache results in the following 
error:
{noformat}
[00:40:03]W:  java.lang.AssertionError
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.allocatePage(PageMemoryImpl.java:463)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.allocateForTree(IgniteCacheOffheapManagerImpl.java:818)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.initPendingTree(IgniteCacheOffheapManagerImpl.java:164)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.onCacheStarted(IgniteCacheOffheapManagerImpl.java:151)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.CacheGroupContext.onCacheStarted(CacheGroupContext.java:283)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1965)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCacheChangeRequest(CacheAffinitySharedManager.java:791)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onClusterStateChangeRequest(GridDhtPartitionsExchangeFuture.java:946)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:651)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2458)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2338)
[00:40:03]W:at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
[00:40:03]W:at java.lang.Thread.run(Thread.java:748)
{noformat}

  was:
If persistence is enabled and data region name is not specified in IGFS 
configuration, attempt to access IGFS internal cache results in the following 
error:
{noformat}
[00:40:03]W:  java.lang.AssertionError
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.allocatePage(PageMemoryImpl.java:463)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.allocateForTree(IgniteCacheOffheapManagerImpl.java:818)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.initPendingTree(IgniteCacheOffheapManagerImpl.java:164)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.onCacheStarted(IgniteCacheOffheapManagerImpl.java:151)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.CacheGroupContext.onCacheStarted(CacheGroupContext.java:283)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1965)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCacheChangeRequest(CacheAffinitySharedManager.java:791)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onClusterStateChangeRequest(GridDhtPartitionsExchangeFuture.java:946)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:651)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2458)
[00:40:03]W:at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2338)
[00:40:03]W:at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
[00:40:03]W:at java.lang.Thread.run(Thread.java:748)
{noformat}


> Attempt to configure IGFS in persistent mode without specific data region 
> ends with AssertionError
> --
>
> Key: IGNITE-86

[jira] [Commented] (IGNITE-8659) Wrong FreeList usage in PendingTree may lead to page corruption.

2018-05-31 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8659:


Thanks, merged to master.

> Wrong FreeList usage in PendingTree may lead to page corruption.
> 
>
> Key: IGNITE-8659
> URL: https://issues.apache.org/jira/browse/IGNITE-8659
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence
>Reporter: Andrew Mashenkov
>Assignee: Andrew Mashenkov
>Priority: Critical
> Fix For: 2.6
>
>
> Per-partition pending trees uses common index freelist.
> This make possible partition data pages will be used by indices and lead to 
> errors as pages have different structures.
>  



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


[jira] [Comment Edited] (IGNITE-8476) AssertionError exception occurs when trying to remove node from baseline under loading

2018-05-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov edited comment on IGNITE-8476 at 5/30/18 6:43 PM:
-

[~agoncharuk],
1 and 2 - fixed.
Regarding 3: I've added test that reproduces your scenario and it expectedly 
failed. I've created IGNITE-8652 and linked it with the failing test.
I'll merge my changes if you approve.


was (Author: ivan.glukos):
[~agoncharuk],
1 and 2 - fixed.
Regarding 3: I've added test that reproduces your scenario and it expectedly 
fails. I've created IGNITE-8652 and linked it with failing test.
I'll merge my changes if you approve.

> AssertionError exception occurs when trying to remove node from baseline 
> under loading
> --
>
> Key: IGNITE-8476
> URL: https://issues.apache.org/jira/browse/IGNITE-8476
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.5
>Reporter: Dmitry Sherstobitov
>Assignee: Ivan Rakov
>Priority: Blocker
> Fix For: 2.6
>
>
> Run 6 nodes, start loading (8 threads, 1000 2x cache.get() and 2x cache.put() 
> in each thread per second)
> Kill 2 nodes and try to remove one node from baseline using
> control.sh --baseline remove node1
>  control.sh --baseline version TOPOLOGY_VERSION
>  
> Utility hangs or connected client may hangs, this assertion appears in log 
> For transactional cache:
> {code:java}
> [16:32:58,960][SEVERE][sys-stripe-14-#15][G] Failed to execute runnable.
> java.lang.AssertionError: localNode = be945692-c750-4d72-b9a1-9ac4170ff125, 
> dhtNodes = [ZookeeperClusterNode [id=810226e6-656a-460d-8069-ca7d2dd294ef, 
> addrs=[172.17.0.1, 0:0:0:0:0:0:0:1%lo, 172.25.1.28, 127.0.0.1], order=1, 
> loc=false, client=false], ZookeeperClusterNode 
> [id=be945692-c750-4d72-b9a1-9ac4170ff125, addrs=[172.17.0.1, 172.25.1.28, 
> 0:0:0:0:0:0:0:1%lo, 127.0.0.1], order=3, loc=true, client=false], 
> ZookeeperClusterNode [id=db4503f6-9185-4673-b38c-8890dfa69511, 
> addrs=[172.17.0.1, 172.25.1.37, 0:0:0:0:0:0:0:1%lo, 127.0.0.1], order=5, 
> loc=false, client=false], ZookeeperClusterNode 
> [id=3b8d8d4f-3513-4d39-a1fd-7ec5b15fc653, addrs=[172.17.0.1, 172.25.1.37, 
> 127.0.0.1, 0:0:0:0:0:0:0:1%lo], order=4, loc=false, client=false], 
> ZookeeperClusterNode [id=2bfc8c2e-2f47-4126-9cc4-6f017ce7efde, 
> addrs=[172.17.0.1, 172.25.1.37, 0:0:0:0:0:0:0:1%lo, 127.0.0.1], order=6, 
> loc=false, client=false]]
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.map(GridDhtTxPrepareFuture.java:1520)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare0(GridDhtTxPrepareFuture.java:1239)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.mapIfLocked(GridDhtTxPrepareFuture.java:671)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare(GridDhtTxPrepareFuture.java:1048)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.prepareAsync(GridDhtTxLocal.java:397)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prepareNearTx(IgniteTxHandler.java:516)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest0(IgniteTxHandler.java:150)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest(IgniteTxHandler.java:135)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.access$000(IgniteTxHandler.java:97)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:177)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:175)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1054)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:579)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293)
> at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556)
> at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
> at 
> org.apache.ignite.i

[jira] [Commented] (IGNITE-8476) AssertionError exception occurs when trying to remove node from baseline under loading

2018-05-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8476:


[~agoncharuk],
1 and 2 - fixed.
Regarding 3: I've added test that reproduces your scenario and it expectedly 
fails. I've created IGNITE-8652 and linked it with failing test.
I'll merge my changes if you approve.

> AssertionError exception occurs when trying to remove node from baseline 
> under loading
> --
>
> Key: IGNITE-8476
> URL: https://issues.apache.org/jira/browse/IGNITE-8476
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.5
>Reporter: Dmitry Sherstobitov
>Assignee: Ivan Rakov
>Priority: Blocker
> Fix For: 2.6
>
>
> Run 6 nodes, start loading (8 threads, 1000 2x cache.get() and 2x cache.put() 
> in each thread per second)
> Kill 2 nodes and try to remove one node from baseline using
> control.sh --baseline remove node1
>  control.sh --baseline version TOPOLOGY_VERSION
>  
> Utility hangs or connected client may hangs, this assertion appears in log 
> For transactional cache:
> {code:java}
> [16:32:58,960][SEVERE][sys-stripe-14-#15][G] Failed to execute runnable.
> java.lang.AssertionError: localNode = be945692-c750-4d72-b9a1-9ac4170ff125, 
> dhtNodes = [ZookeeperClusterNode [id=810226e6-656a-460d-8069-ca7d2dd294ef, 
> addrs=[172.17.0.1, 0:0:0:0:0:0:0:1%lo, 172.25.1.28, 127.0.0.1], order=1, 
> loc=false, client=false], ZookeeperClusterNode 
> [id=be945692-c750-4d72-b9a1-9ac4170ff125, addrs=[172.17.0.1, 172.25.1.28, 
> 0:0:0:0:0:0:0:1%lo, 127.0.0.1], order=3, loc=true, client=false], 
> ZookeeperClusterNode [id=db4503f6-9185-4673-b38c-8890dfa69511, 
> addrs=[172.17.0.1, 172.25.1.37, 0:0:0:0:0:0:0:1%lo, 127.0.0.1], order=5, 
> loc=false, client=false], ZookeeperClusterNode 
> [id=3b8d8d4f-3513-4d39-a1fd-7ec5b15fc653, addrs=[172.17.0.1, 172.25.1.37, 
> 127.0.0.1, 0:0:0:0:0:0:0:1%lo], order=4, loc=false, client=false], 
> ZookeeperClusterNode [id=2bfc8c2e-2f47-4126-9cc4-6f017ce7efde, 
> addrs=[172.17.0.1, 172.25.1.37, 0:0:0:0:0:0:0:1%lo, 127.0.0.1], order=6, 
> loc=false, client=false]]
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.map(GridDhtTxPrepareFuture.java:1520)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare0(GridDhtTxPrepareFuture.java:1239)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.mapIfLocked(GridDhtTxPrepareFuture.java:671)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare(GridDhtTxPrepareFuture.java:1048)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.prepareAsync(GridDhtTxLocal.java:397)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prepareNearTx(IgniteTxHandler.java:516)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest0(IgniteTxHandler.java:150)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest(IgniteTxHandler.java:135)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.access$000(IgniteTxHandler.java:97)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:177)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:175)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1054)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:579)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293)
> at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556)
> at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
> at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:125)
> at 
> org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1091)
> at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.run(StripedExecutor.java:511)
> at java.lang.Thre

[jira] [Updated] (IGNITE-8652) Cache dynamically started from client while there are no affinity server nodes will be forever considered in-memory

2018-05-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8652:
---
Description: 
We implemented stealing data storage configuration from affinity server node 
during initialization of dynamic cache on client (IGNITE-8476). Though, if 
there are no affinity nodes at the moment of cache start, client will consider 
cache as in-memory even when affinity node will proper data storage 
configuration (telling that it's actually persistent cache) will appear.
That means cache operations on client may fail with the same error:
{noformat}
java.lang.AssertionError: Wrong ready topology version for invalid partitions 
response
{noformat}
Reproduced by 
ClientAffinityAssignmentWithBaselineTest#testDynamicCacheStartNoAffinityNodes 
should pass after the fix.

  was:
We implemented stealing data storage configuration from affinity server node 
during initialization of dynamic cache on client (IGNITE-8476). Though, if 
there are no affinity nodes at the moment of cache start, client will consider 
cache as in-memory even when affinity node will proper data storage 
configuration (telling that it's actually persistent cache) will appear.
That means, cache operations on client may fail with the same error:
{noformat}
java.lang.AssertionError: Wrong ready topology version for invalid partitions 
response
{noformat}
Reproduced by 
ClientAffinityAssignmentWithBaselineTest#testDynamicCacheStartNoAffinityNodes 
should pass after the fix.


> Cache dynamically started from client while there are no affinity server 
> nodes will be forever considered in-memory
> ---
>
> Key: IGNITE-8652
> URL: https://issues.apache.org/jira/browse/IGNITE-8652
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Priority: Major
>  Labels: IEP-4, Phase-2
> Fix For: 2.6
>
>
> We implemented stealing data storage configuration from affinity server node 
> during initialization of dynamic cache on client (IGNITE-8476). Though, if 
> there are no affinity nodes at the moment of cache start, client will 
> consider cache as in-memory even when affinity node will proper data storage 
> configuration (telling that it's actually persistent cache) will appear.
> That means cache operations on client may fail with the same error:
> {noformat}
> java.lang.AssertionError: Wrong ready topology version for invalid partitions 
> response
> {noformat}
> Reproduced by 
> ClientAffinityAssignmentWithBaselineTest#testDynamicCacheStartNoAffinityNodes 
> should pass after the fix.



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


[jira] [Updated] (IGNITE-8652) Cache dynamically started from client while there are no affinity server nodes will be forever considered in-memory

2018-05-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8652:
---
Description: 
We implemented stealing data storage configuration from affinity server node 
during initialization of dynamic cache on client (IGNITE-8476). Though, if 
there are no affinity nodes at the moment of cache start, client will consider 
cache as in-memory even when affinity node will proper data storage 
configuration (telling that it's actually persistent cache) will appear.
That means cache operations on client may fail with the same error:
{noformat}
java.lang.AssertionError: Wrong ready topology version for invalid partitions 
response
{noformat}
ClientAffinityAssignmentWithBaselineTest#testDynamicCacheStartNoAffinityNodes 
should pass after the fix.

  was:
We implemented stealing data storage configuration from affinity server node 
during initialization of dynamic cache on client (IGNITE-8476). Though, if 
there are no affinity nodes at the moment of cache start, client will consider 
cache as in-memory even when affinity node will proper data storage 
configuration (telling that it's actually persistent cache) will appear.
That means cache operations on client may fail with the same error:
{noformat}
java.lang.AssertionError: Wrong ready topology version for invalid partitions 
response
{noformat}
Reproduced by 
ClientAffinityAssignmentWithBaselineTest#testDynamicCacheStartNoAffinityNodes 
should pass after the fix.


> Cache dynamically started from client while there are no affinity server 
> nodes will be forever considered in-memory
> ---
>
> Key: IGNITE-8652
> URL: https://issues.apache.org/jira/browse/IGNITE-8652
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Priority: Major
>  Labels: IEP-4, Phase-2
> Fix For: 2.6
>
>
> We implemented stealing data storage configuration from affinity server node 
> during initialization of dynamic cache on client (IGNITE-8476). Though, if 
> there are no affinity nodes at the moment of cache start, client will 
> consider cache as in-memory even when affinity node will proper data storage 
> configuration (telling that it's actually persistent cache) will appear.
> That means cache operations on client may fail with the same error:
> {noformat}
> java.lang.AssertionError: Wrong ready topology version for invalid partitions 
> response
> {noformat}
> ClientAffinityAssignmentWithBaselineTest#testDynamicCacheStartNoAffinityNodes 
> should pass after the fix.



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


[jira] [Updated] (IGNITE-8652) Cache dynamically started from client while there are no affinity server nodes will be forever considered in-memory

2018-05-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8652:
---
Description: 
We implemented stealing data storage configuration from affinity server node 
during initialization of dynamic cache on client (IGNITE-8476). Though, if 
there are no affinity nodes at the moment of cache start, client will consider 
cache as in-memory even when affinity node will proper data storage 
configuration (telling that it's actually persistent cache) will appear.
That means, cache operations on client may fail with the same error:
{noformat}
java.lang.AssertionError: Wrong ready topology version for invalid partitions 
response
{noformat}
Reproduced by 
ClientAffinityAssignmentWithBaselineTest#testDynamicCacheStartNoAffinityNodes 
should pass after the fix.

  was:
We implemented stealing data storage configuration from affinity server node 
during initialization of dynamic cache on client (IGNITE-8476). Thought, if 
there are no affinity nodes at the moment of cache start, client will consider 
cache as in-memory even when affinity node will proper data storage 
configuration (telling that it's actually persistent cache) will appear.
That means, cache operations on client may fail with the same error:
{noformat}
java.lang.AssertionError: Wrong ready topology version for invalid partitions 
response
{noformat}
Reproduced by 
ClientAffinityAssignmentWithBaselineTest#testDynamicCacheStartNoAffinityNodes 
should pass after the fix.


> Cache dynamically started from client while there are no affinity server 
> nodes will be forever considered in-memory
> ---
>
> Key: IGNITE-8652
> URL: https://issues.apache.org/jira/browse/IGNITE-8652
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Priority: Major
>  Labels: IEP-4, Phase-2
> Fix For: 2.6
>
>
> We implemented stealing data storage configuration from affinity server node 
> during initialization of dynamic cache on client (IGNITE-8476). Though, if 
> there are no affinity nodes at the moment of cache start, client will 
> consider cache as in-memory even when affinity node will proper data storage 
> configuration (telling that it's actually persistent cache) will appear.
> That means, cache operations on client may fail with the same error:
> {noformat}
> java.lang.AssertionError: Wrong ready topology version for invalid partitions 
> response
> {noformat}
> Reproduced by 
> ClientAffinityAssignmentWithBaselineTest#testDynamicCacheStartNoAffinityNodes 
> should pass after the fix.



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


[jira] [Updated] (IGNITE-8652) Cache dynamically started from client while there are no affinity server nodes will be forever considered in-memory

2018-05-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8652:
---
Summary: Cache dynamically started from client while there are no affinity 
server nodes will be forever considered in-memory  (was: Cache dynamically 
started from client while there are no affinity server nodes will be considered 
in-memory forever)

> Cache dynamically started from client while there are no affinity server 
> nodes will be forever considered in-memory
> ---
>
> Key: IGNITE-8652
> URL: https://issues.apache.org/jira/browse/IGNITE-8652
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Priority: Major
>  Labels: IEP-4, Phase-2
> Fix For: 2.6
>
>
> We implemented stealing data storage configuration from affinity server node 
> during initialization of dynamic cache on client (IGNITE-8476). Thought, if 
> there are no affinity nodes at the moment of cache start, client will 
> consider cache as in-memory even when affinity node will proper data storage 
> configuration (telling that it's actually persistent cache) will appear.
> That means, cache operations on client may fail with the same error:
> {noformat}
> java.lang.AssertionError: Wrong ready topology version for invalid partitions 
> response
> {noformat}
> Reproduced by 
> ClientAffinityAssignmentWithBaselineTest#testDynamicCacheStartNoAffinityNodes 
> should pass after the fix.



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


[jira] [Updated] (IGNITE-8652) Cache dynamically started from client while there are no affinity server nodes will be considered in-memory forever

2018-05-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8652:
---
Summary: Cache dynamically started from client while there are no affinity 
server nodes will be considered in-memory forever  (was: Cache dynamically 
started from client while there are no affinity server nodes will be considered 
in-memory)

> Cache dynamically started from client while there are no affinity server 
> nodes will be considered in-memory forever
> ---
>
> Key: IGNITE-8652
> URL: https://issues.apache.org/jira/browse/IGNITE-8652
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Priority: Major
>  Labels: IEP-4, Phase-2
> Fix For: 2.6
>
>
> We implemented stealing data storage configuration from affinity server node 
> during initialization of dynamic cache on client (IGNITE-8476). Thought, if 
> there are no affinity nodes at the moment of cache start, client will 
> consider cache as in-memory even when affinity node will proper data storage 
> configuration (telling that it's actually persistent cache) will appear.
> That means, cache operations on client may fail with the same error:
> {noformat}
> java.lang.AssertionError: Wrong ready topology version for invalid partitions 
> response
> {noformat}
> Reproduced by 
> ClientAffinityAssignmentWithBaselineTest#testDynamicCacheStartNoAffinityNodes 
> should pass after the fix.



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


[jira] [Created] (IGNITE-8652) Cache dynamically started from client while there are no affinity server nodes will be considered in-memory

2018-05-30 Thread Ivan Rakov (JIRA)
Ivan Rakov created IGNITE-8652:
--

 Summary: Cache dynamically started from client while there are no 
affinity server nodes will be considered in-memory
 Key: IGNITE-8652
 URL: https://issues.apache.org/jira/browse/IGNITE-8652
 Project: Ignite
  Issue Type: Bug
Reporter: Ivan Rakov
 Fix For: 2.6


We implemented stealing data storage configuration from affinity server node 
during initialization of dynamic cache on client (IGNITE-8476). Thought, if 
there are no affinity nodes at the moment of cache start, client will consider 
cache as in-memory even when affinity node will proper data storage 
configuration (telling that it's actually persistent cache) will appear.
That means, cache operations on client may fail with the same error:
{noformat}
java.lang.AssertionError: Wrong ready topology version for invalid partitions 
response
{noformat}
Reproduced by 
ClientAffinityAssignmentWithBaselineTest#testDynamicCacheStartNoAffinityNodes 
should pass after the fix.



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


[jira] [Comment Edited] (IGNITE-8524) Document consistency check utilities

2018-05-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov edited comment on IGNITE-8524 at 5/30/18 4:24 PM:
-

[~dmagda], please check 
https://apacheignite-tools.readme.io/v2.5/docs/control-script.
I've added description of list, seq and groups commands. I've also moved info 
about consistency check and contention detection commands. Please replace 
duplicate information in 
https://apacheignite.readme.io/docs/consistency-check-utilities page with links 
to the corresponding sections of "Control Script".
I also discovered that there are still some undocumented options in 
./control.sh script. There's ./control.sh --tx command that allows to view and 
manage active transactions (it can even kill hanging transaction). It has a lot 
of options which should be thoroughly documented. If we are going to expose 
this functionality to the wider community, please create a separate ticket for 
this activity.


was (Author: ivan.glukos):
[~dmagda], please check 
https://apacheignite-tools.readme.io/v2.5/docs/control-script.
I've added description of list, seq and groups commands. I've also moved info 
about consistency check and contention detection commands. Please replace 
duplicate information in 
https://apacheignite.readme.io/docs/consistency-check-utilities page with links 
to the corresponding sections of "Control Script".
I also discovered that there are still some undocumented options in 
./control.sh script. There's ./control.sh --tx command allows to view and 
manage active transactions (it can even kill hanging transaction). It has a lot 
of options which should be thoroughly documented. If we are going to expose 
this functionality to the wider community, please create a separate ticket for 
this activity.

> Document consistency check utilities
> 
>
> Key: IGNITE-8524
> URL: https://issues.apache.org/jira/browse/IGNITE-8524
> Project: Ignite
>  Issue Type: Task
>  Components: documentation
>Reporter: Denis Magda
>Assignee: Ivan Rakov
>Priority: Critical
> Fix For: 2.5
>
>
> Ignite 2.5 will go with special consistency check utilities that, for 
> instance, ensure that the data stays consistent across backups, indexes are 
> correct and many other things. More details can be taken from here:
> * https://issues.apache.org/jira/browse/IGNITE-8277
> * https://issues.apache.org/jira/browse/IGNITE-7467
> Here is an empty page that is created for the documentation: 
> https://apacheignite.readme.io/docs/consistency-check-utilities



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


[jira] [Comment Edited] (IGNITE-8524) Document consistency check utilities

2018-05-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov edited comment on IGNITE-8524 at 5/30/18 4:24 PM:
-

[~dmagda], please check 
https://apacheignite-tools.readme.io/v2.5/docs/control-script.
I've added description of list, seq and groups commands. I've also moved info 
about consistency check and contention detection commands. Please replace 
duplicate information in 
https://apacheignite.readme.io/docs/consistency-check-utilities page with links 
to the corresponding sections of "Control Script".
I also discovered that there are still some undocumented options in 
./control.sh script. There's ./control.sh --tx command that allows to view and 
manage active transactions (it can even kill hanging transaction). It has a lot 
of options that should be thoroughly documented. If we are going to expose this 
functionality to the wider community, please create a separate ticket for this 
activity.


was (Author: ivan.glukos):
[~dmagda], please check 
https://apacheignite-tools.readme.io/v2.5/docs/control-script.
I've added description of list, seq and groups commands. I've also moved info 
about consistency check and contention detection commands. Please replace 
duplicate information in 
https://apacheignite.readme.io/docs/consistency-check-utilities page with links 
to the corresponding sections of "Control Script".
I also discovered that there are still some undocumented options in 
./control.sh script. There's ./control.sh --tx command that allows to view and 
manage active transactions (it can even kill hanging transaction). It has a lot 
of options which should be thoroughly documented. If we are going to expose 
this functionality to the wider community, please create a separate ticket for 
this activity.

> Document consistency check utilities
> 
>
> Key: IGNITE-8524
> URL: https://issues.apache.org/jira/browse/IGNITE-8524
> Project: Ignite
>  Issue Type: Task
>  Components: documentation
>Reporter: Denis Magda
>Assignee: Ivan Rakov
>Priority: Critical
> Fix For: 2.5
>
>
> Ignite 2.5 will go with special consistency check utilities that, for 
> instance, ensure that the data stays consistent across backups, indexes are 
> correct and many other things. More details can be taken from here:
> * https://issues.apache.org/jira/browse/IGNITE-8277
> * https://issues.apache.org/jira/browse/IGNITE-7467
> Here is an empty page that is created for the documentation: 
> https://apacheignite.readme.io/docs/consistency-check-utilities



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


[jira] [Comment Edited] (IGNITE-8524) Document consistency check utilities

2018-05-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov edited comment on IGNITE-8524 at 5/30/18 4:22 PM:
-

[~dmagda], please check 
https://apacheignite-tools.readme.io/v2.5/docs/control-script.
I've added description of list, seq and groups commands. I've also moved info 
about consistency check and contention detection commands. Please replace 
duplicate information in 
https://apacheignite.readme.io/docs/consistency-check-utilities page with links 
to the corresponding sections of "Control Script".
I also discovered that there are still some undocumented options in 
./control.sh script. There's ./control.sh --tx command allows to view and 
manage active transactions (it can even kill hanging transaction). It has a lot 
of options which should be thoroughly documented. If we are going to expose 
this functionality to the wider community, please create a separate ticket for 
this activity.


was (Author: ivan.glukos):
[~dmagda], please check 
https://apacheignite-tools.readme.io/v2.5/docs/control-script.
I've added description of list, seq and groups commands. I've also moved info 
about consistency check and contention detection commands. Please replace 
duplicate information in 
https://apacheignite.readme.io/docs/consistency-check-utilities page with links 
to the corresponding sections of "Control Script".
I also discovered that there are still some undocumented options of 
./control.sh. There's ./control.sh --tx command allows to view and manage 
active transactions (it can even kill hanging transaction).

> Document consistency check utilities
> 
>
> Key: IGNITE-8524
> URL: https://issues.apache.org/jira/browse/IGNITE-8524
> Project: Ignite
>  Issue Type: Task
>  Components: documentation
>Reporter: Denis Magda
>Assignee: Ivan Rakov
>Priority: Critical
> Fix For: 2.5
>
>
> Ignite 2.5 will go with special consistency check utilities that, for 
> instance, ensure that the data stays consistent across backups, indexes are 
> correct and many other things. More details can be taken from here:
> * https://issues.apache.org/jira/browse/IGNITE-8277
> * https://issues.apache.org/jira/browse/IGNITE-7467
> Here is an empty page that is created for the documentation: 
> https://apacheignite.readme.io/docs/consistency-check-utilities



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


[jira] [Comment Edited] (IGNITE-8524) Document consistency check utilities

2018-05-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov edited comment on IGNITE-8524 at 5/30/18 4:20 PM:
-

[~dmagda], please check 
https://apacheignite-tools.readme.io/v2.5/docs/control-script.
I've added description of list, seq and groups commands. I've also moved info 
about consistency check and contention detection commands. Please replace 
duplicate information in 
https://apacheignite.readme.io/docs/consistency-check-utilities page with links 
to the corresponding sections of "Control Script".
I also discovered that there are still some undocumented options of 
./control.sh. There's ./control.sh --tx command allows to view and manage 
active transactions (it can even kill hanging transaction).


was (Author: ivan.glukos):
[~dmagda], please check 
https://apacheignite-tools.readme.io/v2.5/docs/control-script.
I've added description of list, seq and groups commands. I've also moved info 
about consistency check and contention detection commands. Please replace 
duplicate information in 
https://apacheignite.readme.io/docs/consistency-check-utilities page with links 
to the corresponding sections of "Control Script".
I also discovered that there are still some undocumented optoins of 
./control.sh. There's ./control.sh --tx command allows to view and manage 
active transactions (it can even kill hanging transaction).

> Document consistency check utilities
> 
>
> Key: IGNITE-8524
> URL: https://issues.apache.org/jira/browse/IGNITE-8524
> Project: Ignite
>  Issue Type: Task
>  Components: documentation
>Reporter: Denis Magda
>Assignee: Ivan Rakov
>Priority: Critical
> Fix For: 2.5
>
>
> Ignite 2.5 will go with special consistency check utilities that, for 
> instance, ensure that the data stays consistent across backups, indexes are 
> correct and many other things. More details can be taken from here:
> * https://issues.apache.org/jira/browse/IGNITE-8277
> * https://issues.apache.org/jira/browse/IGNITE-7467
> Here is an empty page that is created for the documentation: 
> https://apacheignite.readme.io/docs/consistency-check-utilities



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


[jira] [Comment Edited] (IGNITE-8524) Document consistency check utilities

2018-05-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov edited comment on IGNITE-8524 at 5/30/18 4:19 PM:
-

[~dmagda], please check 
https://apacheignite-tools.readme.io/v2.5/docs/control-script.
I've added description of list, seq and groups commands. I've also moved info 
about consistency check and contention detection commands. Please replace 
duplicate information in 
https://apacheignite.readme.io/docs/consistency-check-utilities page with links 
to the corresponding sections of "Control Script".
I also discovered that there are still some undocumented optoins of 
./control.sh. There's ./control.sh --tx command allows to view and manage 
active transactions (it can even kill hanging transaction).


was (Author: ivan.glukos):
[~dmagda], please check 
https://apacheignite-tools.readme.io/v2.5/docs/control-script.
I've added description of list, seq and groups commands. I've also moved info 
about consistency check and contention detection commands. Please replace 
duplicate information in 
https://apacheignite.readme.io/docs/consistency-check-utilities page by links 
to the sections of "Control Script".
I also discovered that there are still some undocumented optoins of 
./control.sh. There's ./control.sh --tx command allows to view and manage 
active transactions (it can even kill hanging transaction).

> Document consistency check utilities
> 
>
> Key: IGNITE-8524
> URL: https://issues.apache.org/jira/browse/IGNITE-8524
> Project: Ignite
>  Issue Type: Task
>  Components: documentation
>Reporter: Denis Magda
>Assignee: Ivan Rakov
>Priority: Critical
> Fix For: 2.5
>
>
> Ignite 2.5 will go with special consistency check utilities that, for 
> instance, ensure that the data stays consistent across backups, indexes are 
> correct and many other things. More details can be taken from here:
> * https://issues.apache.org/jira/browse/IGNITE-8277
> * https://issues.apache.org/jira/browse/IGNITE-7467
> Here is an empty page that is created for the documentation: 
> https://apacheignite.readme.io/docs/consistency-check-utilities



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


[jira] [Commented] (IGNITE-8524) Document consistency check utilities

2018-05-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8524:


[~dmagda], please check 
https://apacheignite-tools.readme.io/v2.5/docs/control-script.
I've added description of list, seq and groups commands. I've also moved info 
about consistency check and contention detection commands. Please replace 
duplicate information in 
https://apacheignite.readme.io/docs/consistency-check-utilities page by links 
to the sections of "Control Script".
I also discovered that there are still some undocumented optoins of 
./control.sh. There's ./control.sh --tx command allows to view and manage 
active transactions (it can even kill hanging transaction).

> Document consistency check utilities
> 
>
> Key: IGNITE-8524
> URL: https://issues.apache.org/jira/browse/IGNITE-8524
> Project: Ignite
>  Issue Type: Task
>  Components: documentation
>Reporter: Denis Magda
>Assignee: Ivan Rakov
>Priority: Critical
> Fix For: 2.5
>
>
> Ignite 2.5 will go with special consistency check utilities that, for 
> instance, ensure that the data stays consistent across backups, indexes are 
> correct and many other things. More details can be taken from here:
> * https://issues.apache.org/jira/browse/IGNITE-8277
> * https://issues.apache.org/jira/browse/IGNITE-7467
> Here is an empty page that is created for the documentation: 
> https://apacheignite.readme.io/docs/consistency-check-utilities



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


[jira] [Created] (IGNITE-8646) Setting different MAC addresses to nodes in test environment causes mass test fail

2018-05-30 Thread Ivan Rakov (JIRA)
Ivan Rakov created IGNITE-8646:
--

 Summary: Setting different MAC addresses to nodes in test 
environment causes mass test fail
 Key: IGNITE-8646
 URL: https://issues.apache.org/jira/browse/IGNITE-8646
 Project: Ignite
  Issue Type: Bug
Reporter: Ivan Rakov
 Fix For: 2.6


There are some parts of logic in Ignite that check whether two nodes are 
actually hosted on the same physical machine (e.g. excludeNeighbors flag in 
affinity function, load balancing for replicated cache, etc) and choose the 
appropriate behavior. These part can be tracked by usages of 
IgniteNodeAttributes#ATTR_MACS attribute.
I've tried to emulate distributed environment in tests by overriding ATTR_MACS 
with random UUID. This caused mass consistency failures in basic and Full API 
tests. We should investigate this: probably, many bugs are hidden by the fact 
that nodes are always started on the same physical machine in our TeamCity 
tests.

PR with macs override: https://github.com/apache/ignite/pull/4084
TC run: 
https://ci.ignite.apache.org/viewLog.html?buildId=1342076&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_RunAll



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


[jira] [Updated] (IGNITE-8646) Setting different MAC addresses to nodes in test environment causes mass test fail

2018-05-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8646:
---
Affects Version/s: 2.5

> Setting different MAC addresses to nodes in test environment causes mass test 
> fail
> --
>
> Key: IGNITE-8646
> URL: https://issues.apache.org/jira/browse/IGNITE-8646
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.5
>Reporter: Ivan Rakov
>Priority: Major
> Fix For: 2.6
>
>
> There are some parts of logic in Ignite that check whether two nodes are 
> actually hosted on the same physical machine (e.g. excludeNeighbors flag in 
> affinity function, load balancing for replicated cache, etc) and choose the 
> appropriate behavior. These part can be tracked by usages of 
> IgniteNodeAttributes#ATTR_MACS attribute.
> I've tried to emulate distributed environment in tests by overriding 
> ATTR_MACS with random UUID. This caused mass consistency failures in basic 
> and Full API tests. We should investigate this: probably, many bugs are 
> hidden by the fact that nodes are always started on the same physical machine 
> in our TeamCity tests.
> PR with macs override: https://github.com/apache/ignite/pull/4084
> TC run: 
> https://ci.ignite.apache.org/viewLog.html?buildId=1342076&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_RunAll



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


[jira] [Updated] (IGNITE-8476) AssertionError exception occurs when trying to remove node from baseline under loading

2018-05-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov updated IGNITE-8476:
---
Fix Version/s: 2.6

> AssertionError exception occurs when trying to remove node from baseline 
> under loading
> --
>
> Key: IGNITE-8476
> URL: https://issues.apache.org/jira/browse/IGNITE-8476
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.5
>Reporter: Dmitry Sherstobitov
>Assignee: Ivan Rakov
>Priority: Blocker
> Fix For: 2.6
>
>
> Run 6 nodes, start loading (8 threads, 1000 2x cache.get() and 2x cache.put() 
> in each thread per second)
> Kill 2 nodes and try to remove one node from baseline using
> control.sh --baseline remove node1
>  control.sh --baseline version TOPOLOGY_VERSION
>  
> Utility hangs or connected client may hangs, this assertion appears in log 
> For transactional cache:
> {code:java}
> [16:32:58,960][SEVERE][sys-stripe-14-#15][G] Failed to execute runnable.
> java.lang.AssertionError: localNode = be945692-c750-4d72-b9a1-9ac4170ff125, 
> dhtNodes = [ZookeeperClusterNode [id=810226e6-656a-460d-8069-ca7d2dd294ef, 
> addrs=[172.17.0.1, 0:0:0:0:0:0:0:1%lo, 172.25.1.28, 127.0.0.1], order=1, 
> loc=false, client=false], ZookeeperClusterNode 
> [id=be945692-c750-4d72-b9a1-9ac4170ff125, addrs=[172.17.0.1, 172.25.1.28, 
> 0:0:0:0:0:0:0:1%lo, 127.0.0.1], order=3, loc=true, client=false], 
> ZookeeperClusterNode [id=db4503f6-9185-4673-b38c-8890dfa69511, 
> addrs=[172.17.0.1, 172.25.1.37, 0:0:0:0:0:0:0:1%lo, 127.0.0.1], order=5, 
> loc=false, client=false], ZookeeperClusterNode 
> [id=3b8d8d4f-3513-4d39-a1fd-7ec5b15fc653, addrs=[172.17.0.1, 172.25.1.37, 
> 127.0.0.1, 0:0:0:0:0:0:0:1%lo], order=4, loc=false, client=false], 
> ZookeeperClusterNode [id=2bfc8c2e-2f47-4126-9cc4-6f017ce7efde, 
> addrs=[172.17.0.1, 172.25.1.37, 0:0:0:0:0:0:0:1%lo, 127.0.0.1], order=6, 
> loc=false, client=false]]
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.map(GridDhtTxPrepareFuture.java:1520)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare0(GridDhtTxPrepareFuture.java:1239)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.mapIfLocked(GridDhtTxPrepareFuture.java:671)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare(GridDhtTxPrepareFuture.java:1048)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.prepareAsync(GridDhtTxLocal.java:397)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prepareNearTx(IgniteTxHandler.java:516)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest0(IgniteTxHandler.java:150)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest(IgniteTxHandler.java:135)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.access$000(IgniteTxHandler.java:97)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:177)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:175)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1054)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:579)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293)
> at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556)
> at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
> at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:125)
> at 
> org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1091)
> at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.run(StripedExecutor.java:511)
> at java.lang.Thread.run(Thread.java:748){code}
> For atomic cache:
> {code:java}
> [18:40:12,858][SEVERE][sys-stripe-10-#11][GridCacheIoManager] Failed to 
> process message [senderId=9fde40b1-3b21-49de-b1ad-cdd0d9d902e5, 
> messageType=class 
> o.a.i.i.processors.

[jira] [Comment Edited] (IGNITE-8476) AssertionError exception occurs when trying to remove node from baseline under loading

2018-05-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov edited comment on IGNITE-8476 at 5/30/18 9:57 AM:
-

[~agoncharuk], please review the following PR: 
https://github.com/apache/ignite/pull/4085
It's fix without MAC address override for all tests.
TC run: 
https://ci.ignite.apache.org/viewLog.html?buildId=1343348&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_RunAll


was (Author: ivan.glukos):
[~agoncharuk], please review the following PR: 
https://github.com/apache/ignite/pull/4085
It's fix without MAC adress override for all tests.
TC run: 
https://ci.ignite.apache.org/viewLog.html?buildId=1343348&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_RunAll

> AssertionError exception occurs when trying to remove node from baseline 
> under loading
> --
>
> Key: IGNITE-8476
> URL: https://issues.apache.org/jira/browse/IGNITE-8476
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.5
>Reporter: Dmitry Sherstobitov
>Assignee: Ivan Rakov
>Priority: Blocker
> Fix For: 2.6
>
>
> Run 6 nodes, start loading (8 threads, 1000 2x cache.get() and 2x cache.put() 
> in each thread per second)
> Kill 2 nodes and try to remove one node from baseline using
> control.sh --baseline remove node1
>  control.sh --baseline version TOPOLOGY_VERSION
>  
> Utility hangs or connected client may hangs, this assertion appears in log 
> For transactional cache:
> {code:java}
> [16:32:58,960][SEVERE][sys-stripe-14-#15][G] Failed to execute runnable.
> java.lang.AssertionError: localNode = be945692-c750-4d72-b9a1-9ac4170ff125, 
> dhtNodes = [ZookeeperClusterNode [id=810226e6-656a-460d-8069-ca7d2dd294ef, 
> addrs=[172.17.0.1, 0:0:0:0:0:0:0:1%lo, 172.25.1.28, 127.0.0.1], order=1, 
> loc=false, client=false], ZookeeperClusterNode 
> [id=be945692-c750-4d72-b9a1-9ac4170ff125, addrs=[172.17.0.1, 172.25.1.28, 
> 0:0:0:0:0:0:0:1%lo, 127.0.0.1], order=3, loc=true, client=false], 
> ZookeeperClusterNode [id=db4503f6-9185-4673-b38c-8890dfa69511, 
> addrs=[172.17.0.1, 172.25.1.37, 0:0:0:0:0:0:0:1%lo, 127.0.0.1], order=5, 
> loc=false, client=false], ZookeeperClusterNode 
> [id=3b8d8d4f-3513-4d39-a1fd-7ec5b15fc653, addrs=[172.17.0.1, 172.25.1.37, 
> 127.0.0.1, 0:0:0:0:0:0:0:1%lo], order=4, loc=false, client=false], 
> ZookeeperClusterNode [id=2bfc8c2e-2f47-4126-9cc4-6f017ce7efde, 
> addrs=[172.17.0.1, 172.25.1.37, 0:0:0:0:0:0:0:1%lo, 127.0.0.1], order=6, 
> loc=false, client=false]]
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.map(GridDhtTxPrepareFuture.java:1520)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare0(GridDhtTxPrepareFuture.java:1239)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.mapIfLocked(GridDhtTxPrepareFuture.java:671)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare(GridDhtTxPrepareFuture.java:1048)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.prepareAsync(GridDhtTxLocal.java:397)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prepareNearTx(IgniteTxHandler.java:516)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest0(IgniteTxHandler.java:150)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest(IgniteTxHandler.java:135)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.access$000(IgniteTxHandler.java:97)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:177)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:175)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1054)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:579)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293)
> at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556)
> at 
> org.apache.ignite.internal.manage

[jira] [Commented] (IGNITE-8476) AssertionError exception occurs when trying to remove node from baseline under loading

2018-05-30 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8476:


[~agoncharuk], please review the following PR: 
https://github.com/apache/ignite/pull/4085
It's fix without MAC adress override for all tests.
TC run: 
https://ci.ignite.apache.org/viewLog.html?buildId=1343348&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_RunAll

> AssertionError exception occurs when trying to remove node from baseline 
> under loading
> --
>
> Key: IGNITE-8476
> URL: https://issues.apache.org/jira/browse/IGNITE-8476
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.5
>Reporter: Dmitry Sherstobitov
>Assignee: Ivan Rakov
>Priority: Blocker
> Fix For: 2.6
>
>
> Run 6 nodes, start loading (8 threads, 1000 2x cache.get() and 2x cache.put() 
> in each thread per second)
> Kill 2 nodes and try to remove one node from baseline using
> control.sh --baseline remove node1
>  control.sh --baseline version TOPOLOGY_VERSION
>  
> Utility hangs or connected client may hangs, this assertion appears in log 
> For transactional cache:
> {code:java}
> [16:32:58,960][SEVERE][sys-stripe-14-#15][G] Failed to execute runnable.
> java.lang.AssertionError: localNode = be945692-c750-4d72-b9a1-9ac4170ff125, 
> dhtNodes = [ZookeeperClusterNode [id=810226e6-656a-460d-8069-ca7d2dd294ef, 
> addrs=[172.17.0.1, 0:0:0:0:0:0:0:1%lo, 172.25.1.28, 127.0.0.1], order=1, 
> loc=false, client=false], ZookeeperClusterNode 
> [id=be945692-c750-4d72-b9a1-9ac4170ff125, addrs=[172.17.0.1, 172.25.1.28, 
> 0:0:0:0:0:0:0:1%lo, 127.0.0.1], order=3, loc=true, client=false], 
> ZookeeperClusterNode [id=db4503f6-9185-4673-b38c-8890dfa69511, 
> addrs=[172.17.0.1, 172.25.1.37, 0:0:0:0:0:0:0:1%lo, 127.0.0.1], order=5, 
> loc=false, client=false], ZookeeperClusterNode 
> [id=3b8d8d4f-3513-4d39-a1fd-7ec5b15fc653, addrs=[172.17.0.1, 172.25.1.37, 
> 127.0.0.1, 0:0:0:0:0:0:0:1%lo], order=4, loc=false, client=false], 
> ZookeeperClusterNode [id=2bfc8c2e-2f47-4126-9cc4-6f017ce7efde, 
> addrs=[172.17.0.1, 172.25.1.37, 0:0:0:0:0:0:0:1%lo, 127.0.0.1], order=6, 
> loc=false, client=false]]
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.map(GridDhtTxPrepareFuture.java:1520)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare0(GridDhtTxPrepareFuture.java:1239)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.mapIfLocked(GridDhtTxPrepareFuture.java:671)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare(GridDhtTxPrepareFuture.java:1048)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.prepareAsync(GridDhtTxLocal.java:397)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prepareNearTx(IgniteTxHandler.java:516)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest0(IgniteTxHandler.java:150)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest(IgniteTxHandler.java:135)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.access$000(IgniteTxHandler.java:97)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:177)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:175)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1054)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:579)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293)
> at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556)
> at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
> at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:125)
> at 
> org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1091)
> at 
> org.apache.ignite.internal.util.StripedExecutor$S

[jira] [Commented] (IGNITE-8603) Add JMX-metric to cluster: baseline nodes

2018-05-29 Thread Ivan Rakov (JIRA)


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

Ivan Rakov commented on IGNITE-8603:


[~dgladkikh], some comments:
1. Code style
1.1. #getTotalBaselineNodes and #getActiveBaselineNodes in 
ClusterLocalNodeMetricsMXBeanImpl class lack {@inheritDoc}
1.2. Semantic units of #getTotalBaselineNodes body should be separated by blank 
lines - check "Whitespaces and empty lines" section of 
https://cwiki.apache.org/confluence/display/IGNITE/Coding+Guidelines
1.3. One-liner in #getTotalBaselineNodes body shouldn't be enclosed in curly 
braces, see "Braces and Identation" section
1.4. Points 1.2 and 1.3 relate to ClusterMetricsMXBeanImpl as well
2. I think, it would be good to add test case when non-baseline server node is 
present in the cluster
3. ClusterBaselineNodesMetricsSelfTest is not included in any test suite
4. Please schedule Run All on public TeamCity and attach link here

> Add JMX-metric to cluster: baseline nodes
> -
>
> Key: IGNITE-8603
> URL: https://issues.apache.org/jira/browse/IGNITE-8603
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Dmitriy Gladkikh
>Assignee: Dmitriy Gladkikh
>Priority: Major
> Fix For: 2.6
>
>
> Need to add a baseline nodes on JMX:
> {code:java}
> int org.apache.ignite.mxbean.ClusterMetricsMXBean#getTotalBaselineNodes
> int org.apache.ignite.mxbean.ClusterMetricsMXBean#getActiveBaselineNodes
> {code}



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


[jira] [Commented] (IGNITE-8524) Document consistency check utilities

2018-05-28 Thread Ivan Rakov (JIRA)

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

Ivan Rakov commented on IGNITE-8524:


[~dmagda], thanks, I have the access now.

> Document consistency check utilities
> 
>
> Key: IGNITE-8524
> URL: https://issues.apache.org/jira/browse/IGNITE-8524
> Project: Ignite
>  Issue Type: Task
>  Components: documentation
>Reporter: Denis Magda
>Assignee: Ivan Rakov
>Priority: Critical
> Fix For: 2.5
>
>
> Ignite 2.5 will go with special consistency check utilities that, for 
> instance, ensure that the data stays consistent across backups, indexes are 
> correct and many other things. More details can be taken from here:
> * https://issues.apache.org/jira/browse/IGNITE-8277
> * https://issues.apache.org/jira/browse/IGNITE-7467
> Here is an empty page that is created for the documentation: 
> https://apacheignite.readme.io/docs/consistency-check-utilities



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


[jira] [Updated] (IGNITE-8625) Dynamic SQL index recreate after cache clear may result in AssertionError or JVM crash

2018-05-28 Thread Ivan Rakov (JIRA)

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

Ivan Rakov updated IGNITE-8625:
---
Description: 
After recreation of previously dropped SQL index (in persistent mode), root 
page of new index B+ tree may contain links to data entries from previous index 
tree. If these entries were removed or relocated to another data page, attempt 
to dereference these links may throw AssertionError or even cause JVM crash.
Patch with reproducer is attached.

P.S. Please note that with IGNITE-4958 fix old invalid links may refer to 
non-data page - it might have been recycled into page with any other type. Such 
case will cause AssertionError on page read lock attempt. Rolling back 
IGNITE-4958 may help with debugging.


  was:
After recreation of previously dropped SQL index (in persistent mode), root 
page of new index B+ tree may contain links to data entries from previous index 
tree. If these entries were removed or relocated to another data page, attempt 
to dereference these links may throw AssertionError or even cause JVM crash.
Patch with reproducer is attached.
Please note that with IGNITE-4958 fix old invalid links may refer to non-data 
page - it might have been recycled into page with any other type. Such case 
will cause AssertionError on page read lock attempt. Rolling back of 
IGNITE-4958 may help with debugging.



> Dynamic SQL index recreate after cache clear may result in AssertionError or 
> JVM crash
> --
>
> Key: IGNITE-8625
> URL: https://issues.apache.org/jira/browse/IGNITE-8625
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence, sql
>Reporter: Ivan Rakov
>Assignee: Alexey Stelmak
>Priority: Critical
> Fix For: 2.6
>
> Attachments: dyn_idx_reproducer.patch
>
>
> After recreation of previously dropped SQL index (in persistent mode), root 
> page of new index B+ tree may contain links to data entries from previous 
> index tree. If these entries were removed or relocated to another data page, 
> attempt to dereference these links may throw AssertionError or even cause JVM 
> crash.
> Patch with reproducer is attached.
> P.S. Please note that with IGNITE-4958 fix old invalid links may refer to 
> non-data page - it might have been recycled into page with any other type. 
> Such case will cause AssertionError on page read lock attempt. Rolling back 
> IGNITE-4958 may help with debugging.



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


[jira] [Updated] (IGNITE-8625) Dynamic SQL index recreate after cache clear may result in AssertionError or JVM crash

2018-05-28 Thread Ivan Rakov (JIRA)

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

Ivan Rakov updated IGNITE-8625:
---
Description: 
After recreation of previously dropped SQL index (in persistent mode), root 
page of new index B+ tree may contain links to data entries from previous index 
tree. If these entries were removed or relocated to another data page, attempt 
to dereference these links may throw AssertionError or even cause JVM crash.
Patch with reproducer is attached.
Please note that with IGNITE-4958 fix old invalid links may refer to non-data 
page - it might have been recycled into page with any other type. Such case 
will cause AssertionError on page read lock attempt. Rolling back of 
IGNITE-4958 may help with debugging.


  was:
After recreation of previously dropped SQL index (in persistent mode), root 
page of new index B+ tree may contain links to data entries from previous index 
tree. If these entries were removed or relocated to another data page, attempt 
to dereference these links may throw AssertionError or even cause JVM crash.
Patch with reproducer is attached.
Please note that with IGNITE-4958 fix old invalid links may refer to non-data 
page - it may have been recycled into page with any other type. Such case will 
cause AssertionError on page read lock attempt. Rolling back of IGNITE-4958 may 
help with debugging.



> Dynamic SQL index recreate after cache clear may result in AssertionError or 
> JVM crash
> --
>
> Key: IGNITE-8625
> URL: https://issues.apache.org/jira/browse/IGNITE-8625
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence, sql
>Reporter: Ivan Rakov
>Assignee: Alexey Stelmak
>Priority: Critical
> Fix For: 2.6
>
> Attachments: dyn_idx_reproducer.patch
>
>
> After recreation of previously dropped SQL index (in persistent mode), root 
> page of new index B+ tree may contain links to data entries from previous 
> index tree. If these entries were removed or relocated to another data page, 
> attempt to dereference these links may throw AssertionError or even cause JVM 
> crash.
> Patch with reproducer is attached.
> Please note that with IGNITE-4958 fix old invalid links may refer to non-data 
> page - it might have been recycled into page with any other type. Such case 
> will cause AssertionError on page read lock attempt. Rolling back of 
> IGNITE-4958 may help with debugging.



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


[jira] [Updated] (IGNITE-8625) Dynamic SQL index recreate after cache clear may result in AssertionError or JVM crash

2018-05-28 Thread Ivan Rakov (JIRA)

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

Ivan Rakov updated IGNITE-8625:
---
Description: 
After recreation of previously dropped SQL index (in persistent mode), root 
page of new index B+ tree may contain links to data entries from previous index 
tree. If these entries were removed or relocated to another data page, attempt 
to dereference these links may throw AssertionError or even cause JVM crash.
Patch with reproducer is attached.
Please note that with IGNITE-4958 fix old invalid links may refer to non-data 
page - it may have been recycled into page with any other type. Such case will 
cause AssertionError on page read lock attempt. Rolling back of IGNITE-4958 may 
help with debugging.


  was:
After recreation of previously dropped SQL index (in persistent mode), root 
page of new index B+ tree may contain links to data entries from previous index 
tree. If these entries were removed or relocated to another data page, attempt 
to dereference these links may throw AssertionError or even cause JVM crash.
Patch with reproducer is attached.


> Dynamic SQL index recreate after cache clear may result in AssertionError or 
> JVM crash
> --
>
> Key: IGNITE-8625
> URL: https://issues.apache.org/jira/browse/IGNITE-8625
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence, sql
>Reporter: Ivan Rakov
>Assignee: Alexey Stelmak
>Priority: Critical
> Fix For: 2.6
>
> Attachments: dyn_idx_reproducer.patch
>
>
> After recreation of previously dropped SQL index (in persistent mode), root 
> page of new index B+ tree may contain links to data entries from previous 
> index tree. If these entries were removed or relocated to another data page, 
> attempt to dereference these links may throw AssertionError or even cause JVM 
> crash.
> Patch with reproducer is attached.
> Please note that with IGNITE-4958 fix old invalid links may refer to non-data 
> page - it may have been recycled into page with any other type. Such case 
> will cause AssertionError on page read lock attempt. Rolling back of 
> IGNITE-4958 may help with debugging.



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


[jira] [Assigned] (IGNITE-8625) Dynamic SQL index recreate after cache clear may result in AssertionError or JVM crash

2018-05-28 Thread Ivan Rakov (JIRA)

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

Ivan Rakov reassigned IGNITE-8625:
--

Assignee: Alexey Stelmak

> Dynamic SQL index recreate after cache clear may result in AssertionError or 
> JVM crash
> --
>
> Key: IGNITE-8625
> URL: https://issues.apache.org/jira/browse/IGNITE-8625
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence, sql
>Reporter: Ivan Rakov
>Assignee: Alexey Stelmak
>Priority: Critical
> Fix For: 2.6
>
> Attachments: dyn_idx_reproducer.patch
>
>
> After recreation of previously dropped SQL index (in persistent mode), root 
> page of new index B+ tree may contain links to data entries from previous 
> index tree. If these entries were removed or relocated to another data page, 
> attempt to dereference these links may throw AssertionError or even cause JVM 
> crash.
> Patch with reproducer is attached.



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


[jira] [Updated] (IGNITE-8625) Dynamic SQL index recreate after cache clear may result in AssertionError or JVM crash

2018-05-28 Thread Ivan Rakov (JIRA)

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

Ivan Rakov updated IGNITE-8625:
---
Component/s: sql
 persistence

> Dynamic SQL index recreate after cache clear may result in AssertionError or 
> JVM crash
> --
>
> Key: IGNITE-8625
> URL: https://issues.apache.org/jira/browse/IGNITE-8625
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence, sql
>Reporter: Ivan Rakov
>Assignee: Alexey Stelmak
>Priority: Critical
> Fix For: 2.6
>
> Attachments: dyn_idx_reproducer.patch
>
>
> After recreation of previously dropped SQL index (in persistent mode), root 
> page of new index B+ tree may contain links to data entries from previous 
> index tree. If these entries were removed or relocated to another data page, 
> attempt to dereference these links may throw AssertionError or even cause JVM 
> crash.
> Patch with reproducer is attached.



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


[jira] [Updated] (IGNITE-8625) Dynamic SQL index recreate after cache clear may result in AssertionError or JVM crash

2018-05-28 Thread Ivan Rakov (JIRA)

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

Ivan Rakov updated IGNITE-8625:
---
Description: 
After recreation of previously dropped SQL index (in persistent mode), root 
page of new index B+ tree may contain links to data entries from previous index 
tree. If there entries were removed or relocated to another data page, attempt 
to dereference these links may throw AssertionError or even cause JVM crash.
Patch with reproducer is attached.

  was:
After recreation of previously dropped SQL index (in persistent mode), root 
page of new index B+ tree may contain links to data entries from previous index 
tree. If they were removed or relocated to another data page, attempt to 
dereference these links may throw AssertionError or even cause JVM crash.
Patch with reproducer is attached.


> Dynamic SQL index recreate after cache clear may result in AssertionError or 
> JVM crash
> --
>
> Key: IGNITE-8625
> URL: https://issues.apache.org/jira/browse/IGNITE-8625
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Priority: Major
> Fix For: 2.6
>
> Attachments: dyn_idx_reproducer.patch
>
>
> After recreation of previously dropped SQL index (in persistent mode), root 
> page of new index B+ tree may contain links to data entries from previous 
> index tree. If there entries were removed or relocated to another data page, 
> attempt to dereference these links may throw AssertionError or even cause JVM 
> crash.
> Patch with reproducer is attached.



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


[jira] [Updated] (IGNITE-8625) Dynamic SQL index recreate after cache clear may result in AssertionError or JVM crash

2018-05-28 Thread Ivan Rakov (JIRA)

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

Ivan Rakov updated IGNITE-8625:
---
Priority: Critical  (was: Major)

> Dynamic SQL index recreate after cache clear may result in AssertionError or 
> JVM crash
> --
>
> Key: IGNITE-8625
> URL: https://issues.apache.org/jira/browse/IGNITE-8625
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Priority: Critical
> Fix For: 2.6
>
> Attachments: dyn_idx_reproducer.patch
>
>
> After recreation of previously dropped SQL index (in persistent mode), root 
> page of new index B+ tree may contain links to data entries from previous 
> index tree. If these entries were removed or relocated to another data page, 
> attempt to dereference these links may throw AssertionError or even cause JVM 
> crash.
> Patch with reproducer is attached.



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


[jira] [Updated] (IGNITE-8625) Dynamic SQL index recreate after cache clear may result in AssertionError or JVM crash

2018-05-28 Thread Ivan Rakov (JIRA)

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

Ivan Rakov updated IGNITE-8625:
---
Description: 
After recreation of previously dropped SQL index (in persistent mode), root 
page of new index B+ tree may contain links to data entries from previous index 
tree. If these entries were removed or relocated to another data page, attempt 
to dereference these links may throw AssertionError or even cause JVM crash.
Patch with reproducer is attached.

  was:
After recreation of previously dropped SQL index (in persistent mode), root 
page of new index B+ tree may contain links to data entries from previous index 
tree. If there entries were removed or relocated to another data page, attempt 
to dereference these links may throw AssertionError or even cause JVM crash.
Patch with reproducer is attached.


> Dynamic SQL index recreate after cache clear may result in AssertionError or 
> JVM crash
> --
>
> Key: IGNITE-8625
> URL: https://issues.apache.org/jira/browse/IGNITE-8625
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Priority: Major
> Fix For: 2.6
>
> Attachments: dyn_idx_reproducer.patch
>
>
> After recreation of previously dropped SQL index (in persistent mode), root 
> page of new index B+ tree may contain links to data entries from previous 
> index tree. If these entries were removed or relocated to another data page, 
> attempt to dereference these links may throw AssertionError or even cause JVM 
> crash.
> Patch with reproducer is attached.



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


[jira] [Updated] (IGNITE-8625) Dynamic SQL index recreate after cache clear may result in AssertionError or JVM crash

2018-05-28 Thread Ivan Rakov (JIRA)

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

Ivan Rakov updated IGNITE-8625:
---
Description: 
After recreation of previously dropped SQL index (in persistent mode), root 
page of new index B+ tree may contain links to data entries from previous index 
tree. If they were removed or relocated to another data page, attempt to 
dereference these links may throw AssertionError or even cause JVM crash.
Patch with reproducer is attached.

  was:
After recreation of previously dropped SQL index, root page of new index B+ 
tree may contain links to data entries from previous index tree. If they were 
removed or relocated to another data page, attempt to dereference these links 
may throw AssertionError or even cause JVM crash.
Patch with reproducer is attached.


> Dynamic SQL index recreate after cache clear may result in AssertionError or 
> JVM crash
> --
>
> Key: IGNITE-8625
> URL: https://issues.apache.org/jira/browse/IGNITE-8625
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Priority: Major
> Fix For: 2.6
>
> Attachments: dyn_idx_reproducer.patch
>
>
> After recreation of previously dropped SQL index (in persistent mode), root 
> page of new index B+ tree may contain links to data entries from previous 
> index tree. If they were removed or relocated to another data page, attempt 
> to dereference these links may throw AssertionError or even cause JVM crash.
> Patch with reproducer is attached.



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


[jira] [Updated] (IGNITE-8625) Dynamic SQL index recreate after cache clear may result in AssertionError or JVM crash

2018-05-28 Thread Ivan Rakov (JIRA)

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

Ivan Rakov updated IGNITE-8625:
---
Attachment: dyn_idx_reproducer.patch

> Dynamic SQL index recreate after cache clear may result in AssertionError or 
> JVM crash
> --
>
> Key: IGNITE-8625
> URL: https://issues.apache.org/jira/browse/IGNITE-8625
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Rakov
>Priority: Major
> Fix For: 2.6
>
> Attachments: dyn_idx_reproducer.patch
>
>
> After recreation of previously dropped SQL index, root page of new index B+ 
> tree may contain links to data entries from previous index tree. If they were 
> removed or relocated to another data page, attempt to dereference these links 
> may throw AssertionError or even cause JVM crash.
> Patch with reproducer is attached.



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


[jira] [Created] (IGNITE-8625) Dynamic SQL index recreate after cache clear may result in AssertionError or JVM crash

2018-05-28 Thread Ivan Rakov (JIRA)
Ivan Rakov created IGNITE-8625:
--

 Summary: Dynamic SQL index recreate after cache clear may result 
in AssertionError or JVM crash
 Key: IGNITE-8625
 URL: https://issues.apache.org/jira/browse/IGNITE-8625
 Project: Ignite
  Issue Type: Bug
Reporter: Ivan Rakov
 Fix For: 2.6


After recreation of previously dropped SQL index, root page of new index B+ 
tree may contain links to data entries from previous index tree. If they were 
removed or relocated to another data page, attempt to dereference these links 
may throw AssertionError or even cause JVM crash.
Patch with reproducer is attached.



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


[jira] [Updated] (IGNITE-8529) Implement testing framework for checking WAL delta records consistency

2018-05-25 Thread Ivan Rakov (JIRA)

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

Ivan Rakov updated IGNITE-8529:
---
Description: 
We use sharp checkpointing of page memory in persistent mode. That implies that 
we write two types of records to write-ahead log: logical (e.g. data records) 
and phyisical (page snapshots + binary delta records). Physical records are 
applied only when node crashes/stops during ongoing checkpoint. We have the 
following invariant: checkpoint #(n-1) + all physical records = checkpoint #n.
If correctness of physical records is broken, Ignite node may recover with 
incorrect page memory state, which in turn can bring unexpected delayed errors. 
However, consistency of physical records is poorly tested: only small part of 
our autotests perform node restarts, and even less part of them perform node 
stop when ongoing checkpoint is running.
We should implement abstract test that:
1. Enforces checkpoint, freezes memory state at the moment of checkpoint.
2. Performs necessary test load.
3. Enforces checkpoint again, replays WAL and checks that page store at the 
moment of previous checkpoint with all applied physical records exactly equals 
to current checkpoint state.
Except for checking correctness, test framework should do the following:
1. Gather statistics (like histogram) for types of wriiten physical records. 
That will help us to know what types of physical records are covered by test.
2. Visualize expected and actual page state (with all applied physical records) 
if incorrect page state is detected.
Regarding implementation, I suppose we can use checkpoint listener mechanism to 
freeze page memory state at the moment of checkpoint.

  was:
We use sharp checkpointing of page memory in persistent mode. That implies that 
we write two types of record to write-ahead log: logical (e.g. data records) 
and phyisical (page snapshots + binary delta records). Physical records are 
applied only when node crashes/stops during ongoing checkpoint. We have the 
following invariant: checkpoint #(n-1) + all physical records = checkpoint #n.
If correctness of physical records is broken, Ignite node may recover with 
incorrect page memory state, which in turn can bring unexpected delayed errors. 
However, consistency of physical records is poorly tested: only small part of 
our autotests perform node restarts, and even less part of them perform node 
stop when ongoing checkpoint is running.
We should implement abstract test that:
1. Enforces checkpoint, freezes memory state at the moment of checkpoint.
2. Performs necessary test load.
3. Enforces checkpoint again, replays WAL and checks that page store at the 
moment of previous checkpoint with all applied physical records exactly equals 
to current checkpoint state.
Except for checking correctness, test framework should do the following:
1. Gather statistics (like histogram) for types of wriiten physical records. 
That will help us to know what types of physical records are covered by test.
2. Visualize expected and actual page state (with all applied physical records) 
if incorrect page state is detected.
Regarding implementation, I suppose we can use checkpoint listener mechanism to 
freeze page memory state at the moment of checkpoint.


> Implement testing framework for checking WAL delta records consistency
> --
>
> Key: IGNITE-8529
> URL: https://issues.apache.org/jira/browse/IGNITE-8529
> Project: Ignite
>  Issue Type: New Feature
>  Components: persistence
>Reporter: Ivan Rakov
>Assignee: Aleksey Plekhanov
>Priority: Major
> Fix For: 2.6
>
>
> We use sharp checkpointing of page memory in persistent mode. That implies 
> that we write two types of records to write-ahead log: logical (e.g. data 
> records) and phyisical (page snapshots + binary delta records). Physical 
> records are applied only when node crashes/stops during ongoing checkpoint. 
> We have the following invariant: checkpoint #(n-1) + all physical records = 
> checkpoint #n.
> If correctness of physical records is broken, Ignite node may recover with 
> incorrect page memory state, which in turn can bring unexpected delayed 
> errors. However, consistency of physical records is poorly tested: only small 
> part of our autotests perform node restarts, and even less part of them 
> perform node stop when ongoing checkpoint is running.
> We should implement abstract test that:
> 1. Enforces checkpoint, freezes memory state at the moment of checkpoint.
> 2. Performs necessary test load.
> 3. Enforces checkpoint again, replays WAL and checks that page store at the 
> moment of previous checkpoint with all applied physical records exactly 
> equals to current checkpoint state.
> Except for checking correctness, test framew

[jira] [Comment Edited] (IGNITE-8524) Document consistency check utilities

2018-05-24 Thread Ivan Rakov (JIRA)

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

Ivan Rakov edited comment on IGNITE-8524 at 5/24/18 3:22 PM:
-

[~dmagda], please take a look.

P. S. In addition to the described consistency check options, ./control.sh 
--cache subcommand allows to:
1. View existing atomic sequences with ./control.sh --cache seq
2. View list of working caches along with their parameters with ./control.sh 
--cache caches
3. View info about cache groups with ./control.sh --cache groups
These commands doesn't relate to consistency checks, but can be helpful in 
understanding what's going in the cluster. Should I document them on the same 
page?


was (Author: ivan.glukos):
[~dmagda], please take a look.

P. S. In addition to the described consistency check options, ./control.sh 
--cache subcommand allows to:
1. View existing atomic sequences with ./control.sh --cache seq
2. View list of working caches along with their parameters with ./control.sh 
--cache caches
3. View info about cache groups with ./control.sh --cache groups
These commands doesn't relate to consistency checks, but can be helpful in 
understanding what's going in cluster. Should I document them on the same page?

> Document consistency check utilities
> 
>
> Key: IGNITE-8524
> URL: https://issues.apache.org/jira/browse/IGNITE-8524
> Project: Ignite
>  Issue Type: Task
>  Components: documentation
>Reporter: Denis Magda
>Assignee: Ivan Rakov
>Priority: Critical
> Fix For: 2.5
>
>
> Ignite 2.5 will go with special consistency check utilities that, for 
> instance, ensure that the data stays consistent across backups, indexes are 
> correct and many other things. More details can be taken from here:
> * https://issues.apache.org/jira/browse/IGNITE-8277
> * https://issues.apache.org/jira/browse/IGNITE-7467
> Here is an empty page that is created for the documentation: 
> https://apacheignite.readme.io/docs/consistency-check-utilities



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


[jira] [Comment Edited] (IGNITE-8524) Document consistency check utilities

2018-05-24 Thread Ivan Rakov (JIRA)

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

Ivan Rakov edited comment on IGNITE-8524 at 5/24/18 3:21 PM:
-

[~dmagda], please take a look.

P. S. In addition to the described consistency check options, ./control.sh 
--cache subcommand allows to:
1. View existing atomic sequences with ./control.sh --cache seq
2. View list of working caches along with their parameters with ./control.sh 
--cache caches
3. View info about cache groups with ./control.sh --cache groups
These commands doesn't relate to consistency checks, but can be helpful in 
understanding what's going in cluster. Should I document them on the same page?


was (Author: ivan.glukos):
[~dmagda], please take a look.

P. S. Except for described consistency check options, ./control.sh --cache 
subcommand allows to:
1. View existing atomic sequences with ./control.sh --cache seq
2. View list of working caches along with their parameters with ./control.sh 
--cache caches
3. View info about cache groups with ./control.sh --cache groups
These commands doesn't relate to consistency checks, but can be helpful in 
understanding what's going in cluster. Should I document them on the same page?

> Document consistency check utilities
> 
>
> Key: IGNITE-8524
> URL: https://issues.apache.org/jira/browse/IGNITE-8524
> Project: Ignite
>  Issue Type: Task
>  Components: documentation
>Reporter: Denis Magda
>Assignee: Ivan Rakov
>Priority: Critical
> Fix For: 2.5
>
>
> Ignite 2.5 will go with special consistency check utilities that, for 
> instance, ensure that the data stays consistent across backups, indexes are 
> correct and many other things. More details can be taken from here:
> * https://issues.apache.org/jira/browse/IGNITE-8277
> * https://issues.apache.org/jira/browse/IGNITE-7467
> Here is an empty page that is created for the documentation: 
> https://apacheignite.readme.io/docs/consistency-check-utilities



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


[jira] [Comment Edited] (IGNITE-8524) Document consistency check utilities

2018-05-24 Thread Ivan Rakov (JIRA)

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

Ivan Rakov edited comment on IGNITE-8524 at 5/24/18 3:21 PM:
-

[~dmagda], please take a look.

P. S. Except for described consistency check options, ./control.sh --cache 
subcommand allows to:
1. View existing atomic sequences with ./control.sh --cache seq
2. View list of working caches along with their parameters with ./control.sh 
--cache caches
3. View info about cache groups with ./control.sh --cache groups
These commands doesn't relate to consistency checks, but can be helpful in 
understanding what's going in cluster. Should I document them on the same page?


was (Author: ivan.glukos):
[~dmagda], please take a look.

P. S. Except for described consistency check options, ./control.sh --cache 
subcommand allows to:
1. View existing atomic sequences with ./control.sh --cache seq
2. View list of working caches along with their parameters with ./control.sh 
--cache caches
3. View info about cache groups with ./control.sh --cache groups
These commands doesn't relate to consistency checks, but can be helpful in 
understanding what's going in cluster. Should I document them in the same page?

> Document consistency check utilities
> 
>
> Key: IGNITE-8524
> URL: https://issues.apache.org/jira/browse/IGNITE-8524
> Project: Ignite
>  Issue Type: Task
>  Components: documentation
>Reporter: Denis Magda
>Assignee: Ivan Rakov
>Priority: Critical
> Fix For: 2.5
>
>
> Ignite 2.5 will go with special consistency check utilities that, for 
> instance, ensure that the data stays consistent across backups, indexes are 
> correct and many other things. More details can be taken from here:
> * https://issues.apache.org/jira/browse/IGNITE-8277
> * https://issues.apache.org/jira/browse/IGNITE-7467
> Here is an empty page that is created for the documentation: 
> https://apacheignite.readme.io/docs/consistency-check-utilities



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


[jira] [Comment Edited] (IGNITE-8524) Document consistency check utilities

2018-05-24 Thread Ivan Rakov (JIRA)

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

Ivan Rakov edited comment on IGNITE-8524 at 5/24/18 3:20 PM:
-

[~dmagda], please take a look.

P. S. Except for described consistency check options, ./control.sh --cache 
subcommand allows to:
1. View existing atomic sequences with ./control.sh --cache seq
2. View list of working caches along with their parameters with ./control.sh 
--cache caches
3. View info about cache groups with ./control.sh --cache groups
These commands doesn't relate to consistency checks, but can be helpful in 
understanding what's going in cluster. Should I document them in the same page?


was (Author: ivan.glukos):
[~dmagda], please take a look.

> Document consistency check utilities
> 
>
> Key: IGNITE-8524
> URL: https://issues.apache.org/jira/browse/IGNITE-8524
> Project: Ignite
>  Issue Type: Task
>  Components: documentation
>Reporter: Denis Magda
>Assignee: Ivan Rakov
>Priority: Critical
> Fix For: 2.5
>
>
> Ignite 2.5 will go with special consistency check utilities that, for 
> instance, ensure that the data stays consistent across backups, indexes are 
> correct and many other things. More details can be taken from here:
> * https://issues.apache.org/jira/browse/IGNITE-8277
> * https://issues.apache.org/jira/browse/IGNITE-7467
> Here is an empty page that is created for the documentation: 
> https://apacheignite.readme.io/docs/consistency-check-utilities



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


[jira] [Commented] (IGNITE-8560) Update index validation utility to use statistical check approach

2018-05-24 Thread Ivan Rakov (JIRA)

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

Ivan Rakov commented on IGNITE-8560:


Thanks, merged to master.

> Update index validation utility to use statistical check approach
> -
>
> Key: IGNITE-8560
> URL: https://issues.apache.org/jira/browse/IGNITE-8560
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexey Goncharuk
>Assignee: Sergey Chugunov
>Priority: Major
> Fix For: 2.6
>
>
> Currently, the check index feature of {{control.sh}} scans the full data set 
> which has N * logN complexity. On large data sets this takes too long to 
> complete. 
> To mitigate this, I suggest to add an option 
> * to check either first K entries
> * to check each Kth entry



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


[jira] [Commented] (IGNITE-8524) Document consistency check utilities

2018-05-24 Thread Ivan Rakov (JIRA)

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

Ivan Rakov commented on IGNITE-8524:


[~dmagda], please take a look.

> Document consistency check utilities
> 
>
> Key: IGNITE-8524
> URL: https://issues.apache.org/jira/browse/IGNITE-8524
> Project: Ignite
>  Issue Type: Task
>  Components: documentation
>Reporter: Denis Magda
>Assignee: Ivan Rakov
>Priority: Critical
> Fix For: 2.5
>
>
> Ignite 2.5 will go with special consistency check utilities that, for 
> instance, ensure that the data stays consistent across backups, indexes are 
> correct and many other things. More details can be taken from here:
> * https://issues.apache.org/jira/browse/IGNITE-8277
> * https://issues.apache.org/jira/browse/IGNITE-7467
> Here is an empty page that is created for the documentation: 
> https://apacheignite.readme.io/docs/consistency-check-utilities



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


[jira] [Created] (IGNITE-8594) Make error messages in validate_indexes command report more informative

2018-05-24 Thread Ivan Rakov (JIRA)
Ivan Rakov created IGNITE-8594:
--

 Summary: Make error messages in validate_indexes command report 
more informative
 Key: IGNITE-8594
 URL: https://issues.apache.org/jira/browse/IGNITE-8594
 Project: Ignite
  Issue Type: Improvement
Reporter: Ivan Rakov
Assignee: Ivan Rakov
 Fix For: 2.6


In case index is broken and contains links to missing items in data pages, 
validate_indexes command will show "Item not found" messages in report:
{noformat}
IndexValidationIssue [key=null, cacheName=cache_group_1_028, idxName=_key_PK], 
class java.lang.IllegalStateException: Item not found: 65
IndexValidationIssue [key=null, cacheName=cache_group_1_028, idxName=_key_PK], 
class java.lang.IllegalStateException: Item not found: 15
SQL Index [cache=cache_group_1_028, idx=LONG__VAL_IDX] 
ValidateIndexesPartitionResult [consistentId=node2, sqlIdxName=LONG__VAL_IDX]
IndexValidationIssue [key=null, cacheName=cache_group_1_028, 
idxName=LONG__VAL_IDX], class java.lang.IllegalStateException: Item not found: 
60
IndexValidationIssue [key=null, cacheName=cache_group_1_028, 
idxName=LONG__VAL_IDX], class java.lang.IllegalStateException: Item not found: 
65
IndexValidationIssue [key=null, cacheName=cache_group_1_028, 
idxName=LONG__VAL_IDX], class java.lang.IllegalStateException: Item not found: 
65
IndexValidationIssue [key=null, cacheName=cache_group_1_028, 
idxName=LONG__VAL_IDX], class java.lang.IllegalStateException: Item not found: 
15
{noformat}
It would be better to explain what is happening: key is present in SQL index, 
but missing in corresponding data page.



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


<    1   2   3   4   5   6   7   8   9   >