[
https://issues.apache.org/jira/browse/OPENJPA-2139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13249782#comment-13249782
]
Mark Struberg commented on OPENJPA-2139:
----------------------------------------
I've now committed a fix for the original issue. We now reset the _readOnly
flag if we hit an Exception during initialisation. That way we will try again
until the db is up again.
This will _not_ yet fix the problem with dynamic enhancement! But since runtime
enhancement is mostly considered problematic anyway atm, it will be good enough
for most users.
Shouldn't we create an own Jira issue for the dynamic enhancement issue?
> OpenJPA fails to recover from a broken database on startup
> ----------------------------------------------------------
>
> Key: OPENJPA-2139
> URL: https://issues.apache.org/jira/browse/OPENJPA-2139
> Project: OpenJPA
> Issue Type: Bug
> Affects Versions: 2.2.0
> Reporter: Mark Struberg
> Assignee: Mark Struberg
> Priority: Critical
> Fix For: 2.3.0
>
> Attachments: OPENJPA-2139.mdr.patch, OPENJPA-2139.patch
>
>
> The following scenario:
> 1.) turn off the database
> 2.) perform a query against the database
> 3.) turn on the database
> 4.) try to re-run the query from 2.)
> In 4.) you will get the following Exception:
> openjpa-2.2.0-r422266:1244990 nonfatal user error>
> org.apache.openjpa.persistence.ArgumentException: An error occurred while
> parsing the query filter "SELECT k FROM DbEnumKey AS k where k.type=:typ
> ORDER BY k.ordinal". Error message: The name "DbEnumKey" is not a recognized
> entity or identifier. Known entity names: []
> Basically the whole app is stale afterwards!
> Solution: caching the entities might only be done if a connection can be
> established.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira