Skip to main content
Version: ILLiad 10.0 (Pre-release) đźš§

Odyssey Manager Monitoring and Troubleshooting

This article covers how to tell the Odyssey Manager service is healthy, where it logs, and what the most common problems point to. For configuration, see the Odyssey Manager Administrator Guide.

Is Odyssey Manager running? (heartbeat)​

A heartbeat is a periodic "I'm still running" signal a service writes so you can tell it's alive. Every outbound poll pass, Odyssey Manager writes one to the ILLiad SystemInformation table under Source = Odyssey Manager:

FieldValueWhen
StatusRunningStart of each pass
Last Runcurrent timeStart of each pass
StatusIdleEnd of each pass
Next Runcurrent time + OutboundPollIntervalSecondsEnd of each pass

To confirm the service is running, look for a recent Last Run timestamp on the Odyssey Manager source. (The heartbeat writes are best-effort — a failure is logged but never blocks a pass.)

Logs​

Logging is configured through ILLiadOdysseyManager.log.config (log4net):

DestinationLevelsNotes
logs/ILLiadOdysseyManager.logINFO and aboveRolling: up to 10 backups of 10 MB each.
logs/ILLiadOdysseyManager-Errors.logERROR–FATALErrors only.
Windows Event Log ("ILLiad Odyssey Manager")ERROR–FATALErrors and above also surface here.

Every log line carries a [documentId] tag, so you can follow one document all the way through a pass. To trace one document, or view recent errors:

Select-String -Path "logs\ILLiadOdysseyManager.log" -Pattern "\[<documentId>\]"
Get-Content -Tail 200 logs\ILLiadOdysseyManager-Errors.log

Running with --console adds console logging on top of the file log.

Access-control logging​

Odyssey Manager keeps an audit trail of every inbound TCP connection — both accepted and denied — so administrators can review who connected to the Odyssey listener. This carries forward from the Delphi Odyssey Manager.

Common problems​

SymptomWhere to look
Service won't startThe Event Log source "ILLiad Odyssey Manager". Usual causes: a missing or unwritable DataPath, an invalid OdysseyManager config section (the service prints the failing setting), or an unreachable logon database.
Service runs but no heartbeatNo SystemInformation rows for Odyssey Manager means the outbound worker isn't completing a pass — check the errors log for a database or startup error.
Inbound peers temporarily rejectedThe concurrency cap was reached. Review MaxConcurrentProcessing; sustained rejection may mean a document is stuck — find its documentId in the log.
Document marked "Unrecognized file type"The automatic path accepts only application/tiff, application/tif, or application/pdf. A sender using image/tiff or another type is rejected by design.
Document marked "Empty File"A zero-byte inbound file — the sender delivered no content.
Delivery fails with "PDF Conversion Failed"Usually WebPDFPath isn't set for the NVTGC, or the source file didn't resolve inside a permitted inbound directory.
Delivered PDF has no cover sheetNeither cover-sheet key pair is configured for the NVTGC and the legacy fallback file doesn't exist. Set the cover-sheet keys.
Article Exchange uploads fail authenticationOne or more of the four OCLC credential keys is empty at the parent site. Set all four.
Transactions deliver but no billing is writtenConfirm the gate key (BillingActiveLending or BillingActiveDocDel) is on, the billing category isn't Exempt, and no billing rows already exist (the already-billed guard skips a re-run).
OCR expected but didn't runOCR fires only when ArticleExchangeOCREnabled is on for the receiving site and the merged PDF has at least one image-only page. A fully searchable PDF is delivered as-is.