[
https://issues.apache.org/jira/browse/IGNITE-8320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16479074#comment-16479074
]
ASF GitHub Bot commented on IGNITE-8320:
----------------------------------------
GitHub user Jokser opened a pull request:
https://github.com/apache/ignite/pull/4016
IGNITE-8320 Backport to 2.4
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/gridgain/apache-ignite ignite-gg-13826
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/4016.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #4016
----
commit 79cc7728c87d942316213679f39cfeee46f9bfee
Author: zaleslaw <zaleslaw.sin@...>
Date: 2018-01-30T14:25:08Z
IGNITE-7567: Fixed bug with datasest in examples
this closes #3453
(cherry picked from commit b42a5c5)
commit 915dd2966084d78f7b4f3d482e6bd25f860c1e23
Author: Alexey Goncharuk <alexey.goncharuk@...>
Date: 2018-01-31T08:22:26Z
IGNITE-7569 Fixed index rebuild future - Fixes #3454.
commit 8ea8609259039852ab0c26f26ac528c1ffae7c94
Author: Alexey Goncharuk <alexey.goncharuk@...>
Date: 2018-01-31T08:24:57Z
IGNITE-7577 Fixing public API active flag on baseline changes - Fixes #3455.
commit d1a23c684dfadedf2b28966a223684827f3c5d7b
Author: David Wimsey <david@...>
Date: 2018-01-31T08:47:25Z
IGNITE-7576 Scripts: fix version check regexp to handle OpenJDK
This closes #3456
commit c8ce1f66e98b3174d771a3b801a2538499dc2c3d
Author: Ivan Rakov <ivan.glukos@...>
Date: 2018-01-31T09:51:09Z
IGNITE-7475 Improved VerifyBackupPartitionsTask to calculate partition
hashes in parallel - Fixes #3407.
Signed-off-by: Alexey Goncharuk <[email protected]>
commit 258ff4299da20122d7c387cb8579264035c93c18
Author: Alexey Goncharuk <alexey.goncharuk@...>
Date: 2018-01-31T13:52:24Z
IGNITE-7573 Fixed full API tests to be compliant with baseline topology
commit aca3b8c664de8dcbbfeabbb0f8c252194d6ad1b2
Author: Pavel Tupitsyn <ptupitsyn@...>
Date: 2018-01-31T16:49:07Z
IGNITE-7473 .NET: Fix ConfigurationManager assembly error on Linux
commit 7bb61dfb1dcbcd7592222f159618a008bd02f6e6
Author: Alexey Kuznetsov <akuznetsov@...>
Date: 2018-02-01T08:22:53Z
ignite-2.4.0 Update version.
(cherry picked from commit 2e43749)
commit 254ed3a9c32d092702a0461509bf867cbd7cdee6
Author: Alexey Kuznetsov <akuznetsov@...>
Date: 2018-02-01T08:22:53Z
ignite-2.4.0 Update version.
(cherry picked from commit 2e43749)
commit d5782c53b8beab17ea4f953ad009d71b02fc335c
Author: artemmalykh <amalykh@...>
Date: 2018-02-01T09:43:02Z
IGNITE-7590: fixed tree example
this closes #3459
(cherry picked from commit a9d40a7)
commit c1a9c0a404d77fba08170bedf14844f87abe3028
Author: Alexey Goncharuk <alexey.goncharuk@...>
Date: 2018-02-01T10:17:28Z
IGNITE-7569 Fixing index rebuild future
commit e43799ce70cdbe03d9e206381d1d5138b820b075
Author: Alexey Goncharuk <alexey.goncharuk@...>
Date: 2018-02-01T13:39:17Z
IGNITE-7520 Provide util-methods to get baseline from context - Fixes #3431.
commit a54bfd1a0906cee8394a0b495f61549ab63e4346
Author: dpavlov <dpavlov@...>
Date: 2018-02-01T15:31:12Z
IGNITE-7599 Missed licenses in ignite-direct-io module
Signed-off-by: Anton Vinogradov <[email protected]>
(cherry picked from commit d88af9b)
Signed-off-by: Anton Vinogradov <[email protected]>
commit 8f5fc7cfb0624cf2048efad38dfff32f782116e8
Author: Sergey Chugunov <sergey.chugunov@...>
Date: 2018-02-02T08:24:29Z
IGNITE-7580 Fix compatibilityMode flag consistency
This closes #3466
(cherry picked from commit 8f2045e)
commit d3ddd50cb2b889173176b6c47c9ff61410e1d909
Author: Ilya Lantukh <ilantukh@...>
Date: 2018-02-07T10:33:28Z
IGNITE-7514 Affinity assignment should be recalculated when primary node is
not OWNER
(cherry picked from commit faf50f1)
commit d3745e9d0a3ff5a64fba494889b7e2605f3af6bb
Author: Alexey Goncharuk <alexey.goncharuk@...>
Date: 2018-02-07T18:10:32Z
IGNITE-7639 Fixed NPE
commit 421b2b9554cc0400be3ec95c07efffca409d07dd
Author: Stanislav Lukyanov <slukyanov@...>
Date: 2018-02-08T22:25:11Z
IGNITE-7464 - Add property to configure time between node connection
attempts - Fixes #3493
commit f7c16855ba802d9d47048521aec7e14285e4a281
Author: Pavel Kovalenko <jokserfn@...>
Date: 2018-02-09T13:55:15Z
IGNITE-7540 Prevent page memory metadata corruption during checkpoint and
group destroying. - Fixes #3490.
Signed-off-by: Alexey Goncharuk <[email protected]>
commit 2eec607b36186c05f92fae71b30d61d43eda4a69
Author: Nikolay Izhikov <nizhikov@...>
Date: 2018-02-09T04:00:54Z
IGNITE-7337: Implementation of saving DataFrame to Ignite SQL tables -
Fixes #3438.
commit c92f167fc491078f02b9f94fe89edafc2902ebc2
Author: ilantukh <ilantukh@...>
Date: 2018-02-14T12:40:13Z
Updated version in properties.
commit 1ecf348dd429cf7861b414e0e5a7776b72dba281
Author: Sergey Chugunov <sergey.chugunov@...>
Date: 2018-02-16T13:21:12Z
IGNITE-7699 BinaryMetadata exchange should not be triggered if metadata was
not updated - Fixes #3523.
Signed-off-by: Alexey Goncharuk <[email protected]>
(cherry-picked from commit bcd3881)
commit 2458bd08a5b501b3eeb5caf0ae6dcaa2bcccd915
Author: EdShangGG <eshangareev@...>
Date: 2018-02-16T13:29:49Z
IGNITE-7676 Add affinity version to snapshot plugin stub - Fixes #3510.
Signed-off-by: Alexey Goncharuk <[email protected]>
(cherry picked from commit b6d21fb)
commit bfdcda7a2a6b5cf64f15ed169d2beb886f131fac
Author: EdShangGG <eshangareev@...>
Date: 2018-02-12T16:36:30Z
IGNITE-7626 Unify code in test which cleans up persistence directories -
Fixes #3477.
Signed-off-by: Alexey Goncharuk <[email protected]>
(cherry picked from commit a0997b9)
commit 2e92e0094b270aa8489e66d94bfcf15eadabfb4f
Author: EdShangGG <eshangareev@...>
Date: 2018-02-12T18:44:10Z
IGNITE-7626 Unify code in test which clean up persistence directories -
Fixes #3512.
Signed-off-by: Alexey Goncharuk <[email protected]>
(cherry picked from commit 6f6f8dd)
commit 3f86c127c78065999663a4fc4eaedb5e5d4bee1c
Author: EdShangGG <eshangareev@...>
Date: 2018-02-12T18:26:31Z
compilation fix
commit 0b9322c566f9b464291854142ac02495bd1817e4
Author: gg-shq <kshirokov@...>
Date: 2018-02-07T11:28:04Z
IGNITE-6917: Implemented SQL COPY command.
commit c5e386ca96750213bddcd98d0af0c589fee476ca
Author: gg-shq <kshirokov@...>
Date: 2018-02-07T15:31:27Z
IGNITE-7586: Added COPY command into the JDBC example.
This closes #3485
commit d8203e2d81f8fbf0f7fbe5e710c9908f2fcb8307
Author: shq <kirill.shirokov@...>
Date: 2018-02-15T10:36:00Z
IGNITE-7709: SQL COPY command: make sure file name is always quoted. This
closes #3526.
commit 1185993ee7cd83695388f698f18f95b43e15de06
Author: devozerov <vozerov@...>
Date: 2018-02-15T11:00:42Z
IGNITE-7714: SQL COPY command: fixed "Table not found" issue on the client
node.
commit 88c8bdcc0dc2fdf2b2b22562a6b30031e053f671
Author: devozerov <vozerov@...>
Date: 2018-02-16T14:54:24Z
IGNITE-7737: SQL COPY: renamed BUFFER_SIZE to PACKET_SIZE. This closes
#3533.
----
> Page corruption during the rebalancing cache.
> ---------------------------------------------
>
> Key: IGNITE-8320
> URL: https://issues.apache.org/jira/browse/IGNITE-8320
> Project: Ignite
> Issue Type: Bug
> Components: persistence
> Affects Versions: 2.4
> Reporter: Vyacheslav Koptilin
> Assignee: Pavel Kovalenko
> Priority: Major
> Fix For: 2.6
>
>
> Cache rebalance may result in page memory corruption.
> {noformat}
> [2018-04-18T14:33:23,260][ERROR][sys-#54][GridCacheIoManager] Failed
> processing message [senderId=95f06c25-e6bb-48f7-a3e5-4c05fc1c49be,
> msg=GridDhtPartitionSupplyMessage [rebalanceId=37,
> topVer=AffinityTopologyVersion [topVer=53, minorTopVer=1], missed=null,
> clean=null, msgSize=525350, estimatedKeysCnt=1690216, size=2, parts=[1, 2],
> super=GridCacheGroupIdMessage [grpId=-1831596270]]]
> org.apache.ignite.IgniteException: Runtime failure on row: Row@33b6805c[
> key: xxxx [idHash=773709078, hash=-630455542, ...], val: xxxx
> [idHash=1309051286, hash=-1321165334, ver: GridCacheVersion
> [topVer=135435024, order=1523963943331, nodeOrder=4] ]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2102)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putx(BPlusTree.java:2049)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.query.h2.database.H2TreeIndex.putx(H2TreeIndex.java:247)
> ~[ignite-indexing-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.update(GridH2Table.java:454)
> ~[ignite-indexing-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.store(IgniteH2Indexing.java:653)
> ~[ignite-indexing-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.store(GridQueryProcessor.java:1866)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.store(GridCacheQueryManager.java:407)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.finishUpdate(IgniteCacheOffheapManagerImpl.java:1391)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1255)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.invoke(GridCacheOffheapManager.java:1451)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:352)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.storeValue(GridCacheMapEntry.java:3527)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.initialValue(GridCacheMapEntry.java:2735)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander.preloadEntry(GridDhtPartitionDemander.java:823)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander.handleSupplyMessage(GridDhtPartitionDemander.java:704)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPreloader.handleSupplyMessage(GridDhtPreloader.java:347)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$5.apply(GridCachePartitionExchangeManager.java:365)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$5.apply(GridCachePartitionExchangeManager.java:355)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1054)
> [ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:579)
> [ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$700(GridCacheIoManager.java:99)
> [ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.GridCacheIoManager$OrderedMessageListener.onMessage(GridCacheIoManager.java:1603)
> [ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1555)
> [ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.managers.communication.GridIoManager.access$4100(GridIoManager.java:126)
> [ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.managers.communication.GridIoManager$GridCommunicationMessageSet.unwind(GridIoManager.java:2751)
> [ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.managers.communication.GridIoManager.unwindMessageSet(GridIoManager.java:1515)
> [ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.managers.communication.GridIoManager.access$4400(GridIoManager.java:126)
> [ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.managers.communication.GridIoManager$10.run(GridIoManager.java:1484)
> [ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> [?:1.8.0_151]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> [?:1.8.0_151]
> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
> Caused by: java.lang.IllegalStateException: Failed to get page IO instance
> (page content is corrupted)
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.io.IOVersions.forVersion(IOVersions.java:83)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.io.IOVersions.forPage(IOVersions.java:95)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.CacheDataRowAdapter.initFromLink(CacheDataRowAdapter.java:148)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.CacheDataRowAdapter.initFromLink(CacheDataRowAdapter.java:102)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.query.h2.database.H2RowFactory.getRow(H2RowFactory.java:61)
> ~[ignite-indexing-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.query.h2.database.H2Tree.createRowFromLink(H2Tree.java:149)
> ~[ignite-indexing-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.query.h2.database.io.H2LeafIO.getLookupRow(H2LeafIO.java:67)
> ~[ignite-indexing-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.query.h2.database.io.H2LeafIO.getLookupRow(H2LeafIO.java:33)
> ~[ignite-indexing-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.query.h2.database.H2Tree.getRow(H2Tree.java:167)
> ~[ignite-indexing-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.query.h2.database.H2Tree.getRow(H2Tree.java:46)
> ~[ignite-indexing-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.getRow(BPlusTree.java:4436)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.query.h2.database.H2Tree.compare(H2Tree.java:209)
> ~[ignite-indexing-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.query.h2.database.H2Tree.compare(H2Tree.java:46)
> ~[ignite-indexing-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.compare(BPlusTree.java:4423)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.findInsertionPoint(BPlusTree.java:4343)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$1500(BPlusTree.java:82)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Search.run0(BPlusTree.java:270)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:4770)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:4755)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.readPage(PageHandler.java:158)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.DataStructure.read(DataStructure.java:320)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2317)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2329)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2329)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2069)
> ~[ignite-core-2.4.4.b1.jar:2.4.4.b1]
> ... 30 more
> {noformat}
> Possible cause and reproducer:
> 1) Start partition eviction
> 2) Force kill node (kill -9) after partition file truncate
> 3) Start node again and iterate over index
> The main problem that file truncation is not synchronized with actual
> checkpoint which can lead to the situation, that after crash recovery we have
> links in index tree to the data pages which were already removed during file
> truncation.
> One of the possible solutions is to mark such partition files for deletion
> and safely truncate them on the next checkpoint.
> This mechanism can be ressurected from ignite-2.0.2.b1 branch.
> See
> {noformat}
> org/gridgain/grid/internal/processors/cache/database/GridCacheDatabaseSharedManager.java:3059
> org.gridgain.grid.cache.db.GridCacheOffheapManager#destroyCacheDataStore
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)