consbio / mbtileserver

Basic Go server for mbtiles
ISC License
658 stars 104 forks source link

the option enable-fs-watch does not work on Windows #134

Closed DonkeyLiao closed 2 years ago

DonkeyLiao commented 2 years ago

I enabled enable-fs-watch, when I changed the tilesets and services json result does not change.

There is 9 mbtiles in the directory, then I run a docker container and delete one mbtiles form the directory, but then service still returned 9 records. I'm so confused.

This is my docker command: docker run --name mbtileserver --rm -p 8080:8000 -v /mbtiles:/tilesets consbio/mbtileserver --enable-fs-watch --enable-reload-signal -d /tilesets

brendan-ward commented 2 years ago

@DonkeyLiao thanks for reporting this and sorry for the issues!

What version of mbtileserver are you using?

There was a significant bug with enable-fs-watch for renamed / moved tilesets in version 0.8.0, which was fixed in 0.8.1.

If you are using 0.8.1, can you please describe in more detail how you are changing the tilesets?

DonkeyLiao commented 2 years ago

I use the master branch, donot use special version. I download the source code on the 8th of this month, so it should be repaired.

My specific operation is: First, I prepared 9 mbtiles, then I run a docker container and mount the directory to /tilesets , now I check the service, it returned 9 records. Then I delete a mbtiles from the directory( My OS is windows , I delete the mbtiles directly from windows directory, not use docker commond ), I refresh browser, the service still returned 9 records. I refresh again after 1 minute, still 9 records. I hope this information is useful.

Now I use "kill -HUP 1" commond temporary solved the problem.

brendan-ward commented 2 years ago

@DonkeyLiao I'm sorry for the issues with this feature. I don't have a Windows computer to test with, and I'm not quite sure how we can test this particular issue on our CI. Perhaps another Windows user will be able to share some insights.

DonkeyLiao commented 2 years ago

I deployed the docker container on Linux and it works well. ^_^