Skip to content

Enable --serve-artifacts by default#6502

Merged
harupy merged 18 commits intomlflow:branch-2.0from
harupy:enable-serve-artifacts-by-default
Aug 23, 2022
Merged

Enable --serve-artifacts by default#6502
harupy merged 18 commits intomlflow:branch-2.0from
harupy:enable-serve-artifacts-by-default

Conversation

@harupy
Copy link
Copy Markdown
Member

@harupy harupy commented Aug 18, 2022

Signed-off-by: harupy [email protected]

Related Issues/PRs

#xxx

What changes are proposed in this pull request?

Enable --serve-artifacts by default when running a tracking server.

How is this patch tested?

  • I have written tests (not required for typo or doc fix) and confirmed the proposed feature/bug-fix/change works.

Does this PR change the documentation?

  • No. You can skip the rest of this section.
  • Yes. Make sure the changed pages / sections render correctly by following the steps below.
  1. Click the Details link on the Preview docs check.
  2. Find the changed pages / sections and make sure they render correctly.

Release Notes

Is this a user-facing change?

  • No. You can skip the rest of this section.
  • Yes. Give a description of this change to be included in the release notes for MLflow users.

(Details in 1-2 sentences. You can just refer to another PR with a description if this PR is part of a larger change.)

What component(s), interfaces, languages, and integrations does this PR affect?

Components

  • area/artifacts: Artifact stores and artifact logging
  • area/build: Build and test infrastructure for MLflow
  • area/docs: MLflow documentation pages
  • area/examples: Example code
  • area/model-registry: Model Registry service, APIs, and the fluent client calls for Model Registry
  • area/models: MLmodel format, model serialization/deserialization, flavors
  • area/pipelines: Pipelines, Pipeline APIs, Pipeline configs, Pipeline Templates
  • area/projects: MLproject format, project running backends
  • area/scoring: MLflow Model server, model deployment tools, Spark UDFs
  • area/server-infra: MLflow Tracking server backend
  • area/tracking: Tracking Service, tracking client APIs, autologging

Interface

  • area/uiux: Front-end, user experience, plotting, JavaScript, JavaScript dev server
  • area/docker: Docker use across MLflow's components, such as MLflow Projects and MLflow Models
  • area/sqlalchemy: Use of SQLAlchemy in the Tracking Service or Model Registry
  • area/windows: Windows support

Language

  • language/r: R APIs and clients
  • language/java: Java APIs and clients
  • language/new: Proposals for new client languages

Integrations

  • integrations/azure: Azure and Azure ML integrations
  • integrations/sagemaker: SageMaker integrations
  • integrations/databricks: Databricks integrations

How should the PR be classified in the release notes? Choose one:

  • rn/breaking-change - The PR will be mentioned in the "Breaking Changes" section
  • rn/none - No description will be included. The PR will be mentioned only by the PR number in the "Small Bugfixes and Documentation Updates" section
  • rn/feature - A new user-facing feature worth mentioning in the release notes
  • rn/bug-fix - A user-facing bug fix worth mentioning in the release notes
  • rn/documentation - A user-facing documentation change worth mentioning in the release notes

@github-actions github-actions bot added area/tracking Tracking service, tracking client APIs, autologging rn/feature Mention under Features in Changelogs. labels Aug 18, 2022
harupy added 2 commits August 18, 2022 16:24
Signed-off-by: harupy <[email protected]>
Signed-off-by: harupy <[email protected]>
Copy link
Copy Markdown
Collaborator

@dbczumar dbczumar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two small pieces of feedback:

  1. When I run with --backend-store-uri sqlite:///mydb.sqlite --no-serve-artifacts and forget to specify `--default-artifact-root, I see:
mlflow server --backend-store-uri sqlite:///mydb.sqlite --no-serve-artifacts
Option 'default-artifact-root' is required when backend store is not local file based.
Usage: mlflow server [OPTIONS]
Try 'mlflow server --help' for help.

Error: Option 'default-artifact-root' is required when backend store is not local file based.

Can we update this to say that 'default-artifact-root' is required when backend store is not local file based and artifact serving is disabled?

  1. Do we need to update docs, such as https://mlflow.org/docs/latest/tracking.html#using-the-tracking-server-for-proxied-artifact-access, to indicate that proxied artifact access is enabled by default and also talk about how the --no-serve-artifacts option can be used to opt out?

@harupy
Copy link
Copy Markdown
Member Author

harupy commented Aug 19, 2022

Can we update this to say that 'default-artifact-root' is required when backend store is not local file based and artifact serving is disabled?

Got it, thanks for the catch!

  1. Do we need to update docs, such as https://mlflow.org/docs/latest/tracking.html#using-the-tracking-server-for-proxied-artifact-access, to indicate that proxied artifact access is enabled by default and also talk about how the --no-serve-artifacts option can be used to opt out?

We do :) I'll update them.

Copy link
Copy Markdown
Collaborator

@dbczumar dbczumar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM once docs are updated; thanks @harupy !

harupy added 2 commits August 22, 2022 12:12
Signed-off-by: harupy <[email protected]>
Signed-off-by: harupy <[email protected]>
harupy and others added 4 commits August 22, 2022 12:36
Signed-off-by: harupy <[email protected]>
Signed-off-by: harupy <[email protected]>
Signed-off-by: harupy <[email protected]>
Signed-off-by: harupy <[email protected]>
@harupy harupy requested a review from dbczumar August 22, 2022 04:08
Comment on lines +135 to +138
.. code-block:: bash
:caption: Command to run the tracking server in this configuration

mlflow server --backend-store-uri file::///path/to/mlruns --no-serve-artifacts
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Separated the command from the image to make it easier to edit and copy.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fantastic!

Suggested change
.. code-block:: bash
:caption: Command to run the tracking server in this configuration
mlflow server --backend-store-uri file::///path/to/mlruns --no-serve-artifacts
.. code-block:: bash
:caption: Command to run the tracking server in this configuration
mlflow server --backend-store-uri file:///path/to/mlruns --no-serve-artifacts

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the catch!

.. code-block:: bash
:caption: Command to run the tracking server in this configuration

mlflow server --backend-store-uri postgresql:://URI --default-artifact-root s3://bucket_name --host remote_host --no-serve-artifacts
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should remove the double colons in these examples, right?

Suggested change
mlflow server --backend-store-uri postgresql:://URI --default-artifact-root s3://bucket_name --host remote_host --no-serve-artifacts
mlflow server --backend-store-uri postgresql://URI --default-artifact-root s3://bucket_name --host remote_host --no-serve-artifacts

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we also replace URI with a realistic example?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

Copy link
Copy Markdown
Collaborator

@dbczumar dbczumar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM once remaining comments are addressed! Thanks @harupy !

harupy and others added 6 commits August 23, 2022 10:06
Signed-off-by: harupy <[email protected]>
Signed-off-by: harupy <[email protected]>
Signed-off-by: harupy <[email protected]>
Signed-off-by: harupy <[email protected]>
Signed-off-by: harupy <[email protected]>
Signed-off-by: harupy <[email protected]>
@harupy harupy merged commit 9f9252d into mlflow:branch-2.0 Aug 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/tracking Tracking service, tracking client APIs, autologging rn/feature Mention under Features in Changelogs.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants