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

Bug: Artifact errors using collect() Plugin #3508

Closed
FabFaeb opened this issue May 22, 2024 · 1 comment
Closed

Bug: Artifact errors using collect() Plugin #3508

FabFaeb opened this issue May 22, 2024 · 1 comment

Comments

@FabFaeb
Copy link
Contributor

FabFaeb commented May 22, 2024

On version 0.72.0 when creating an artifact using the collect() plugin, internal artifacts can not be correctly collected.
How to reproduce:
Create a minimal test artifact like

name: Custom.Test.Artifact
description: |
   This is the human readable description of the artifact.

sources:
    - name: Test
      query: |
        SELECT * FROM collect(artifacts="Generic.Collectors.File")

and run it on a connected client.
This will produce the error message collect: Unknown artifact Generic.Collectors.File in the logs. Before version 0.72.0 this worked fine.

This bug was already confirmed by @predictiple (see also discord conversation below https://discord.com/channels/624244632552734750/865024982399320114/1242797063079592006).

Important note: When running the same query in a notebook on the server, everything still works as expected.
Maybe this is related to #3299 ?

@FabFaeb FabFaeb changed the title BUG: Artifact errors using collect() Plugin Bug: Artifact errors using collect() Plugin May 22, 2024
@scudette
Copy link
Contributor

This is working as intended - we never use the client's artifact repository and always push dependencies to the client. This means that you need to tell the artifact compiler that you want to use the Generic.Collectors.File artifact (so it can add it as a dependency).

The artifact should therefore be written with a direct dependency like this:

name: Custom.Test.Artifact
description: |
   This is the human readable description of the artifact.

sources:
    - name: Test
      query: |
        LET _ = SELECT * FROM Artifact.Generic.Collectors.File()
      
        SELECT * FROM collect(artifacts="Generic.Collectors.File")

The LET _ = SELECT statement is essentially a noop but the compiler still sees it as a dependency and will include the definition in the request.

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

2 participants