when I tried your method to disable then reenable, it works. It keeps the same
id but changes the
tag and from the looks of it does a complete refresh, and it deletes the previous reflection. When the reflection is disabled the UI shows a gray disk icon and size of 0 bytes reflecting a deletion has occurred. I’m not sure if the deletion occurs immediate when disabling, if so it should be called “truncate” instead of “delete” I would suggest they change the name. From what I can tell Dremio uses the tag as a version indicator, omitting it will return
Invalid reflection: reflection version required.
I tried to use PUT update a specific raw reflection as described on Dremio API Docs. I am able to get 200 OK but it does not actually refresh it, according to the jobs view, the log, and the UI nothing is triggered.
I have been able to get reflections to fail then refresh them and get the same size footprint, which suggests they did not fail except from the standpoint where they were queued for the maximum wait time then marked as failed, after which the previous successful reflection is lost when I have to reenable them to remove the failure indicator. I think I am also having trouble with the failure count settings propagating from my admin console at the reflections tab (in AWS marketplace version, not visible in Docker version). If I set it low = 1 then it fails once, the reflection stays in failed mode forever, cannot be refreshed via the UI.
My recommendation is Dremio needs to:
- change wording for disable reflection to truncate
- get the PUT reflection API call to perform the same as the refresh now in the API
- explain why the version
tag should change when disabling / enabling a reflection whose design has not changed.
- add to the UI a few things:
- refresh all reflections
- retry all failed reflections
- force refresh of multiple reflections (checkboxes, run)