Clear out DataLoadProcessLog


#1

I have been loading several datafiles, finding the errors with the types, canonicals & transforms and the input records themselves. Thi has been a pretty intense exercise and has left me with a lot of entries in DataLoadUploadLog and DataLoadProcessLog, which I want to clear out and then take a fresh stab, so I can verify the impact of the changes made. I am able to clear out the DataLoadUploadLog using
DataLoadUploadLog.removeAll(); (thanks @ColumbusL)

However, there is still a lot of old junk left in the ProcessLog
image

The same method does not work on DataLoadProcessLog. Using the c3ShowType, I see

removeAll(removeFilter, allowMultiRowProcessing, disableAsyncProcessing): int staticinherited
Removes multiple instances of a C3 type based on a filter expression. When possible the remove will be accomplished with multi-row DELETE statements at the SQL level. When that is not possible, the remove is processed row by row (using batching). In that case the operation may take a very long time for a large data set.

If archiving is enabled, the instances will not be physically removed. Instead they will be serialized to XML and saved in the archive table for the type. Archived entries can be recovered by calling the unremove function.

Inherited from Persistable

Parameters:
removeFilter: string
Filter to specify which instances are to be removed. Valid filter expressions follow the same rules as in FetchSpec#filter. If not specified, all instances will be removed.

allowMultiRowProcessing: boolean
When true, if the operation can be handled via multi-row SQL operations it will. If false, or the operation can’t be handled with multi-row SQL operations (e.g. invalidation requirements), then objs will be fetched/batched and used to call removeBatch. Default is false.

disableAsyncProcessing: boolean
Disables any downstream asynchronous processing that would happen as a result of the operation (e.g. calc fields). This should only be specified when absolutely necessary and when the result of doing so is completely understood. If you don’t know, DON’T USE IT.

Tried looking on confluence for an answer but have not found anything suitable. What do I need to do in order to clear this log so I can start afresh?


#2

DataLoadProcessLog is a Persistable type and removeAll should work… Could you provide more information as what is the error?
Could you try removing only a few entries with the filter and checking if those entries exist after the removeAll is complete.


#3

You might also have to clear DataLoadContent and that is an entity type too… So DataLoadContent.removeAll() should work there too


#4

This finally did the trick:

DataLoadProcessLog.removeAll(null,true,null);