Merge pull request #23653 from taosdata/fix/TD-27272
fix(cos/multichunk): clear put object data to initial state
This commit is contained in:
commit
52aaa2aced
|
@ -267,9 +267,6 @@ typedef struct list_parts_callback_data {
|
||||||
} list_parts_callback_data;
|
} list_parts_callback_data;
|
||||||
|
|
||||||
typedef struct MultipartPartData {
|
typedef struct MultipartPartData {
|
||||||
char err_msg[512];
|
|
||||||
S3Status status;
|
|
||||||
uint64_t content_length;
|
|
||||||
put_object_callback_data put_object_data;
|
put_object_callback_data put_object_data;
|
||||||
int seq;
|
int seq;
|
||||||
UploadManager *manager;
|
UploadManager *manager;
|
||||||
|
@ -277,11 +274,12 @@ typedef struct MultipartPartData {
|
||||||
|
|
||||||
static int putObjectDataCallback(int bufferSize, char *buffer, void *callbackData) {
|
static int putObjectDataCallback(int bufferSize, char *buffer, void *callbackData) {
|
||||||
put_object_callback_data *data = (put_object_callback_data *)callbackData;
|
put_object_callback_data *data = (put_object_callback_data *)callbackData;
|
||||||
|
/*
|
||||||
if (data->infileFD == 0) {
|
if (data->infileFD == 0) {
|
||||||
MultipartPartData *mpd = (MultipartPartData *)callbackData;
|
MultipartPartData *mpd = (MultipartPartData *)callbackData;
|
||||||
data = &mpd->put_object_data;
|
data = &mpd->put_object_data;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
if (data->contentLength) {
|
if (data->contentLength) {
|
||||||
|
@ -582,9 +580,9 @@ int32_t s3PutObjectFromFile2(const char *file, const char *object) {
|
||||||
do {
|
do {
|
||||||
S3_upload_part(&bucketContext, key, &putProperties, &putObjectHandler, seq, manager.upload_id,
|
S3_upload_part(&bucketContext, key, &putProperties, &putObjectHandler, seq, manager.upload_id,
|
||||||
partContentLength, 0, timeoutMsG, &partData);
|
partContentLength, 0, timeoutMsG, &partData);
|
||||||
} while (S3_status_is_retryable(partData.status) && should_retry());
|
} while (S3_status_is_retryable(partData.put_object_data.status) && should_retry());
|
||||||
if (partData.status != S3StatusOK) {
|
if (partData.put_object_data.status != S3StatusOK) {
|
||||||
s3PrintError(__func__, partData.status, partData.err_msg);
|
s3PrintError(__func__, partData.put_object_data.status, partData.put_object_data.err_msg);
|
||||||
code = TAOS_SYSTEM_ERROR(EIO);
|
code = TAOS_SYSTEM_ERROR(EIO);
|
||||||
goto clean;
|
goto clean;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue