[backend] Metadata/Executions not written in 1.7.0-rc1 (New visualisations not working as a result)
See original GitHub issue/kind bug
I upgraded Kubeflow from 1.4.0 to 1.7.0-rc1 with the platnform-agnostic manifests.
While I now see correct visualizations of statistics from runs that happened before upgrading to 1.7.0-rc1, new runs only display the markdown details.
The TFX pipelines I submit are exactly the same. On the new runs the ML Metadata tab of the components prints:
“Corresponding ML Metadata not found.”
Furthermore I don’t see any new executions on the executions page despite running many pipelines since upgrading.
I don’t see anything special in the logs of the TFX pods except:
WARNING:absl:metadata_connection_config is not provided by IR.
But that was present before upgrading to 1.7.0-rc1.
The only errors I see in the metadata-grpc-deployment pod is:
name: "sp-lstm-rh6xt"
Internal: mysql_query failed: errno: 1062, error: Duplicate entry '48-sp-lstm-rh6xt' for key 'type_id'
Cannot create node for type_id: 48 name: "sp-lstm-rh6xt"
Which I also think is normal?
Basically I don’t think executions and artifacts are getting written to the DB for some reason in 1.7.0-rc1. Not sure how to debug this. This causes the visualizations to not show up as far as I can see.
Metadata in the TFX pipelines is configured via the get_default_kubeflow_metadata_config tfx.orchestration.kubeflow function.
Environment:
Kubeflow version: 1.4.0 -> 1.7.0-rc1 kfctl version: Not used. Using tfx.orchestration.kubeflow to submit pipelines. Kubernetes platform: Upstream kubeadm: k8s v1.20.5 Kubernetes version: (use kubectl version): OS (e.g. from /etc/os-release): Centos 8
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.
Issue Analytics
- State:
- Created 2 years ago
- Comments:28 (17 by maintainers)
Top GitHub Comments
I found some possible cause. It is related to the changes in the way TFX stores their contexts since 1.0.0 (which is related to the changes in the execution stack using TFX IR).
In TFX 0.X, the context were
However in TFX 1.0, the context became
Related code
So it seems like Kubeflow Pipelines cannot find context (and artifacts) properly. I think that we should change mlmd access code like here.
CC. @zhitaoli , @1025KB , @Bobgy
Unfortunately, it seems that there is no direct clue when finding executions. (Artifacts has
tfx_version
property, but there is no such information in Context / Execution.)I think that we can try to find 1.0 context first, and fallback to 0.X context if not found.