actinia-org/actinia-core

Mapset Locking behaves not as expected when mapset doesn't exist

mmacata opened this issue · 0 comments

The POST endpoint to create a mapset lock returns 400:
curl -u XX -X POST "http://127.0.0.1:8088/api/v3/locations/nc_spm_08/mapsets/test_mapset_2/lock"

AsyncProcessError: Unable to lock mapset <test_mapset_2>. Mapset doesn not exists.
If the mapset doesn't exit. That seems about right but the lock is created nevertheless:
"RESOURCE-LOCK::group/nc_spm_08/test_mapset_2" inside the redis database.

Now a mapset with this name cannot be created (because it is locked), it cannot be removed (because it doesn't exist) and the lock cannot be removed as well (because the mapset doesn't exist).

This should behave more intuitive.

  • Either a mapset which doesn't exist cannot be locked or unlocked with existing error messages
  • Or a non existing mapset can be unlocked with correct message
  • Locking of a non-existing mapset might not make any sense..