Skip to content

borg extract: add --continue flag#1665

Closed
enkore wants to merge 1 commit intoborgbackup:masterfrom
enkore:issue/1356
Closed

borg extract: add --continue flag#1665
enkore wants to merge 1 commit intoborgbackup:masterfrom
enkore:issue/1356

Conversation

@enkore
Copy link
Copy Markdown
Contributor

@enkore enkore commented Sep 30, 2016

Fixes #1356

if pi:
pi.show(increase=prefix_length)
ids = [c.id for c in chunks]
for _, data in self.pipeline.fetch_many(ids, is_preloaded=True):
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure if this causes an issue with the preloaded chunks:
iirc it preloads all chunks of a file when processing its item, but then it fetches either none (existing, full file) or only some (existing, partial file), before it goes into fetch-all mode (non-existing files).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch, didn't consider that. I made up RemoteRepository.discard_preload for that, which looks about right to me, but makes it hang - for some reason.

Copy link
Copy Markdown
Contributor Author

@enkore enkore Oct 1, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is kinda strange. If I set a breakpoint in RR.discard_ids I see that neither cache nor responses contain anything, but still - removing the IDs from preload_ids makes it hang in call_many, in the while not self.to_send and (calls or self.preload_ids) and len(waiting_for) < MAX_INFLIGHT: loop.

@codecov-io
Copy link
Copy Markdown

codecov-io commented Oct 1, 2016

Current coverage is 84.67% (diff: 85.96%)

Merging #1665 into master will decrease coverage by 0.04%

@@             master      #1665   diff @@
==========================================
  Files            20         20          
  Lines          6548       6589    +41   
  Methods           0          0          
  Messages          0          0          
  Branches       1112       1123    +11   
==========================================
+ Hits           5547       5579    +32   
- Misses          734        739     +5   
- Partials        267        271     +4   

Powered by Codecov. Last update 24feaf3...ca12aff

@enkore
Copy link
Copy Markdown
Contributor Author

enkore commented Oct 3, 2016

FYI the reason this was moved to b3 is that with larger files it still hangs in RemoteRepository.call_many, in the same spot as earlier:

If I set a breakpoint in RR.discard_ids I see that neither cache nor responses contain anything, but still - removing the IDs from preload_ids makes it hang in call_many, in the while not self.to_send and (calls or self.preload_ids) and len(waiting_for) < MAX_INFLIGHT: loop.

I haven't looked at it again yet.

fd.seek(prefix_length)
fd.truncate()
discarded_count = len(item.chunks) - len(chunks)
discarded_chunks_ids = [c.id for c in item.chunks[:discarded_count]]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick: discard_count / discard_chunk_ids (not past tense)

@enkore enkore removed this from the 1.1.0b3 milestone Oct 14, 2016
@enkore enkore added the later label Oct 14, 2016
@enkore enkore closed this Apr 29, 2017
@enkore
Copy link
Copy Markdown
Contributor Author

enkore commented Apr 29, 2017

"later" and no activity = close.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants