From open-jpa-dev-return-3785-apmail-incubator-open-jpa-dev-archive=incubator.apache.org@incubator.apache.org Wed Apr 25 17:05:55 2007 Return-Path: Delivered-To: apmail-incubator-open-jpa-dev-archive@locus.apache.org Received: (qmail 5324 invoked from network); 25 Apr 2007 17:05:54 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 25 Apr 2007 17:05:54 -0000 Received: (qmail 56897 invoked by uid 500); 25 Apr 2007 17:06:01 -0000 Delivered-To: apmail-incubator-open-jpa-dev-archive@incubator.apache.org Received: (qmail 56772 invoked by uid 500); 25 Apr 2007 17:06:01 -0000 Mailing-List: contact open-jpa-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: open-jpa-dev@incubator.apache.org Delivered-To: mailing list open-jpa-dev@incubator.apache.org Received: (qmail 56763 invoked by uid 99); 25 Apr 2007 17:06:01 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Apr 2007 10:06:01 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=UNPARSEABLE_RELAY X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [192.18.42.249] (HELO nwk-ea-fw-1.sun.com) (192.18.42.249) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Apr 2007 10:05:52 -0700 Received: from d1-sfbay-09.sun.com ([192.18.39.119]) by nwk-ea-fw-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id l3PH5UCR003274 for ; Wed, 25 Apr 2007 10:05:32 -0700 (PDT) Received: from conversion-daemon.d1-sfbay-09.sun.com by d1-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-6.01 (built Apr 3 2006)) id <0JH200001C922J00@d1-sfbay-09.sun.com> (original mail from Craig.Russell@Sun.COM) for open-jpa-dev@incubator.apache.org; Wed, 25 Apr 2007 10:05:30 -0700 (PDT) Received: from [10.9.19.80] ([89.202.240.80]) by d1-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-6.01 (built Apr 3 2006)) with ESMTPSA id <0JH200L1SCT2A980@d1-sfbay-09.sun.com> for open-jpa-dev@incubator.apache.org; Wed, 25 Apr 2007 10:05:29 -0700 (PDT) Date: Wed, 25 Apr 2007 10:05:25 -0700 From: Craig L Russell Subject: Re: Possible problem with ddl with only a jta-datasource and sequences In-reply-to: <3EFB1D36-A386-4388-945B-B27E93E2A55F@apache.org> Sender: Craig.Russell@Sun.COM To: open-jpa-dev@incubator.apache.org Message-id: <68171737-9485-4EF8-A999-E422CC936C8C@SUN.com> MIME-version: 1.0 X-Mailer: Apple Mail (2.752.3) Content-type: multipart/signed; protocol="application/pkcs7-signature"; boundary=Apple-Mail-38--502453137; micalg=sha1 References: <3EFB1D36-A386-4388-945B-B27E93E2A55F@apache.org> X-Virus-Checked: Checked by ClamAV on apache.org --Apple-Mail-38--502453137 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed On Apr 24, 2007, at 11:38 AM, Marc Prud'hommeaux wrote: > David- > >> Does this seem like a reasonable explanation? > > That sounds right to me. > > Note that if we ever update OpenJPA to depend solely on the > TransactionSynchronizationRegistry, then we won't be able to do > things like suspending the transactions and resuming it later with > the jta-datasource. That's why we have two datasources for an EMF. One is the transactional datasource that gives you connections automatically enlisted in your transactional EM; the other gives you connections that are never enlisted and can be used for nontransactional queries, nontransactional sequences etc. The TSR is only of use for the enlisted datasource/connection. Craig > > > On Apr 24, 2007, at 10:52 AM, David Jencks wrote: > >> Using derby, jta transactions (in geronimo), a table sequence, >> autocreation of tables, and only a jta-datasource, I get errors >> complaining that the sequence table doesn't exist. >> >> Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: >> Table/View 'OPENJPASEQ' does not exist. {SELECT SEQUENCE_VALUE >> FROM OPENJPASEQ WHERE ID = ? FOR UPDATE WITH RR} [code=20000, >> state=42X05] >> >> If I supply a non-jta-datasource everything works fine. >> >> My current theory about why this is happening is that the ddl to >> create all the tables is executed in a connection from the jta- >> datasource that's enrolled in a jta transaction. Then we go to >> get an id from the sequence, the jta transaction is suspended, and >> a new tx is started, in which the ddl is not visible since the jta >> tx wasn't committed. (apparently ddl in derby is transactional) >> >> Does this seem like a reasonable explanation? >> >> I'm going to look for a way to run the ddl inside a separate >> transaction that can be committed, the same as how sequences work >> without a non-jta-datasource. One way to do this would be to >> package the work up in a Runnable and execute it in an >> appropriate transactional environment. It might be easier to >> understand if the sequence code had a similar implementation. >> >> thanks >> david jencks >> > Craig Russell Architect, Sun Java Enterprise System http://java.sun.com/products/jdo 408 276-5638 mailto:Craig.Russell@sun.com P.S. A good JDO? O, Gasp! --Apple-Mail-38--502453137 Content-Transfer-Encoding: base64 Content-Type: application/pkcs7-signature; name=smime.p7s Content-Disposition: attachment; filename=smime.p7s MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGUDCCAwkw ggJyoAMCAQICECpJVMO68ii+Xfsc1O1YYFIwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCWkEx JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQ ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA2MTIwOTE5NTEwNVoXDTA3MTIwOTE5NTEw NVowbDEQMA4GA1UEBBMHUnVzc2VsbDEUMBIGA1UEKhMLQ3JhaWcgTGFpcmQxHDAaBgNVBAMTE0Ny YWlnIExhaXJkIFJ1c3NlbGwxJDAiBgkqhkiG9w0BCQEWFUNyYWlnLlJ1c3NlbGxAU3VuLkNPTTCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMNAB4Ih+ShsCt89HzqIdwEx8L4o1UHiY6V7 16mrCedfd4Y0/uI7z9Zam8ysgEh+F7aDnQEKmEsVFN35G4nPMfLU6dZYkvADwUjbq82t/dJ3FDDg Q945nHHpqECZff/S/UMho9AFfj6PZvZBAlDCJAayb4RdKIlfuvPW9YcQStQ1IfVJcVuKnC0Q+tdc a4A7zn7IzLOQohO1lTc3hXSBigEIGiGYn6Ny0wmexfA3X1WsXekFx5czd+M4GjDjswn8CNoBmnBr jOTGK1mOsXR6GSRHnly2s9xTdE4qv9qimM+7C2yzMHbKcszV7OQoLsRsZKDh+6u9wYU+TrjcY4ym bA8CAwEAAaMyMDAwIAYDVR0RBBkwF4EVQ3JhaWcuUnVzc2VsbEBTdW4uQ09NMAwGA1UdEwEB/wQC MAAwDQYJKoZIhvcNAQEFBQADgYEAU/EpPDztnb55Fz7iGSVm1mYEVj5m2OQKTYG26POUAomCBRrt /CdBBvqYmcHUTpra0qLELHAQadYFl2v11iQkqwF5PPJs19oU/zA0m5qFnOMTAiCvel7IprIwA2r6 eJR9siaPwDRgVJ/Sj71dD+utwf+nRrNy0/7PMNK5y+ocsYQwggM/MIICqKADAgECAgENMA0GCSqG SIb3DQEBBQUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQH EwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZp Y2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQwIgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1h aWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNMDMw NzE3MDAwMDAwWhcNMTMwNzE2MjM1OTU5WjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3Rl IENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWls IElzc3VpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMSmPFVzVftOucqZWh5owHUE cJ3f6f+jHuy9zfVb8hp2vX8MOmHyv1HOAdTlUAow1wJjWiyJFXCO3cnwK4Vaqj9xVsuvPAsH5/Ef kTYkKhPPK9Xzgnc9A74r/rsYPge/QIACZNenprufZdHFKlSFD0gEf6e20TxhBEAeZBlyYLf7AgMB AAGjgZQwgZEwEgYDVR0TAQH/BAgwBgEB/wIBADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3Js LnRoYXd0ZS5jb20vVGhhd3RlUGVyc29uYWxGcmVlbWFpbENBLmNybDALBgNVHQ8EBAMCAQYwKQYD VR0RBCIwIKQeMBwxGjAYBgNVBAMTEVByaXZhdGVMYWJlbDItMTM4MA0GCSqGSIb3DQEBBQUAA4GB AEiM0VCD6gsuzA2jZqxnD3+vrL7CF6FDlpSdf0whuPg2H6otnzYvwPQcUCCTcDz9reFhYsPZOhl+ hLGZGwDFGguCdJ4lUJRix9sncVcljd2pnDmOjCBPZV+V2vf3h9bGCE6u9uo05RAaWzVNd+NWIXiC 3CEZNd4ksdMdRv9dX2VPMYIDEDCCAwwCAQEwdjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt YWlsIElzc3VpbmcgQ0ECECpJVMO68ii+Xfsc1O1YYFIwCQYFKw4DAhoFAKCCAW8wGAYJKoZIhvcN AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDcwNDI1MTcwNTI2WjAjBgkqhkiG9w0B CQQxFgQUVJcyJPa0Myr6K2viB3gG5l5u6aAwgYUGCSsGAQQBgjcQBDF4MHYwYjELMAkGA1UEBhMC WkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0 ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhAqSVTDuvIovl37HNTtWGBSMIGHBgsqhkiG 9w0BCRACCzF4oHYwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQ dHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhAq SVTDuvIovl37HNTtWGBSMA0GCSqGSIb3DQEBAQUABIIBALKrjGezAqUhcLbC1Vaoi5OnSFrwyZ3k DVhgmBPH59bkFoWnmTK43nZg84IAQ92Tqv7EC08mOp9vNAJ7CLL6JjyoecPVev+sn3ysQt/0yfiK nZ/34GUQsWXsFLQf58R/uyasfhDmakQBPCc/7cLD0EU2yGWkVQY+6sh9J6ysBFNf5z23dHm2O0Jf uzazRKGX3b3ciA7BrCzAt+FaMPGVuIoH8X+ej8AGQvwiYTc3ah4lJDgbmvBz5ahzV9JZcQVILAmv x4C9h012tnDk9KhyQp5ThMJMipgIjdXaFBA+cef6T16bMHVV04dA5U08xMgNrqtTcZk+NIpFse2z Mx0O1bYAAAAAAAA= --Apple-Mail-38--502453137--