Refactor object storage multipart upload interface to distinguish close, complete and abort operations

This commit is contained in:
obdev
2024-02-10 04:27:55 +00:00
committed by ob-robot
parent bef3ebb26f
commit 7da0974a40
28 changed files with 506 additions and 144 deletions

View File

@ -548,6 +548,10 @@ int TestCommonStorage::check_basic_multipartwriter()
}
}
if (OB_SUCC(ret) && OB_FAIL(multiwriter.complete())) {
OB_LOG(WARN, "fail to complete", K(ret));
}
int tmp_ret = OB_SUCCESS;
if (OB_TMP_FAIL(multiwriter.close())) {
ret = (OB_SUCCESS != ret) ? ret : tmp_ret;

View File

@ -1346,11 +1346,22 @@ TEST_F(TestObjectStorage, test_multipart_write)
write_buf[content_size - 1] = '\0';
ASSERT_EQ(OB_SUCCESS, databuff_printf(uri, sizeof(uri), "%s/test_multipart", dir_uri));
{
// test abort
ObStorageMultiPartWriter writer;
ASSERT_EQ(OB_SUCCESS, writer.open(uri, &info_base));
ASSERT_EQ(OB_SUCCESS, writer.abort());
ASSERT_NE(OB_SUCCESS, writer.complete());
ASSERT_EQ(OB_SUCCESS, writer.close());
}
ObStorageMultiPartWriter writer;
// ObStorageWriter writer;
ASSERT_EQ(OB_SUCCESS, writer.open(uri, &info_base));
ASSERT_EQ(OB_SUCCESS, writer.write(write_buf, content_size));
ASSERT_EQ(content_size, writer.get_length());
ASSERT_EQ(OB_SUCCESS, writer.complete());
ASSERT_EQ(OB_SUCCESS, writer.close());
OB_LOG(INFO, "-----------------------------------------------------------------------------");