Re: Multipart Upload : Limit on no of parts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




----- Original Message -----
> From: "Abhishek Dixit" <dixitabhi@xxxxxxxxx>
> To: "ceph-devel" <ceph-devel@xxxxxxxxxxxxxxx>
> Sent: Thursday, June 11, 2015 8:28:14 AM
> Subject: Multipart Upload : Limit on no of parts
> 
> Hi,
> 
> I was looking into limit imposed on no of uploads for multipart upload.
> The way it works currently seems as below:
> 1. RGWCompleteMultipart::get_params does following
> ______________________________________________
> #define COMPLETE_MULTIPART_MAX_LEN (1024 * 1024) /* api defines max
> 10,000 parts, this should be enough */
>    ret = rgw_rest_read_all_input(s, &data, &len, COMPLETE_MULTIPART_MAX_LEN);
> ___________________________________________________________
> 
> 2. rgw_rest_read_all_input compares cl with max_len where
> cl is Content Length value from POST multipart complete request header and
> max_len is COMPLETE_MULTIPART_MAX_LEN as defined above.
> 
> 3. For chunked input, again the length read is compared with
> COMPLETE_MULTIPART_MAX_LEN.
> 
> For 10104 parts POST request, we had cl:1039762 and max_len:1048576
> which worked.
> Limit on no of parts seems to be imposed by this mechanism rather than
> an explicit parts check.
> 
> Kindly let me know if the understanding is correct.
> In case it is, should we not impose a limit via explicit checking for
> total no of parts?
> Also, can we make this parts limit a configurable option via config_opts?
> 

I thought we had an explicit check for that, but I can't really find it, so I might have gotten it wrong. We should enforce some limit on that number. First, the way we index the parts in the omap assumes a certain max so it pads the keys with a specific amount of zeros. Second, in the case where users are uploading parts with different sizes, the created manifest will be too large. Is there a real need to have more than 10k parts?

Yehuda
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux