From issues-return-96957-archive-asf-public=cust-asf.ponee.io@ignite.apache.org Tue Jul 2 08:34:07 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id D8B6C18060E for ; Tue, 2 Jul 2019 10:34:06 +0200 (CEST) Received: (qmail 81843 invoked by uid 500); 2 Jul 2019 08:34:01 -0000 Mailing-List: contact issues-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list issues@ignite.apache.org Received: (qmail 81652 invoked by uid 99); 2 Jul 2019 08:34:01 -0000 Received: from mailrelay1-us-west.apache.org (HELO mailrelay1-us-west.apache.org) (209.188.14.139) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Jul 2019 08:34:01 +0000 Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 6D579E2D2D for ; Tue, 2 Jul 2019 08:34:00 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 34DD426194 for ; Tue, 2 Jul 2019 08:34:00 +0000 (UTC) Date: Tue, 2 Jul 2019 08:34:00 +0000 (UTC) From: "Dmitriy Govorukhin (JIRA)" To: issues@ignite.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (IGNITE-11953) BTree corruption caused by byte array values MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 Dmitriy Govorukhin created IGNITE-11953: ------------------------------------------- Summary: BTree corruption caused by byte array values Key: IGNITE-11953 URL: https://issues.apache.org/jira/browse/IGNITE-11953 Project: Ignite Issue Type: Bug Reporter: Dmitriy Govorukhin In some cases for caches with cache group, we can get=C2=A0BTree corruption= exception. {code} 09:53:58,890][SEVERE][sys-stripe-10-#11][] Critical system error detected. = Will be handled accordingly to configured handler [hnd=3DCustomFailureHandl= er [ignoreCriticalErrors=3Dfalse, disabled=3Dfalse][StopNodeOrHaltFailureHa= ndler [tryStop=3Dfalse, timeout=3D0]], failureCtx=3DFailureContext [type=3D= CRITICAL_ERROR, err=3Dclass o.a.i.i.transactions.IgniteTxHeuristicCheckedEx= ception: Committing a transaction has produced runtime exception]]class org= .apache.ignite.internal.transactions.IgniteTxHeuristicCheckedException: Com= mitting a transaction has produced runtime exception =09at org.apache.ignite.internal.processors.cache.transactions.IgniteTxAdap= ter.heuristicException(IgniteTxAdapter.java:800) =09at org.apache.ignite.internal.processors.cache.transactions.IgniteTxLoca= lAdapter.userCommit(IgniteTxLocalAdapter.java:922) =09at org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTx= LocalAdapter.localFinish(GridDhtTxLocalAdapter.java:799) =09at org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTx= Local.localFinish(GridDhtTxLocal.java:608) =09at org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTx= Local.finishTx(GridDhtTxLocal.java:478) =09at org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTx= Local.commitDhtLocalAsync(GridDhtTxLocal.java:535) =09at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHand= ler.finishDhtLocal(IgniteTxHandler.java:1055) =09at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHand= ler.finish(IgniteTxHandler.java:931) =09at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHand= ler.processNearTxFinishRequest(IgniteTxHandler.java:887) =09at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHand= ler.access$200(IgniteTxHandler.java:117) =09at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHand= ler$3.apply(IgniteTxHandler.java:209) =09at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHand= ler$3.apply(IgniteTxHandler.java:207) =09at org.apache.ignite.internal.processors.cache.GridCacheIoManager.proces= sMessage(GridCacheIoManager.java:1129) =09at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMess= age0(GridCacheIoManager.java:594) =09at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handle= Message(GridCacheIoManager.java:393) =09at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handle= Message(GridCacheIoManager.java:319) =09at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access= $100(GridCacheIoManager.java:109) =09at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMe= ssage(GridCacheIoManager.java:308) =09at org.apache.ignite.internal.managers.communication.GridIoManager.invok= eListener(GridIoManager.java:1568) =09at org.apache.ignite.internal.managers.communication.GridIoManager.proce= ssRegularMessage0(GridIoManager.java:1196) =09at org.apache.ignite.internal.managers.communication.GridIoManager.acces= s$4200(GridIoManager.java:126) =09at org.apache.ignite.internal.managers.communication.GridIoManager$9.run= (GridIoManager.java:1092) =09at org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedEx= ecutor.java:504) =09at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java= :119) =09at java.lang.Thread.run(Thread.java:748) Caused by: class org.apache.ignite.internal.processors.cache.persistence.tr= ee.CorruptedTreeException: Runtime failure on search row: SearchRow [key=3D= KeyCacheObjectImpl [part=3D427, val=3DGrkg1DUF3yQE6tC9Se50mi5w.T, hasValByt= es=3Dtrue], hash=3D1872857770, cacheId=3D-420893003] =09at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTre= e.invoke(BPlusTree.java:1811) =09at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManager= Impl$CacheDataStoreImpl.invoke0(IgniteCacheOffheapManagerImpl.java:1620) =09at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManager= Impl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1603) =09at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffh= eapManager$GridCacheDataStore.invoke(GridCacheOffheapManager.java:2131) =09at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManager= Impl.invoke(IgniteCacheOffheapManagerImpl.java:442) =09at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.storeVa= lue(GridCacheMapEntry.java:4263) =09at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.storeVa= lue(GridCacheMapEntry.java:4241) =09at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerSe= t(GridCacheMapEntry.java:1541) =09at org.apache.ignite.internal.processors.cache.transactions.IgniteTxLoca= lAdapter.userCommit(IgniteTxLocalAdapter.java:721) =09... 23 more Caused by: class org.apache.ignite.binary.BinaryObjectException: Not enough= data to read the value [position=3D0, requiredBytes=3D1, remainingBytes=3D= 0] =09at org.apache.ignite.internal.binary.streams.BinaryAbstractInputStream.e= nsureEnoughData(BinaryAbstractInputStream.java:304) =09at org.apache.ignite.internal.binary.streams.BinaryAbstractInputStream.r= eadByte(BinaryAbstractInputStream.java:34) =09at org.apache.ignite.internal.binary.BinaryUtils.unmarshal(BinaryUtils.j= ava:1830) =09at org.apache.ignite.internal.binary.BinaryUtils.unmarshal(BinaryUtils.j= ava:1819) =09at org.apache.ignite.internal.binary.BinaryUtils.unmarshal(BinaryUtils.j= ava:1810) =09at org.apache.ignite.internal.binary.GridBinaryMarshaller.unmarshal(Grid= BinaryMarshaller.java:271) =09at org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryP= rocessorImpl.unmarshal(CacheObjectBinaryProcessorImpl.java:928) =09at org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectPr= ocessorImpl.toKeyCacheObject(IgniteCacheObjectProcessorImpl.java:162) =09at org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryP= rocessorImpl.toKeyCacheObject(CacheObjectBinaryProcessorImpl.java:995) =09at org.apache.ignite.internal.processors.cache.persistence.CacheDataRowA= dapter.readFullRow(CacheDataRowAdapter.java:334) =09at org.apache.ignite.internal.processors.cache.persistence.CacheDataRowA= dapter.initFromLink(CacheDataRowAdapter.java:166) =09at org.apache.ignite.internal.processors.cache.persistence.CacheDataRowA= dapter.initFromLink(CacheDataRowAdapter.java:107) =09at org.apache.ignite.internal.processors.cache.tree.DataRow.(DataR= ow.java:54) =09at org.apache.ignite.internal.processors.cache.tree.CacheDataRowStore.ke= ySearchRow(CacheDataRowStore.java:57) =09at org.apache.ignite.internal.processors.cache.tree.AbstractDataLeafIO.g= etLookupRow(AbstractDataLeafIO.java:164) =09at org.apache.ignite.internal.processors.cache.tree.AbstractDataLeafIO.g= etLookupRow(AbstractDataLeafIO.java:34) =09at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTre= e$Put.insertWithSplit(BPlusTree.java:3500) =09at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTre= e$Put.insert(BPlusTree.java:3424) =09at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTre= e$Put.access$2100(BPlusTree.java:3298) =09at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTre= e$Insert.run0(BPlusTree.java:440) =09at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTre= e$Insert.run0(BPlusTree.java:421) =09at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTre= e$GetPageHandler.run(BPlusTree.java:5650) =09at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTre= e$GetPageHandler.run(BPlusTree.java:5635) =09at org.apache.ignite.internal.processors.cache.persistence.tree.util.Pag= eHandler.writePage(PageHandler.java:343) =09at org.apache.ignite.internal.processors.cache.persistence.DataStructure= .write(DataStructure.java:275) =09at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTre= e.access$12000(BPlusTree.java:89) =09at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTre= e$Put.tryInsert(BPlusTree.java:3618) =09at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTre= e$Put.access$7300(BPlusTree.java:3298) =09at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTre= e$Invoke.onNotFound(BPlusTree.java:3856) =09at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTre= e$Invoke.access$6000(BPlusTree.java:3648) =09at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTre= e.invokeDown(BPlusTree.java:1896) =09at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTre= e.invokeDown(BPlusTree.java:1871) =09at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTre= e.invoke(BPlusTree.java:1778) =09... 31 more {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)