The .snap folder is not always available

The .snap folder that SNAP is trying to use and create during installation is protected on systems. E.g., systems which use CephFS. Hence standard installations such as:

wget http://step.esa.int/downloads/6.0/installers/esa-snap_sentinel_unix_6_0.sh
bash esa-snap_sentinel_unix_6_0.sh

(on https://sen1mosaic.readthedocs.io/en/latest/setup.html#requirements)

can fail. I t would be better to place such files/folders in .config instead. The workaround here is to update the snap.conf file, but perhaps in new installations this could be improved by the SNAP developers.

I would have made an issue, but not able to create an an account on https://senbox.atlassian.net/

I am still getting some errors from SNAP after updating the ~/.snap folder to ~/.esa_snap in snap.conf
The above change allows me start SNAP but I still get errors from SNAP of the form:
[raymondo@ui-01 bin]$ ./snap
org.h2.message.DbException: Log file error: “/home/raymondo/.snap/product-library/products.trace.db”, cause: “org.h2.message.DbException: Error while creating file “”/home/raymondo/.snap/product-library”" [90062-197]" [90034-197]
org.h2.message.DbException: Log file error: “/home/raymondo/.snap/product-library/products.trace.db”, cause: “org.h2.message.DbException: Error while creating file “”/home/raymondo/.snap/product-library”" [90062-197]" [90034-197]
org.h2.message.DbException: Log file error: “/home/raymondo/.snap/product-library/products.trace.db”, cause: “org.h2.message.DbException: Error while creating file “”/home/raymondo/.snap/product-library”" [90062-197]" [90034-197]
org.h2.message.DbException: Log file error: “/home/raymondo/.snap/product-library/products.trace.db”, cause: “org.h2.message.DbException: Error while creating file “”/home/raymondo/.snap/product-library”" [90062-197]" [90034-197]
org.h2.message.DbException: Log file error: “/home/raymondo/.snap/product-library/products.trace.db”, cause: “org.h2.message.DbException: Error while creating file “”/home/raymondo/.snap/product-library”" [90062-197]" [90034-197]

I.e., the product library still thinks that a .snap folder should be used. Does anyone know how to fix this?

Btw. in case anyone is wondering I did update to the lates SNAP 8.0 and that did cause any change in behavior for the above.

Hi,

yes this was already recently reported:

I thing config is also not good name for this directory. This is too generic.
Maybe we name it in some future version esa_snap.
As alternative CephFS could rename there directories they use.

Dear marpet,

Thanks for the response. This is very useful I indeed missed to update the dir in the snap.properties file. Now it seems ok. As far as I can judge Ceph/CephFS is an up an coming storage management system. I am not sure how likely it is that they will update their .snap dir.

I heard that there was some beginning consensus that hidden software folders such as ESA’s .snap could perhaps be preferentially placed below a generic .config dir and that other software could do the same. Hence my comment, but I am not sure whether this will find any real traction (too early to tell). A .esa_snap would already be very useful as it less likely to cause a clash (I hope).

Ceph has been widely used by supercomputer sites for well over a decade, but the “snaps” are relatively recent (becoming “stable” in 2018). Not using a more specific name seems a bit lazy, but not surprising. It is best to avoid using non-standard directory names as it is all too easy to forget to update some rarely used script, scripts provided by 3rd parties may use hard-coded directory names. etc.

There has also been confusion over ESA SNAP and Ubuntu snap packages, which use ~/snap, ESA SNAP’s python interface (snappy) and other Python packages called snappy. This will only get worse as new packages also called SNAP appear. Renaming along the lines: ~snap --> ~/esa_snap, ~/.snap --> ~/.esa_snap, and snappy --> esa_snappy should minimize confusion. An option to create symbolic links for the old names so existing scripts can continue to be used would ease the transition.