Development mode

    You can toggle development mode on and off usingthe ,the HTTP API orin the service settings tab of the web interface.

    To find out where a service’s active source files are stored, check theservice settings in the web interface or the service details when usingthe Foxx CLI or HTTP API. The root folder for all services can also beset explicitly by overriding the option in theArangoDB configuration.

    In development mode the service’s source files and manifest will bere-evaluated, and its setup script (if present) re-executed,every time a route of the service is accessed,effectively re-deploying the service on every request.Additionally, error responses generated by Foxx will include stacktraces andwhen viewed in a browser may include relevant sections of the service codethat generated the error.

    To avoid losing your changes, we recommend using a tool like to synchronize changes from yourlocal working copy to the service files continuously rather than modifyingthose files directly.Alternatively you can easily re-deploy your local copy of the service usingthe Foxx CLI.

    • parallel requests may result in race conditions as the setup scriptmay be executed in multiple threads in parallel(outside development mode the setup would only be executed in one thread)

    • if you are ,keep in mind that requests to these files will still result ina re-deployment of the service

    • the service files should be treated as highly volatile as they willbe erased if the service is uninstalled/replaced or the database removed

    For these reasons we strongly advise against using development modeon production servers.

    Using development mode in a production clusteris extremely unsafe and highly discouraged.

    Development mode in a cluster applies to each Coordinator individually.Changes to the service’s file system on a single Coordinator will be reflectedas usual but only on that single Coordinator.When development mode is disabled on one Coordinator,it will create a new service bundle from the local changes anddistribute it across the cluster to the other Coordinators.