Hi folks!

I had a weird issue the last days in a clustered WAS environment. Going through 
the sources I fear this might affect plain OpenJPA as well.

What happens is the following Exception: 


[8/7/13 8:40:16:162 CEST] 000000a2 BusinessExcep E
 CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation 
of method 
"holeStammdaten" on bean 
"BeanId(some-ear-1.0.1#some-service.jar#KundendatenImpl, null)". 
Exception data: <openjpa-2.1.2-SNAPSHOT-r422266:1436521 nonfatal user error> 
org.apache.openjpa.persistence.ArgumentException: 
Could not map discriminator value "SUBARTPER" to any known subclasses of the 
requested 
class "at.sozvers.zepta.beauskunftung.entities.Partner" (known discriminator 
values: [Partner]).
FailedObject: 660902 [org.apache.openjpa.util.LongId] [java.lang.String]
    at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:336)
Person (discriminator 'SUBARTPER') extends Partner (which in turn extends 
AuditedEntity)


The situation is as following:

We have an EAR with 2 WARs inside.
They share a non-jta-managed DataSource by using some entities (+ services) 
which are packaged in a jar in the EARs /lib folder (shared across all webapps)

If all nodes of the app server gets stopped and then both start up again, all 
is fine.

The issue above happens if a single node goes down and then starts again 
(second cluster node with mem2mem is running). From looking at the logs it 
looks like requests get queued for this node before it's fully running. But 
once it accepts requests again, it will get 50 in exact parallel (same ms).

What happens in the class is that the _subs variable is empty, thus only the 
query entity itself gets added ('Partner'). Under normal load conditions 
(logging and also in debugger), _subs contains 'SUBARTPER, 'Partner' and 
AuditedEntity.


Did anyone experience such a situation already?
If you have some gut feeling then I will tinker on a unit test for it.


LieGrue,
strub

Reply via email to