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