Hi friends, we have a VDS that depends of one PDS, refresh policy is set to refresh every day. For testing purposes, the datasource was down for 3 days so Dremio shows: “Multiple attempts to build Reflection failed, will not reattempt.” today the datasource is UP, but reflection not refresh even if I go to PDS and press refresh button, nothing happend Dremio still show “Multiple attempts to build Reflection failed, will not reattempt.”
@dacopan, the reflection has been put in a failed state because of the failed refreshes.
Go to the reflection configuration window, disable (“toggle off”) the reflection, save, and then re-open the reflection configuration window and re-enable that reflection, save again.
The reflection configurations are “layouts” of how the reflection should be created, but you can have different reflection UIDs for each layout. By doing the above (admittedly cludgy) action, you are effectively throwing out one reflection id for that layout and starting a “fresh” reflection for it, with a new UID and set of materializations.
To understand more about your reflections, if you are Dremio admin you can query the sys.reflections
and sys.materializations
tables.
Thanks by the response. Any workaround to automatic it? for example to remove “failed state” so when try reflection refresh using the API reflection it will be refresh?..
You can use the API to retrieve all the information about the reflection and delete the reflection.
A possible workflow would be:
(1) Get the a summary of all reflections using GET /reflection and filter the returned object for those that are disabled=false, or failed status reflection
(2) Use a PUT /reflection/{id} to and change “enabled” field to true
, I believe this should achieve the refresh.