Where Oda keeps its data

DataMind Oda keeps the settings it saves and the caches it builds in one home folder on this computer. This page shows how Oda chooses that folder, how it shows the location, and what keeps a settings save safe.

How Oda chooses the home folder

Oda uses the first of these that is actually set:

  1. A folder path chosen for the run.
  2. The home folder named in the environment Oda starts in.
  3. The default: a folder inside your user folder.

Where your chats, sign-in and other data live, and what leaves your computer, is on Account, data and updates.

How Oda shows paths

What keeps a settings save safe

When Oda saves a settings file, it does not rewrite the file in place. It works in three steps:

  1. It takes the lock. Oda creates a lock file beside the settings file, with .lock added to the file's name. The lock records the process that is writing, so a second save waits instead of writing at the same time. If another write holds the lock, Oda waits with pauses that grow, up to about two seconds by default, and then stops waiting instead of writing.
  2. It writes beside the target. Oda writes the new content to a temporary file next to the settings file, then renames it over the target. Anyone reading at that moment sees the old file or the new one, never something written halfway.
  3. It cleans up. Oda removes the lock when the save ends, and removes the temporary file if the save could not finish. A failed save leaves the settings file as it was.

Two more behaviours you may meet:

Changes you save in settings forms are written this way; Live plugin settings covers those forms. For what the settings file contains and when you may edit it, see The profile settings file.

When a save waits too long

If the wait for the lock runs out, the save does not happen, and Oda reports that it timed out waiting for the writer lock, naming the lock file's path. Try the change again. If it keeps failing, do not remove the lock file yourself; follow Troubleshooting.

What a crash leaves behind

Warning

Do not delete a lock file yourself. A lock left behind by a crash is removed as a careful step, only after confirming that no writer still owns it. Ask DataMind support.

Where start values come from

Oda reads its start values from three places, in order:

  1. The environment Oda is launched with.
  2. A settings file in the folder Oda is launched from.
  3. A settings file in the home folder.

A value from a higher place wins over one from a lower place. Oda takes this snapshot once, when it starts, so a later folder change does not affect the run in front of you.

A settings file cannot make Oda treat a run as a remote (SSH) run; Oda decides that from the environment it was launched in, never from a settings file. See SSH remote execution for remote runs, and Startup and diagnostics for the full rules for these files, including the values a file may not set.

Limits on how much Oda keeps

Some settings say how much Oda may keep, such as a number of items or a number of bytes. Such a value must be zero or a whole number. A budget of zero keeps nothing, and a value outside the rule is refused before it is applied.

Questions, answered

Where does Oda keep its settings and caches?

By default, in a folder inside your user folder; you can also choose the folder for a run or name it in the environment Oda starts in. The settings files Oda saves and the caches it builds live under that folder. Oda shows the location in a short form, never the full path.

Can I move Oda's home folder?

Yes. Name the folder you want in the home setting of the environment you start Oda in, and Oda uses it the next time it starts. A blank or spaces-only value is ignored, so an empty setting moves nothing.

Why does Oda shorten folder paths when it shows them?

Oda writes the home folder in a short form such as ~/<folder>, where ~ stands for your user folder, and a home you set yourself is shown by the name of the setting you used. The full path on your computer is never written into what Oda shows you, so a copied message does not reveal your machine's layout. The ~ shorthand is used for POSIX-style paths; a Windows-style path is not abbreviated this way.

A save timed out waiting for the writer lock. What can I do?

Another save was in progress, or a crashed writer left its lock file behind. Try the change again. If it keeps failing, do not remove the lock file yourself; follow Troubleshooting.

Can a settings file be left half-written?

No. Oda writes the new content to a temporary file beside the target and renames it over the target in a single step, so a reader sees the old file or the new one. A save that fails removes its temporary file and leaves the settings file as it was.

What happens if Oda crashes while saving a settings file?

The settings file holds the old content or the new one, never something half-written. The lock file can survive the crash, and later saves then wait for it and time out until it is removed. A sudden power loss is the one case Oda does not cover: the newest save can be lost that way.

How does Oda decide between a value in the environment and one in a settings file?

It reads them in order: the environment Oda is launched with, then a settings file in the folder you launch from, then a settings file in the home folder. A value from a higher place wins over one from a lower place.

Why did changing the folder I launch Oda from not change anything?

Oda takes its snapshot of these values when it starts, so a later folder change does not affect the run in front of you. Start Oda again from the new folder to use its values.

Can a settings file make Oda treat my run as a remote (SSH) run?

No. Oda treats a run as remote only when the environment it was launched in says so; a settings file cannot establish a remote session. See SSH remote execution.