Return-Path: Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: (qmail 76860 invoked from network); 2 Jun 2008 14:31:52 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 2 Jun 2008 14:31:52 -0000 Received: (qmail 44044 invoked by uid 500); 2 Jun 2008 14:31:50 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 43989 invoked by uid 500); 2 Jun 2008 14:31:50 -0000 Mailing-List: contact dev-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openjpa.apache.org Delivered-To: mailing list dev@openjpa.apache.org Received: (qmail 43951 invoked by uid 99); 2 Jun 2008 14:31:50 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 02 Jun 2008 07:31:50 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of timh@mousetech.com designates 216.199.14.29 as permitted sender) Received: from [216.199.14.29] (HELO mail2.mousetech.com) (216.199.14.29) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 02 Jun 2008 14:31:00 +0000 Received: from [192.168.10.2] (www2 [216.199.14.19]) (authenticated bits=0) by mail2.mousetech.com (8.13.8/8.13.8) with ESMTP id m52EXDg7004018 for ; Mon, 2 Jun 2008 10:33:16 -0400 Subject: OptimisticException From: Tim Holloway To: dev@openjpa.apache.org Content-Type: text/plain Date: Mon, 02 Jun 2008 10:31:11 -0400 Message-Id: <1212417071.3066.8.camel@a64.camera.mousetech.com> Mime-Version: 1.0 X-Mailer: Evolution 2.10.3 (2.10.3-9.fc7) Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org I've always found it difficult to trace back to where merges caused stale copies of an object to appear, resulting in Optimistic Locking Exceptions. Q: Would it be reasonable to add some functionality to the StateComparisonVersionStrategy such that if a conflict is encountered that the offending field and its conflicting values be displayed, either in the Exception itself or in the log? It looks like ArrayStateImage.sameVersion would need to reflect back the failing column index.