understanding Generationer and BlobRemover

52 views
Skip to first unread message

Viktor

unread,
Jan 23, 2020, 2:34:15 PM1/23/20
to Perkeep
Hi,

I have been trying to understand the usage of blobserver.Generationer - but it leaves me with a question:

Searching the codebase for calls to ResetStorageGeneration leaves me with the conclusion that it is not being called after a blob is removed using the BlobRemover interface.

Does that not mean that a client might miss the upload of parts of files that once were uploaded, subsequently removed, but now needed for the upload of e.g. a new file? Or how is this caught?

thanks for any pointers,

/V

Brad Fitzpatrick

unread,
Jan 23, 2020, 3:11:09 PM1/23/20
to per...@googlegroups.com
A generation is only for a full wipe. It's like a UUID of a server.

In practice, blob removal is not a normal feature. It's more of a debugging/emergency thing. In general, think of Perkeep as ever growing with no way to delete. In any case, blob removal & generations are unrelated.



--
You received this message because you are subscribed to the Google Groups "Perkeep" group.
To unsubscribe from this group and stop receiving emails from it, send an email to perkeep+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/perkeep/051b33f9-24e1-4fdb-b2af-9811e12b81fe%40googlegroups.com.

Viktor Ogeman

unread,
Jan 23, 2020, 3:16:19 PM1/23/20
to per...@googlegroups.com
Thanks,

So, I take it that the comment in interface.go: 

"If the client sees the same random string in multiple upload sessions,
it assumes that the blobserver still has all the same blobs, and also
it's the same server."

Is wrong then and the comment will not assume that all blobs previously uploaded exist? But I am pretty sure that it actually does - else mu mk-put of myte home dire would be much slower :-)

So are you saying that RemoveBlob should never be called since it may have unintended consequences?

Thx


Brad Fitzpatrick

unread,
Jan 23, 2020, 3:21:34 PM1/23/20
to per...@googlegroups.com
Yes, generally assume that RemoveBlob is never called, because in practice it isn't.
 

Reply all
Reply to author
Forward
0 new messages