Q: eventmonAPI sometimes generate email for invalid element especially when running dataPipelines with -metadataapi tee option. (PR# 2173)
A: eventmonAPI sends data objects via threads. Each sent object is destroyed on completion of the thread function. If the -metadataapi option is used to send metadata object to both ligolw and metadata APIs, the same object is sent in parallel and then destroyed in parallel. There could be a potential memory corruption if the sent object is being reused before the 2nd destruction occurs.

Work around: -metadataapi tee option was created to save data in case of database deadlock or error during insertion. With the threaded metadataAPI there is less likely chance of losing data since each insertion is done atomically in a thread. So it may not be necessary to use -metadataapi tee option all the time. The -metadataapi metadata should suffice in most cases.


Back to LDAS FAQ