Skip to content
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

File output is too long #577

Closed
akranga opened this issue Dec 21, 2018 · 9 comments
Closed

File output is too long #577

akranga opened this issue Dec 21, 2018 · 9 comments
Assignees

Comments

@akranga
Copy link

akranga commented Dec 21, 2018

Trying to define a conatinerop that downloads a file from minio bucket but getting `This step is in Error state with this message: failed to save outputs: Pod "xxxxxx" is invalid: metadata.annotations: Too long: must have at most 262144 characters.

See example:

dsl.ContainerOp(
        name=step_name,
        image='minio/mc',
        command=['mc', '--no-color'],
        arguments=['cp', 'minio/%s' % filename, '/tmp/results.txt'],
        file_outputs={'file': '/tmp/results.txt'},
    )

What am I doing wrong?

@hongye-sun
Copy link
Contributor

I think it's probably because the results.txt file is too large. Argo doesn't report a good error message due to a bug (argoproj/argo-workflows#765). Argo supports two ways to pass data between steps: a) output, which is supposed to be small and can be embedded in the workflow template; b) artifact, which can be large and will be stored in the artifact store and copied to next steps.

However, in KFP, we only support output today. Artifact support is WIP. If you do want to pass large files across steps, you can use external storage like GCS and pass the remote file path as the output for next steps.

@akranga
Copy link
Author

akranga commented Dec 21, 2018

Yeah. I do not need to extract value from the file content. I do not need a long string. However i need to save it as a file "locallhy". I guess minio-service.kubeflow:9000 serves as a "local file cache". And then use it as an input for next containerop. Happy to get any directions there

@akranga
Copy link
Author

akranga commented Dec 21, 2018

Do you have any support of smth like simlar to argo definition

outputs:
  artifacts:
  - name: xyz
    path: xyz
    s3: ...

@hongye-sun
Copy link
Contributor

Unfortunately, this support is still in progress. The suggested way is to use external storage. You have to download the file to local path before using it. You might also consider to use PVC to share files across steps. ContainerOp supports to set volume claim and mount.

@akranga
Copy link
Author

akranga commented Dec 21, 2018

I understand. However PVC should work for me.
Do you mind to point in a right example? Thanks!

@Ark-kun
Copy link
Contributor

Ark-kun commented Dec 26, 2018

Do you have any support of smth like simlar to argo definition

outputs:
  artifacts:
  - name: xyz
    path: xyz
    s3: ...

See the "Support for Argo artifacts" issue #336

I'm actively working on making it work.

@Ark-kun
Copy link
Contributor

Ark-kun commented Jan 3, 2019

/assign @Ark-kun

@TimCookny
Copy link

Please use LongPathTool for this issue.

@vicaire
Copy link
Contributor

vicaire commented Mar 26, 2019

Resolving in favor of #336

@vicaire vicaire closed this as completed Mar 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants