Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id B84A7200D36 for ; Mon, 6 Nov 2017 22:58:06 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id B6D9D160BEC; Mon, 6 Nov 2017 21:58:06 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 07BC9160BD5 for ; Mon, 6 Nov 2017 22:58:05 +0100 (CET) Received: (qmail 73710 invoked by uid 500); 6 Nov 2017 21:58:05 -0000 Mailing-List: contact issues-help@geode.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@geode.apache.org Delivered-To: mailing list issues@geode.apache.org Received: (qmail 73701 invoked by uid 99); 6 Nov 2017 21:58:05 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Nov 2017 21:58:05 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 4DA211A211C for ; Mon, 6 Nov 2017 21:58:04 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -100.002 X-Spam-Level: X-Spam-Status: No, score=-100.002 tagged_above=-999 required=6.31 tests=[RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id bP7M-pYRZgCa for ; Mon, 6 Nov 2017 21:58:02 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 122965F5B8 for ; Mon, 6 Nov 2017 21:58:02 +0000 (UTC) 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 5AC78E06C7 for ; Mon, 6 Nov 2017 21:58:01 +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 C6DB323F1D for ; Mon, 6 Nov 2017 21:58:00 +0000 (UTC) Date: Mon, 6 Nov 2017 21:58:00 +0000 (UTC) From: "Fred Krone (JIRA)" To: issues@geode.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (GEODE-3823) Implement a CacheLoader for JDBC to PDX MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Mon, 06 Nov 2017 21:58:06 -0000 [ https://issues.apache.org/jira/browse/GEODE-3823?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Fred Krone updated GEODE-3823: ------------------------------ Description: This is for a 'read through' to the DB scenario when the entry is not found in a Region. This implementation should take a result set and convert to PDX for the cache. Make a SQL statement to query by the key provided. dbName must match the Region name. Check each ResultSet field for type and convert. Create a PDXInstance insert values. Region can (should?) have its type set so we'll know what the type is. AC: If the value is not in the cache it should take configured JDBC credentials and connect to DB Should log any connection error and retry x amount of times On connect should execute query using the provided key as UID On successful query should create PDX object, map JDBC values to PDX object, put PDX object in the cache, return value Should only return one value -- multiple values should be logged and error JDBC execution errors should be logged was: This is for a 'read through' to the DB scenario when the entry is not found in a Region. This implementation should take a result set and convert to PDX for the cache. Make a SQL statement to query by the key provided. dbName must match the Region name. Check each ResultSet field for type and convert. Create a PDXInstance insert values. Region can (should?) have its type set so we'll know what the type is. AC: 1) Should take a JDBC ResultSet and convert it to a PDX object. 2) Should log any errors on PDX conversion. 3) If can't convert (on error) then nothing is put into the Region. > Implement a CacheLoader for JDBC to PDX > --------------------------------------- > > Key: GEODE-3823 > URL: https://issues.apache.org/jira/browse/GEODE-3823 > Project: Geode > Issue Type: Sub-task > Components: regions > Reporter: Fred Krone > > This is for a 'read through' to the DB scenario when the entry is not found in a Region. This implementation should take a result set and convert to PDX for the cache. > Make a SQL statement to query by the key provided. dbName must match the Region name. > Check each ResultSet field for type and convert. Create a PDXInstance insert values. Region can (should?) have its type set so we'll know what the type is. > > AC: > If the value is not in the cache it should take configured JDBC credentials and connect to DB > Should log any connection error and retry x amount of times > On connect should execute query using the provided key as UID > On successful query should create PDX object, map JDBC values to PDX object, put PDX object in the cache, return value > Should only return one value -- multiple values should be logged and error > JDBC execution errors should be logged -- This message was sent by Atlassian JIRA (v6.4.14#64029)