Release versions this problem applies to
- 24.3.0-202312190021150029-52db2faf
Details
There is an issue with this specific 24.3.0 image of Dremio that can cause Refresh fails with "Reflection could not be created as it uses context-sensitive functions".
Example error:
VALIDATION ERROR: Reflection could not be created as it uses context-sensitive functions. Functions like IS_MEMBER, USER, etc. cannot be used in reflections since they require context to complete.
Solution
An updated 24.3.0 image has been built and replaces the original 24.3.0 image. The release that should be used in was produced on 2023-12-22.
Old: 24.3.0-202312190021150029-52db2faf
New: 24.3.0-202312220021110714-f19d865e
If you are using a Kubernetes deployment, there are additional steps needed to make sure you pull the latest 24.3.0 release by pulling the latest image tags:
Image Tags:
docker pull dremio/dremio-ee:24.3
docker pull dremio/dremio-ee:24.3.0
docker pull dremio/dremio-ee:latest
Image Hash: 99dc75316156
Repo Tags:
Docker Hub: https://hub.docker.com/r/dremio/dremio-ee/tags
Quay.io: https://quay.io/repository/dremio/dremio-ee?tab=tags
Please note that the Docker engine / Kubernetes nodes might have a cached version of 24.3. Kindly make sure you purge the same and force the image pull by modifying image pull policy to 'Always'. To make this change, edit all occurrences of imagePullPolicy in the templates found under charts/dremio_v2/templates, from IfNotPresent to Always.
Example of setting download to force and bypass cached files:
$ cat dremio-master.yaml
…
containers:
- name: dremio-master-coordinator
image: {{ $.Values.image }}:{{ $.Values.imageTag }}
imagePullPolicy: Always
…
- name: chown-data-directory
image: {{ $.Values.image }}:{{ $.Values.imageTag }}
imagePullPolicy: Always
…
- name: upgrade-task
image: {{ $.Values.image }}:{{ $.Values.imageTag }}
imagePullPolicy: Always
…
- name: generate-ui-keystore
image: {{ $.Values.image }}:{{ $.Values.imageTag }}
imagePullPolicy: Always
The files which need to be changed are:
_helpers_executor.tpl, dremio-admin.yaml, dremio-coordinator.yaml,
dremio-executor.yaml and dremio-master.yaml
Note: This will slow down the pod restart as it no longer uses the cached image. Please make a copy of the above files if you wish to revert this behaviour after upgrade.
Further Reading
https://kubernetes.io/docs/concepts/containers/images/
https://www.fairwinds.com/blog/kubernetes-basics-tutorial-how-to-set-image-pull-policy-to-always