What will happen if a customer doesn't upload all pieces?

What will happen if a customer only uploads, let say, 35 erasure shares, as opposed to the eighty they’re supposed to do? Will the satellite drop the file, or maybe go for repair after some time?

Just asking out of curiosity.

The upload will fail with an error that not enough pieces have been uploaded. I think the cleanup for pieces that were uploaded will happen through garbage collection on nodes, but I remember seeing something about metadata on the satellite being cleaned up more quickly to prevent subsequent uploads being blocked because objects already exist. Not sure about the details on that part though.

2 Likes

Is this a satellite-side check?

1 Like

Are you sure this answers my question? I don’t speak golang, but the comments and function names around suggest to me that this exception is used in case there were not enough available nodes to suggest to the uploading client, and not that the client itself did not upload to the proper number of suggested nodes.

Yeah, I think it might be more this one.

And the one above.

2 Likes

I see this in the uplink repository. Does this mean this is client-side only?

I haven’t looked up the code to find what the satellite would do if you submit upload results with insufficient nodes. They may reject it as well and probably should, especially if it’s under the repair threshold. But at the least the official uplink implementations will not even attempt to continue.

Ok, fine… I couldn’t help myself and looked it up.

It checks each piece’s validity and then…

So yes, the satellite checks that there are enough pieces and if not doesn’t commit the segment to metadata. (it checks a lot more too, like signatures from nodes etc.)

2 Likes