Skip to main content

Troubleshooting

Failed migration

When a migration fails, you will get an error code. Below, you can find more specific information on resolving a failed migration.

Where to find additional info

  1. Check the Otto logs.

  2. Check FileMaker Server logs.

  3. Look at the Otto Migration Detail page in the Otto web console.

The Otto web console will have the most useful information about the failed migration here.

Possibility: Special characters in file or folder name

FileMaker Server will let you put special characters like periods and plus signs in folder and file names. These characters can lead to issues that are difficult to track down. Otto attempts to trap for and escape special characters, but they can still cause problems.

Solution

It is best to stick to alphanumeric characters and "_" when naming folders and files. FileMaker Files should contain only one period in their name (that being the separation between the name and the file type).

Possibility: Multi-file migrations with renaming

If your solution has many files and you are doing migrations that require renaming the files, please be aware that neither Otto nor Migrator can update the file references between those files. Only the FileMaker Advanced Developer Tool can do that. In this case, the migration will work and data will be transferred, but since the file references are still pointing at the old files, it will look as though it did not.

This is common for vertical market solutions where many copies of a solution are hosted on a single server, and each copy has a different file name.

Solution

The solution is to update the file references after the migration, manually. Alternatively, you can use variables to define the file references between your files so they can dynamically find the right files when they open. For more information on this method, see Editing FileMaker data sources.

Fetch failed

In some instances you'll receive a "Fetch Failed" error. This happens in one of two cases:

Possibility: Connect timeout error

Connect Timeout Error means that the Otto server performing the migration cannot connect to the other Otto server. The servers need to be able to "talk" directly to each other across the network over port 3030.

Solution

Test the connection between servers using the following test. This test assumes a standard migration from a Development Server to a Production Server.

  1. Log in to the Production Server (use a Remote Desktop app if the server is hosted).
  2. From the Production Server, open a web browser and try to connect to the Development Server on port 3030 (example: https://dev.yourdomain.com:3030/). If you don't see the FileMaker Server web page, your DNS is not configured correctly or a firewall is blocking the connection. If you can see Otto's login page then the connection from Production to Development is successful and you will be able to migrate and copy files.

If you plan to migrate from the Production Server to the Development Server, repeat the test in other direction (i.e. log in to your Development Server and use your browser to connect to the Production Server).

If you have corrected the issue but prior migrations have failed, you might have a temporary file left behind that will prevent a successful migration, which is addressed next.

Possibility: Permissions error

If you are getting an error that includes "Permission Error" you may have a temporary file left over from a previous, failed, migration. The actual file name may appear in the error message. You will not be able to remove it using the FileMaker Server Admin Console or with the operating system, because it recognizes that the file is in use.

Solution

To fix this problem, restart Otto with the Otto Watcher app (macOS) or Services (Windows). The file should be removed when the Otto service is restarted; if not, you can now safely delete it using the Admin Console or the file system.

Unable to verify the first certificate error

Possibility: Certificate error on "To" server

Otto is reaching out to the server to get a copy or a clone of the file, and it can't make a secure connection, because it can't verify that the SSL Certificate is valid. Specifically, it can't verify the first certificate in the chain of certificates.

This is usually a problem with the Intermediate Bundle Cert that was installed along with the main cert on your FileMaker server. Make sure you have the correct files from the certificate authority and that the intermediate bundle is up to date and correct.

Solution

The simplest fix is to restart Otto on both of the servers. This will reset Otto's use of the certificate, and see that both servers are valid and are connected.

The last resort

This is not NOT RECOMMENDED as it does reduce your security a bit, but you can turn off this check on Otto by setting a ENV variable.

Add a line to your .env file like this:

NODE_TLS_REJECT_UNAUTHORIZED=0

File doesn't open after migration

Possibility: File is insecure

If the migration completes successfully with no errors, but the file is not open at the end, then it could be that your file is not properly secured. You can check if this is the problem by looking in the FileMaker Server event logs. If this is the problem, the log will show a message that says that the "File is Insecure" and can't be opened. For more information about securing files, see this Claris help page.

Solution

FileMaker Server can be configured to not allow files that do not have good passwords to be hosted. If your server is set up that way, then your file must have a username and good password, or it will not stay open. Otto will open the file and signal that it was done, but FileMaker Server will immediately close it again.

ESOCKETTIMEDOUT error when migrating large files

Possibility: Too much data in development file

If the process of creating clones on your "from" server takes longer than two minutes, you will get a timeout and the migration will fail.

Solution

In an ideal scenario, you wouldn't have too much data in your development environment to run into this time limit, so the first step is to reduce the amount of data in your development file(s). If that's not practical, use the Saved Folder feature to prevent your migration from timing out.

Follow these steps to use the Saved Folder feature:

  1. Otto relies on the FileMaker Server backup command to generate clones of the files on your "from" server. You will need to know how long it takes for FileMaker Server to create the backups and clones. To determine this, create a temporary FileMaker Server schedule with the Clone option enabled.
  2. Run the backup manually, and compare the start and end times in the FileMaker Server event log to see how long it takes.
  3. When you start the migration process and see the Saved Folder panel (see picture below), enter a value in the saved folder name field; your clones will be saved in this folder on the "from" server. For the Wait Interval, you should probably pad the backup time from Step 2 by 3-5 minutes (i.e., 180 to 300 seconds) just to be on the safe side.

Note: When you start the migration, Migrator will kick off the backup/clone process first, then wait for the amount of time you entered in the wait interval before continuing with the migration.

Update legacy versions of Otto

Legacy versions of Otto prior to 1.6.1 have a bug* that leads to index corruption during migrations involving newly created fields. Please upgrade Otto to the latest version before performing a migration. If you have previously performed a migration with a version of Otto prior to 1.6.1, please use the FileMaker Developer Utility to reindex your file.

* This bug is technically not in the Otto product, but the FileMaker Data Migration Tool, which Otto relies on to perform the migration. This tool is available only through the FileMaker Developer Subscription.

Error Code 409

The 409 HTTP Status code occurs when you kick off a migration on a server that is already running a migration. The error message will be some thing like this: "A conflicting task is already running.Try again later".

It can also occur if a migration was killed by restarting Otto or by some other means. The migration didn't complete, and is now stuck in limbo. This will eventually clear itself. But you can clear it by restarting Otto.

Error Code 403

This status code is returned when you try to do something that requires a license or higher level license then you currently have. The message you get when you didn't install a license is "License Level is insufficient: not installed". If it requires a higher level license, it will be "License level is insufficient to use this feature. Required: '${licenseTypeRequired}'. Installed: 'Free'"

The resolution is to install a license with enough permissions to perform the action you are trying to do.