From dev-return-46063-archive-asf-public=cust-asf.ponee.io@ignite.apache.org Fri May 24 19:44:02 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 3514F18077A for ; Fri, 24 May 2019 21:44:02 +0200 (CEST) Received: (qmail 93913 invoked by uid 500); 24 May 2019 19:44:01 -0000 Mailing-List: contact dev-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 dev@ignite.apache.org Received: (qmail 93868 invoked by uid 99); 24 May 2019 19:44: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; Fri, 24 May 2019 19:44: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 B7D9EE2C9B for ; Fri, 24 May 2019 19:44: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 4482325815 for ; Fri, 24 May 2019 19:44:00 +0000 (UTC) Date: Fri, 24 May 2019 19:44:00 +0000 (UTC) From: "Joel Lang (JIRA)" To: dev@ignite.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (IGNITE-11873) Enabling SQL On-heap Row Cache results in row cache being inconsistent with off-heap storage MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 Joel Lang created IGNITE-11873: ---------------------------------- Summary: Enabling SQL On-heap Row Cache results in row cache being inconsistent with off-heap storage Key: IGNITE-11873 URL: https://issues.apache.org/jira/browse/IGNITE-11873 Project: Ignite Issue Type: Bug Components: cache, persistence, sql Affects Versions: 2.7 Reporter: Joel Lang Attachments: entry1.png, entry2.png When enabling the SQL On-heap Row Cache feature on a persistent, atomic, replicated cache, I found that after a number of queries and updates, averaging from 40 to 60 updates, the on-heap cache will become inconsistent with the off-heap storage. This manifests on a single, non-clustered Ignite node that I test with. Specifically I would query a cache using SQL for a specific entry, but when updating the entry using a normal put() on the cache, the entry would not be changed from the perspective of the next SQL query. This causes the business code to not behave as expected. When examining the state of the cache from DBeaver using a select query, I've found that the problem row in question is duplicated in the query results, and out of order despite ordering the results by key: !entry1.png! Restarting Ignite to clear the on-heap cache reveals the actual row: !entry2.png! When looking at the state of H2RowCache from a heap dump, I found that there where two different instances of GridH2KeyValueRowOnheap containing two different instances of the cache value in different states: the one I'm seeing and the one I'm trying to update it to. As a side effect of all of this, the ModifyingEntryProcessor always fails on that row because "entryVal" is never equal to "val" when checked in the process() method. If more information is needed to reproduce I can try to make a simple example next week after the holiday. -- This message was sent by Atlassian JIRA (v7.6.3#76005)