Can't apply delta to existing snap

oot@spicule-dev ~/pentaho-di-snap # snapcraft push pentaho-data-integration-spicule_8.0_amd64.snap
Pushing pentaho-data-integration-spicule_8.0_amd64.snap
Preparing to push '/root/pentaho-di-snap/pentaho-data-integration-spicule_8.0_amd64.snap' to the store.
Found cached source snap /root/.cache/snapcraft/projects/pentaho-data-integration-spicule/snap_hashes/amd64/fcf1fac8677eb4cd1b09a64ea8da2f0e6a218be3943216aefecaa7027c73fb229960ccea1f779f1c59f2e00729cf7d61.
Generating xdelta3 delta for pentaho-data-integration-spicule_8.0_amd64.snap.
Pushing delta /root/pentaho-di-snap/pentaho-data-integration-spicule_8.0_amd64.snap.xdelta3.
Pushing pentaho-data-integration-spicule_8.0_amd64.snap.xdelta3 [==============================================] 100%
Processing...|                                                                                                       
Error while processing delta...
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/snapcraft/_store.py", line 478, in _push_delta
    delta_tracker.raise_for_code()
  File "/usr/lib/python3/dist-packages/snapcraft/storeapi/__init__.py", line 828, in raise_for_code
    raise errors.StoreReviewError(self.__content)
snapcraft.storeapi.errors.StoreReviewError: There has been a problem while processing a snap delta.
  - Delta service failed to apply delta within 60s

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/snapcraft", line 9, in <module>
    load_entry_point('snapcraft==2.34', 'console_scripts', 'snapcraft')()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 542, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2569, in load_entry_point
    return ep.load()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2229, in load
    return self.resolve()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2235, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python3/dist-packages/snapcraft/cli/__main__.py", line 19, in <module>
    run(prog_name='snapcraft')
  File "/usr/lib/python3/dist-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3/dist-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3/dist-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/snapcraft/cli/store.py", line 118, in push
    snapcraft.push(snap_file, channel_list)
  File "/usr/lib/python3/dist-packages/snapcraft/_store.py", line 410, in push
    result = _push_delta(snap_name, snap_filename, source_snap)
  File "/usr/lib/python3/dist-packages/snapcraft/_store.py", line 481, in _push_delta
    raise storeapi.errors.StoreDeltaApplicationError
TypeError: __init__() missing 1 required positional argument: 'message'

Sad times! Anything I can do about it?

There’s code in snapcraft to fall back on a full upload, but it appears that the error case is buggy.

Could you try applying this patch?

Does the job, thanks!

For the record this is being tracked in LP:1720369