Francesco Chicchiriccò created SYNCOPE-1896:
-----------------------------------------------

             Summary: Audit: not serializable exception for ConnectorObject 
instances
                 Key: SYNCOPE-1896
                 URL: https://issues.apache.org/jira/browse/SYNCOPE-1896
             Project: Syncope
          Issue Type: Bug
          Components: core
    Affects Versions: 3.0.12
            Reporter: Francesco Chicchiriccò
            Assignee: Francesco Chicchiriccò
             Fix For: 3.0.13


When audit is configured for PUSH, the following exception is logged:

{code}
2025-07-23 12:32:35.495 [operation.id=01983557-10c5-7d3a-aed4-3645c45bcc60] 
ERROR [er_Worker-7] 
g.apache.syncope.core.provisioning.java.job.AfterHandlingJob : Could not 
schedule, aborting

org.quartz.JobPersistenceException: Couldn't store job: Unable to serialize 
JobDataMap for insertion into database because the value of property 
'AfterHandlingEvent' is not serializable: 
org.identityconnectors.framework.common.objects.ConnectorObject [See nested 
exception: java.io.NotSerializableException: Unable to serialize JobDataMap for 
insertion into database because the value of property 'AfterHandlingEvent' is 
not serializable: 
org.identityconnectors.framework.common.objects.ConnectorObject]
        at 
org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport.java:1119)
        at 
org.quartz.impl.jdbcjobstore.JobStoreSupport$2.executeVoid(JobStoreSupport.java:1062)
        at 
org.quartz.impl.jdbcjobstore.JobStoreSupport$VoidTransactionCallback.execute(JobStoreSupport.java:3652)
        at 
org.quartz.impl.jdbcjobstore.JobStoreSupport$VoidTransactionCallback.execute(JobStoreSupport.java:3650)
        at 
org.quartz.impl.jdbcjobstore.JobStoreCMT.executeInLock(JobStoreCMT.java:242)
        at 
org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJobAndTrigger(JobStoreSupport.java:1058)
        at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:841)
        at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:250)
        at 
org.apache.syncope.core.provisioning.java.job.AfterHandlingJob.schedule(AfterHandlingJob.java:72)
        at 
org.apache.syncope.core.provisioning.java.pushpull.AbstractPushResultHandler.doHandle(AbstractPushResultHandler.java:499)
        at 
org.apache.syncope.core.provisioning.java.pushpull.AbstractPushResultHandler.handle(AbstractPushResultHandler.java:222)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        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)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
        at 
org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
        at 
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
        at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
        at 
org.apache.syncope.core.persistence.jpa.spring.DomainTransactionInterceptor.invoke(DomainTransactionInterceptor.java:50)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
        at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:241)
        at jdk.proxy2/jdk.proxy2.$Proxy361.handle(Unknown Source)
        at 
org.apache.syncope.core.provisioning.java.pushpull.PushResultHandlerDispatcher.handle(PushResultHandlerDispatcher.java:49)
        at 
org.apache.syncope.core.provisioning.java.pushpull.PushJobDelegate.doHandle(PushJobDelegate.java:123)
        at 
org.apache.syncope.core.provisioning.java.pushpull.PushJobDelegate.doExecuteProvisioning(PushJobDelegate.java:277)
        at 
org.apache.syncope.core.provisioning.java.pushpull.PushJobDelegate.doExecuteProvisioning(PushJobDelegate.java:64)
        at 
org.apache.syncope.core.provisioning.java.pushpull.AbstractProvisioningJobDelegate.doExecute(AbstractProvisioningJobDelegate.java:702)
        at 
org.apache.syncope.core.provisioning.java.job.AbstractSchedTaskJobDelegate.execute(AbstractSchedTaskJobDelegate.java:155)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        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)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
        at 
org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
        at 
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
        at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
        at 
org.apache.syncope.core.persistence.jpa.spring.DomainTransactionInterceptor.invoke(DomainTransactionInterceptor.java:50)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
        at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:241)
        at jdk.proxy2/jdk.proxy2.$Proxy360.execute(Unknown Source)
        at 
org.apache.syncope.core.provisioning.java.job.TaskJob.lambda$execute$0(TaskJob.java:78)
        at 
org.apache.syncope.core.spring.security.AuthContextUtils.call(AuthContextUtils.java:116)
        at 
org.apache.syncope.core.spring.security.AuthContextUtils.callAs(AuthContextUtils.java:142)
        at 
org.apache.syncope.core.spring.security.AuthContextUtils.callAsAdmin(AuthContextUtils.java:147)
        at 
org.apache.syncope.core.provisioning.java.job.TaskJob.execute(TaskJob.java:67)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
        at 
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:566)
Caused by: java.io.NotSerializableException: Unable to serialize JobDataMap for 
insertion into database because the value of property 'AfterHandlingEvent' is 
not serializable: 
org.identityconnectors.framework.common.objects.ConnectorObject
        at 
org.quartz.impl.jdbcjobstore.StdJDBCDelegate.serializeJobData(StdJDBCDelegate.java:3057)
        at 
org.quartz.impl.jdbcjobstore.StdJDBCDelegate.insertJobDetail(StdJDBCDelegate.java:606)
        at 
org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport.java:1114)
        ... 51 more
{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to