Can't delete any table, or folder.

jmomarty
jmomarty Registered Posts: 2

Screenshot 2022-11-28 at 21.01.41.png

When I click on "delete" on any table or folder of my project, I get this modal with this error "invalid argument : invalid loc : empty name". It works on recipe though.

I have all rights on the project and it used to work well.


Operating system used: Mac OS X

Tagged:

Answers

  • JordanB
    JordanB Dataiker, Dataiku DSS Core Designer, Dataiku DSS Adv Designer, Registered Posts: 295 Dataiker

    Hi @jmomarty
    ,

    This error can stem from a recipe with invalid entries. When this happens, the recipe is typically not visible in the flow, however, it should be visible in the recipe list. You can check the recipe's in your flow against the recipes in the "Recipe" list (referenced below). To fix the issue, you would need to delete the invalid recipe from the recipe list.

    Screen Shot 2022-11-28 at 4.32.17 PM.png

    If you cannot locate the invalid recipe, could you please reproduce the issue (attempt to delete a dataset/folder), then could you please open a support ticket and attach a diagnostic of the DSS instance (Administration > Maintenance > Diagnostic tool) and send us the resulting file?

    Thanks!

    Jordan

  • jmomarty
    jmomarty Registered Posts: 2

    It worked Jordan, amazing

    I removed the bad boy recipe and it works again, thanks.

  • Clement
    Clement Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 1 ✭✭✭

    Hello,

    I stumbled upon the same issue on a project which is quiet voluminous therefore finding the culprit in the list of recipe was exhausting. Therefore I made a quick code using the Python API to perform those steps, hope it will help some other users facing the same issue!

    Mainly I use the API to fidn all the recipe listed inside the recipe list and the flow and compute the difference:

    #First get a handle over your project
    client = dataiku.api_client()
    Prj = client.get_project('Prj_key')

    #List of recipes from the project reicpe list
    recipes_list = pd.json_normalize(Prj .list_recipes())[['name']]

    #Recover flow, graph and list of item inside the said flow:
    flow = Prjget_flow()
    graph = flow.get_graph()
    items = pd.json_normalize(graph.get_items_in_traversal_order(as_type='dict'))

    #Recover list of recipes from the flow
    recipe_list_from_flow = items[items['type'].str.contains('RECIPE')].reset_index(drop=True)[['ref']]
    #At this point if you display recipe_list_from_flow and recipes_list
    #you should see using the indexes that recipe_list_from_flow is missing one (or more) lines

    #Using python set we can find the differences between the two list ie the corrupted recipes!
    set(recipes_list['name'].to_list()) - set(recipe_list_from_flow['ref'].to_list())

    Hope this help!

    Clément

Setup Info
    Tags
      Help me…