Skip to content

Web API: re-uploading a downloaded object under another name hangs (duplicate UUID, modal error dialog) #434

Closed

Description

@PierreRaybaut

Problem

Re-uploading an object downloaded from the Web API under another name hangs the request for 30 seconds and leaves an error dialog open in DataLab:

  1. GET /api/v1/objects/{name}/data returns an NPZ archive whose metadata.json holds the object metadata, including its __uuid (WorkspaceAdapter.get_object copies the UUID on purpose).
  2. PUT /api/v1/objects/{other}/data with this archive creates a new object carrying the same UUID: ObjectModel.add_objects raises ValueError (UUID already in the model).
  3. WorkspaceAdapter._add_object_sync calls panel.add_object, decorated with qt_try_except: the error is shown in a modal dialog on the Qt main thread, the executor waits until its 30-second timeout, and the client gets a read timeout instead of an error response.

This is what WorkspaceBackend.rename of DataLab-Kernel does (get, add under the new name, remove), so its live test test_rename times out against DataLab develop (found while fixing DataLab-Platform/DataLab-Kernel#7). DataLab 1.3 is not affected.

Expected

PUT /objects/{name}/data creates (or replaces) an object: the new object gets its own identity, whatever UUID the archive carries; errors are returned as HTTP errors and never shown as dialogs by the Web API.

Activity

  1. PierreRaybaut commented on Oct 25, 2026

    @PierreRaybaut
    ContributorAuthor

    Fixed by #435 (merged into develop).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions