Record Sync : Unable to Sync due to system issue

Certified Lead Developer

Facing the following error when creating a new record where record sync is enabled. No recent changes in the code or in the record.

The record is marked as synced but its data has not yet been synced.

More than 50% of the hard disk space is available in the server. Doesn't seem to be a disk space issue. 

  Discussion posts and replies are publicly visible

  • 0
    Certified Lead Developer

    Do you see anything in the logs?

  • 0
    Certified Lead Developer
    in reply to Mathieu Drouin

    We have event log configuration along with write to record. In the log also similar information and no much information. 

    It is occurring randomly. Once in 3 process facing the error. It is not happening all the time. 

    --------------------------

    2023-09-06 18:06:48,477 [Appian Work Item - 112077 - WorkID 823 - execution01 - process 268576143 - model 15221 : UnattendedJavaActivityRequest] ERROR com.appiancorp.process.engine.UnattendedJavaActivityRequest - An error occurred while executing activity: id=268473646, classname=com.appiancorp.process.runtime.activities.WriteRecordsWithEventsActivity
    com.appiancorp.suiteapi.process.framework.ActivityExecutionException: The records could not be updated because the specified record type has not been synced or its existing synced data has been invalidated.
    at com.appiancorp.process.runtime.activities.WriteRecordsWithEventsActivity.handleValidationErrors(WriteRecordsWithEventsActivity.java:215)
    at com.appiancorp.process.runtime.activities.WriteRecordsWithEventsActivity.execute(WriteRecordsWithEventsActivity.java:111)
    at com.appiancorp.suiteapi.process.framework.AbstractActivity.perform(AbstractActivity.java:104)
    at com.appiancorp.process.runtime.framework.LegacyActivityExecutor$2.call(LegacyActivityExecutor.java:90)
    at com.appiancorp.process.runtime.framework.LegacyActivityExecutor$2.call(LegacyActivityExecutor.java:87)
    at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:23)
    at com.appiancorp.process.runtime.framework.LegacyActivityExecutor.execute(LegacyActivityExecutor.java:87)
    at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:88)
    at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(UnattendedJavaActivityRequestResponseCreator.java:22)
    at com.appiancorp.process.engine.UnattendedJavaActivityRequest.getJavaActivityResultResponse(UnattendedJavaActivityRequest.java:67)
    at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(UnattendedJavaActivityRequest.java:55)
    at com.appiancorp.common.persistence.data.AppianDataUserContextProvider.executeWithConsistentDataReads(AppianDataUserContextProvider.java:143)
    at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(ProcessContinuationRequest.java:68)
    at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:129)
    at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:36)
    at com.appiancorp.process.workpoller.WorkItem.run(WorkItem.java:110)
    at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:241)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:750)
    Caused by: com.appiancorp.record.service.error.RecordMutationValidationException: com.appiancorp.suiteapi.common.exceptions.AppianException: The records could not be updated because the specified record type has not been synced or its existing synced data has been invalidated. (APNX-1-4564-006)
    at com.appiancorp.record.service.mutate.RecordMutationActivityValidatorImpl.validateRecordTypes(RecordMutationActivityValidatorImpl.java:166)
    at com.appiancorp.record.service.mutate.RecordMutationActivityValidatorImpl.validateRecordMapInputs(RecordMutationActivityValidatorImpl.java:60)
    at com.appian

  • 0
    Certified Associate Developer
    in reply to Santha

    Did you check if any failure while updating the records in this record type either via write to data store by any instance due to any limit of record sync?

  • 0
    Certified Lead Developer
    in reply to Santha

    This is the error for the Write Records. But what do the logs say when you try to run the sync?

  • 0
    Certified Lead Developer

    When I run the sync manually it worked. Looks like Appian infrastructure component had some issue at the time and it got resolved. The record sync and write to record working fine now. Happens to be a temporary server issue. 

  • 0
    Appian Employee
    in reply to Santha

    If you notice an issue again in the future, I'd recommend like Mathieu mentioned above and look for the timestamp of the sync issue - that should give you more context on what the root problem was.

  • 0
    Certified Lead Developer

    I recently ran into this exact error message and scenario (writes to DSE consistently caused Record Type's data sync to fail, even though the data changes do get persisted, and manually running a data sync has no problems). In my case, the underlying database table's PK was configured as INT UNSIGNED. When I updated it to be simply INT, the data sync errors on DSE writes went away.

    I have no idea why the use of UNSIGNED might cause this data sync error, or why Appian might complain about updating "the same entity multiple times in the same transaction", when that's not what was going on.