Skip to content

Add support for blocking/non-blocking syncs #240

Open
@varmar05

Description

@varmar05

With upcoming change on server which would allow 1 blocking and N unblocking uploads we need to split work by changes/file type to benefit from uploads concurrency.

Group pending (push) changes into separate uploads:

  • non-blocking with only added non-versioned and not qgis project data (e.g. all but .gpkg, .qgs, qgz)
  • blocking one with the rest of changes (incl. updated/removed files)

Then client can start sending chunks via multiple upload transactions to improve overall performance.

Because every push finish request will bump project version it might happen that 2 concurrent finish request could collide (race conditions). In such scenario server would temporarily block 2nd request with 409 error code and client just need to wait and retry finish.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions