Hello,

On Syncope 3.0.12, I have (probably related) problems under, and even after, heavy load:

First problem:

org.apache.openjpa.persistence.PersistenceException: Cannot invoke 
"org.mariadb.jdbc.client.DataType.getColumnConstructor()" because "dataType" is 
null
  at org.apache.openjpa.kernel.BrokerImpl.findAll(BrokerImpl.java:1254) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.kernel.BrokerImpl.findAll(BrokerImpl.java:1139) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.kernel.AbstractPCData.toRelationFields(AbstractPCData.java:222)
 ~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.kernel.AbstractPCData.toNestedFields(AbstractPCData.java:189)
 ~[openjpa-kernel-3.2.2.jar:3.2.2]  
org.apache.openjpa.kernel.AbstractPCData.toField(AbstractPCData.java:79) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.kernel.PCDataImpl.loadField(PCDataImpl.java:220) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.kernel.PCDataImpl.load(PCDataImpl.java:165) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.datacache.DataCacheStoreManager.initialize(DataCacheStoreManager.java:384)
 ~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:123)
 ~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:59) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:1118) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:1076) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:998) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:1077)
 ~[openjpa-jdbc-3.2.2.jar:3.2.2]
  at org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:305) 
~[openjpa-jdbc-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.jdbc.sql.SelectImpl$SelectResult.load(SelectImpl.java:2537) 
~[openjpa-jdbc-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.jdbc.meta.strats.RelationFieldStrategy.loadEagerJoin(RelationFieldStrategy.java:743)
 ~[openjpa-jdbc-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.jdbc.meta.FieldMapping.loadEagerJoin(FieldMapping.java:954) 
~[openjpa-jdbc-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:1147)
 ~[openjpa-jdbc-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:1103)
 ~[openjpa-jdbc-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:430)
 ~[openjpa-jdbc-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:325)
 ~[openjpa-jdbc-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:123)
 ~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.datacache.DataCacheStoreManager.initialize(DataCacheStoreManager.java:392)
 ~[openjpa-kernel-3.2.2.jar:3.2.2]                                              
                                                           
org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:123)
 ~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:59) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:1118) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:1076) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:992) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.kernel.DelegatingBroker.find(DelegatingBroker.java:246) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.persistence.EntityManagerImpl.find(EntityManagerImpl.java:582)
 ~[openjpa-persistence-3.2.2.jar:3.2.2]
  at 
org.apache.syncope.core.persistence.jpa.dao.JPAPlainSchemaDAO.find(JPAPlainSchemaDAO.java:61)
 ~[syncope-core-persistence-jpa-3.0.12.jar:3.0.12]
  at 
org.apache.syncope.core.persistence.jpa.dao.JPAPlainSchemaDAO.find(JPAPlainSchemaDAO.java:41)
 ~[syncope-core-persistence-jpa-3.0.12.jar:3.0.12]
  at 
org.apache.syncope.core.persistence.jpa.entity.user.JPAJSONUPlainAttr.getSchema(JPAJSONUPlainAttr.java:96)
 ~[syncope-core-persistence-jpa-json-3.0.12.jar:3.0.12]
  at 
org.apache.syncope.core.persistence.jpa.entity.user.JPAJSONUPlainAttr.getSchema(JPAJSONUPlainAttr.java:44)
 ~[syncope-core-persistence-jpa-json-3.0.12.jar:3.0.12]
  at 
org.apache.syncope.core.persistence.jpa.entity.JPAJSONEntityListener.lambda$json2list$0(JPAJSONEntityListener.java:39)
 ~[syncope-core-persistence-jpa-json-3.0.12.jar:3.0.12]
  at 
java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)
 ~[?:?]
  at 
java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
 ~[?:?]
  at 
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) 
~[?:?]
  at 
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
 ~[?:?]
  at 
java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
 ~[?:?]
  at 
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
 ~[?:?]
  at 
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) 
~[?:?]
  at 
java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
 ~[?:?]
  at 
org.apache.syncope.core.persistence.jpa.entity.JPAJSONEntityListener.json2list(JPAJSONEntityListener.java:51)
 ~[syncope-core-persistence-jpa-json-3.0.12.jar:3.0.12]
  at 
org.apache.syncope.core.persistence.jpa.entity.user.JPAJSONUserListener.read(JPAJSONUserListener.java:46)
 ~[syncope-core-persistence-jpa-json-3.0.12.jar:3.0.12]
  at jdk.internal.reflect.GeneratedMethodAccessor349.invoke(Unknown Source) 
~[?:?]
  at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:?]
  at java.base/java.lang.reflect.Method.invoke(Method.java:569) ~[?:?]
  at 
org.apache.openjpa.event.BeanLifecycleCallbacks.makeCallback(BeanLifecycleCallbacks.java:86)
 ~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.event.LifecycleEventManager.makeCallbacks(LifecycleEventManager.java:351)
 ~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.event.LifecycleEventManager.fireEvent(LifecycleEventManager.java:311)
 ~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.kernel.BrokerImpl.fireLifecycleEvent(BrokerImpl.java:877) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.kernel.StateManagerImpl.postLoad(StateManagerImpl.java:3483) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.kernel.StateManagerImpl.postLoad(StateManagerImpl.java:3461) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:3304)
 ~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.kernel.StateManagerImpl.load(StateManagerImpl.java:452) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:1086) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:998) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:1077)
 ~[openjpa-jdbc-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:1077)
 ~[openjpa-jdbc-3.2.2.jar:3.2.2]
  at org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:305) 
~[openjpa-jdbc-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.jdbc.sql.SelectImpl$SelectResult.load(SelectImpl.java:2537) 
~[openjpa-jdbc-3.2.2.jar:3.2.2]
  at org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:298) 
~[openjpa-jdbc-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.jdbc.kernel.InstanceResultObjectProvider.getResultObject(InstanceResultObjectProvider.java:60)
 ~[openjpa-jdbc-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.datacache.QueryCacheStoreQuery$CachingResultObjectProvider.getResultObject(QueryCacheStoreQuery.java:717)
 ~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.kernel.QueryImpl$PackingResultObjectProvider.getResultObject(QueryImpl.java:2193)
 ~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:38) 
~[openjpa-lib-3.2.2.jar:3.2.2]
  at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1314) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:1061) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:911) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:842) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at 
org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:601) 
~[openjpa-kernel-3.2.2.jar:3.2.2]
  at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:297) 
~[openjpa-persistence-3.2.2.jar:3.2.2]
  at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:314) 
~[openjpa-persistence-3.2.2.jar:3.2.2]
  at 
org.apache.syncope.core.persistence.jpa.dao.JPAUserDAO.findAll(JPAUserDAO.java:277)
 ~[syncope-core-persistence-jpa-3.0.12.jar:3.0.12]
...


As far as Syncope is concerned, the step that ultimately fails is JPAPlainSchemaDAO.find(). As this method only has a string argument I do not see what I could have done to make that call fail.

Second problem:

org.apache.syncope.core.persistence.api.attrvalue.validation.ParsingValidationException:
 While trying to parse '4589  at 
org.apache.syncope.core.persistence.jpa.entity.AbstractPlainAttrValue.parseValue(AbstractPlainAttrValue.java:19
  at 
org.apache.syncope.core.persistence.jpa.attrvalue.validation.AbstractValidator.validate(AbstractValidator.java:
  at 
org.apache.syncope.core.persistence.jpa.attrvalue.validation.DefaultPlainAttrValidationManager.validate(Default
  at 
org.apache.syncope.core.persistence.jpa.entity.AbstractPlainAttr.add(AbstractPlainAttr.java:73)
 ~[syncope-core-  at 
org.apache.syncope.core.persistence.jpa.entity.AbstractPlainAttr.add(AbstractPlainAttr.java:97)
 ~[syncope-core-  at 
org.apache.syncope.core.provisioning.java.data.AbstractAnyDataBinder.lambda$fillAttr$3(AbstractAnyDataBinder.ja
  at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
  at 
org.apache.syncope.core.provisioning.java.data.AbstractAnyDataBinder.fillAttr(AbstractAnyDataBinder.java:264)
 ~  at 
org.apache.syncope.core.provisioning.java.data.AbstractAnyDataBinder.lambda$fill$18(AbstractAnyDataBinder.java:
  at 
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
 ~[?:?]
  at 
java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
 ~[?:?]
  at 
java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707) 
~[?:?]
  at 
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) 
~[?:?]
  at 
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
 ~[?:?]
  at 
java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
 ~[?:?]
  at 
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
 ~[?:?]
  at 
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) 
~[?:?]
  at 
java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
 ~[?:?]
  at 
org.apache.syncope.core.provisioning.java.data.AbstractAnyDataBinder.fill(AbstractAnyDataBinder.java:553)
 ~[syn  at 
org.apache.syncope.core.provisioning.java.data.UserDataBinderImpl.create(UserDataBinderImpl.java:433)
 ~[syncope  at jdk.internal.reflect.GeneratedMethodAccessor298.invoke(Unknown 
Source) ~[?:?]
  at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:?]  at java.base/java.lang.reflect.Method.invoke(Method.java:569) ~[?:?]
  at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
 ~[spring-aop-5.3.39.  at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:19
  at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
 ~[spr  at 
org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionIntercept
  at 
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectS
  at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
 ~[sp  at 
org.apache.syncope.core.persistence.jpa.spring.DomainTransactionInterceptor.invoke(DomainTransactionInterceptor
  at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
 ~[spr  at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:241)
 ~[spring-aop-5.3.39.ja  at jdk.proxy3/jdk.proxy3.$Proxy171.create(Unknown 
Source) ~[?:?]
  at org.apache.syncope.core.flowable.task.Create.doExecute(Create.java:45) 
~[syncope-ext-flowable-bpmn-3.0.12.jar:3  at 
org.apache.syncope.core.flowable.task.FlowableServiceTask.execute(FlowableServiceTask.java:37)
 ~[syncope-ext-fl...
Caused by: java.time.format.DateTimeParseException: Text '524831332' could not 
be parsed at index 0
  at 
java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2052)
 ~[?:?]
  at 
java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1954) 
~[?:?]
  at java.base/java.time.LocalDate.parse(LocalDate.java:430) ~[?:?]
  at 
org.apache.syncope.core.provisioning.api.utils.FormatUtils.parseDate(FormatUtils.java:135)
 ~[syncope-core-provi  at 
org.apache.syncope.core.persistence.jpa.entity.AbstractPlainAttrValue.parseValue(AbstractPlainAttrValue.java:17

The funny thing is that of course, uidNumber is NOT defined to be a date. The schema definition that is used to parse the value seems to not match the schema of the value. After some research we found that PlainSchemaDAO.find() is used to get the schema definition, so this could be related to the first problem.

Are there known issues with PlainSchemaDAO.find()? Did anyone experience anything similar?

Kind regards

Stephan

Reply via email to