-
Notifications
You must be signed in to change notification settings - Fork 145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Received message larger than max (4199881 vs. 4194304) #74
Comments
I was able to fix this by deleting some items from the This is obviously just a bandaid. It seems like the root of this problem is that since there's no way to do filtering in ml-metadata, that TFX has to load ALL executions just to be able to choose the latest one. |
hi @pselden , you can use the grpc options to increase the size. /cc @ruoyu90 on the resolver logic refactoring. We also also working on filtering. Please stay tuned. |
@pselden, related to the discussion here, we will surface the pagination API to the python client. |
@hughmiao I encountered the same issue when running the Evaluator component in TFX while slicing on continuous features. I'm also running MLMD in Kubeflow, is there a way to set the grpc max message length as a command line option, like grpc-port? |
@ConverJens , the config can be passed in the tfx pipeline mlmd config settings.
For kubeflow deployment, + @dushyanthsc for KFP settings / command line options. |
@hughmiao do you happen to have an ETA for this? We are building atop MLMD at Twitter and pagination is a must have for us. |
@redramen I should have the pagination support surfaced in the python client by end of this week. |
@redramen sg, will prioritize this. thanks, @dushyanthsc ! Let's follow up in the cl. /cc @ruoyu90 for tfx side changes if needed. |
@dushyanthsc Any documentation on how to specify this? |
@ConverJens we plan to use the ListOperationOptions(https:/google/ml-metadata/blob/master/ml_metadata/proto/metadata_store.proto#L638) in gRPC service layer and have the python client get executions by calling the gRPC with page size. I am working on the CL, and should have a point release out early next week. |
…gination and ordering results by ID, create time and last update time fields. The change further use the exposed options to in get_executions_by_context / get_artifacts_by_context python APIs to address feature request in #74. PiperOrigin-RevId: 344194942
@ConverJens @redramen A solution for the problem is checked in and available at HEAD. The solution was to use the pagination support and retrieve Executions in page of 100 executions per page and abstract this logic behind get_executions_by_context. If you can elaborate how you consume MLMD i.e. from source code or released version or through TFX we can decide we need to cut a point release. |
@dushyanthsc That sounds great for the paging problem. However, my problem was that the proto message from a single Evaluator run was too large, hence I would like to specify this option for MLMD in the KubeFlow installation, not just from a client. Any idea how this can be achieved? Perhaps as a command line option, like grpc-port? And regarding how we consume MLMD: through Jupyter using the kubeflow-metadata package and through TFX pipelines. The pagination is not a blocker for our use case at the moment. |
@ConverJens What is the underlying MLMD API call that the Evaluator makes? Can you provide the log of the error you are seeing, that way I can confirm if the change made solves your problem. For providing the config flag to increase the allowed payload size. You can set the command line parameter [1] which for a kubeflow-metadata deployment gets passed from the deployment manifest [2] [1] - https:/google/ml-metadata/blob/master/ml_metadata/metadata_store/metadata_store_server_main.cc#L142 [2] - https:/kubeflow/manifests/blob/master/metadata/base/metadata-deployment.yaml#L26 |
Adding @Bobgy to comment on the current state of support for kubeflow-metadata package based on what I see in [1] [1] - kubeflow/manifests#1638 |
@dushyanthsc Can I confirm the lowest mlmd's version with pagination capabilities? I think we'll need to upgrade the server too. Regarding kubeflow-metadata python client package, there's no maintainers any more, so I'd suggest planning for a migration to an alternative |
We use the latest versioned release available on pypi so we'll be able to use this whenever a new version is released |
thanks, @dushyanthsc . @redramen, in addition to use the 0.25.1 py client release, you also need to use the 0.25.1 server binary which adds the pagination to to that rpc GetExecutionsByContext used in tfx. /cc @Bobgy |
Close the issue, as the wheel and server are released. Please feel free to reopen. |
I have a TFX pipeline that runs in Kubeflow on GCP and recently one of my pipelines started failing with the following error in a
ResolverNode.latest_model_resolver
andResolverNode.latest_blessed_model_resolver
Is there a way to fix this on my side?
The text was updated successfully, but these errors were encountered: