The following offers some solutions to common issues when setting up and using Fili. If you come across any issues that you think belong here, please feel free to contribute.
The Fili logs are Jetty logs, so they can be found wherever your Jetty instance stores its logs.
The logs have a lot of information and should help indicate the error. More info on logging levels
It may be that the versions of dependencies in your application’s POM are out of sync with the dependency versions used by fili. If that is the case, then modifying your dependency versions to use the same version as fili should solve the problem.
There are two possible causes for Fili crashing with IllegalStateException: Couldn't create dir: path/to/mdbm/dimensionCache/page
:
The dimensionCache
subdirectory in path/to/mdbm
does not exist. Fili assumes path/to/mdbm/dimensionCache
already exists, and does not attempt to create it.
dimensionCache
exists, but does not have the correct read/write/execute permissions. The user that Jetty is
running under (typically nobody
) needs to have read, write, and execute permissions on dimensionCache
.
Your dimensions have never been updated, and don’t have a lastUpdated
field set. This can happen if you forgot to
set up your dimension loader. You can get more details about the problem at the /healthcheck
endpoint.
If the dimensions are not being loaded, then see the Dimension Loading for more details on how
to set up the dimension loader (or configure all of your dimensions to be non-loaded).
If you make a query to Fili that doesn’t work as expected it may be helpful to add the format=debug
to the end of your query like below.
GET http://localhost:9998/v1/data/wikipedia/day?metrics=added&dateTime=2000-01-01/3000-01-01&format=debug
This lets you see the exact query which would have been sent to Druid. See the Druid Querying Docs