Skip to content

Commit

Permalink
multipart upload support for global order writes - part3
Browse files Browse the repository at this point in the history
  • Loading branch information
robertbindar committed Aug 24, 2022
1 parent 68ca839 commit 49cabd6
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 9 deletions.
6 changes: 5 additions & 1 deletion tiledb/sm/filesystem/s3.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,10 @@ namespace sm {
* maintains buffer caches for writing into the various attribute files.
*/
class S3 {
private:
/** Forward declaration */
struct MultiPartUploadState;

public:
/* ********************************* */
/* CONSTRUCTORS & DESTRUCTORS */
Expand Down Expand Up @@ -399,7 +403,7 @@ class S3 {
* @return Status
*/
Status set_multipart_upload_state(
const URI& uri, const MultiPartUploadState& state);
const URI& uri, const S3::MultiPartUploadState& state);

private:
/* ********************************* */
Expand Down
3 changes: 2 additions & 1 deletion tiledb/sm/filesystem/vfs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1833,13 +1833,14 @@ VFS::multipart_upload_state(const URI& uri) const {

Status VFS::set_multipart_upload_state(
const URI& uri, const MultiPartUploadState& state) {
(void)state;
if (uri.is_s3()) {
#ifdef HAVE_S3
S3::MultiPartUploadState s3_state;
s3_state.part_number = state.part_number;
s3_state.upload_id = *state.upload_id;
for (auto& part : state.completed_parts) {
auto rv = s3_state.completed_parts.emplace(part.part_number);
auto rv = s3_state.completed_parts.try_emplace(part.part_number);
rv.first->second.SetETag(part.e_tag->c_str());
rv.first->second.SetPartNumber(part.part_number);
}
Expand Down
12 changes: 6 additions & 6 deletions tiledb/sm/serialization/query.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1179,9 +1179,7 @@ Status writer_from_capnp(
RETURN_NOT_OK(global_writer->init_global_write_state());
}
RETURN_NOT_OK(global_write_state_from_capnp(
query,
writer_reader.getGlobalWriteState(),
global_writer->get_global_state()));
query, writer_reader.getGlobalWriteState(), global_writer));
}

return Status::Ok();
Expand Down Expand Up @@ -2749,7 +2747,9 @@ Status global_write_state_to_capnp(
Status global_write_state_from_capnp(
const Query& query,
const capnp::GlobalWriteState::Reader& state_reader,
GlobalOrderWriter::GlobalWriteState* write_state) {
GlobalOrderWriter* globalwriter) {
auto write_state = globalwriter->get_global_state();

if (state_reader.hasCellsWritten()) {
auto& cells_written = write_state->cells_written_;
auto cell_written_reader = state_reader.getCellsWritten();
Expand Down Expand Up @@ -2977,7 +2977,7 @@ Status global_write_state_from_capnp(
}

RETURN_NOT_OK(
globalwriter.set_multipart_upload_state(uri, deserialized_state));
globalwriter->set_multipart_upload_state(uri, deserialized_state));
}
}
}
Expand Down Expand Up @@ -3021,7 +3021,7 @@ Status global_write_state_to_capnp(
Status global_write_state_from_capnp(
const Query& query,
const capnp::GlobalWriteState::Builder& state_reader,
GlobalOrderWriter::GlobalWriteState* write_state) {
GlobalOrderWriter* globalwriter) {
return LOG_STATUS(Status_SerializationError(
"Cannot serialize; serialization not enabled."));
}
Expand Down
2 changes: 1 addition & 1 deletion tiledb/sm/serialization/query.h
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ Status global_write_state_to_capnp(
Status global_write_state_from_capnp(
const Query& query,
const capnp::GlobalWriteState::Reader& state_reader,
GlobalOrderWriter::GlobalWriteState* write_state);
GlobalOrderWriter* globalwriter);

Status condition_from_capnp(
const capnp::Condition::Reader& condition_reader,
Expand Down

0 comments on commit 49cabd6

Please sign in to comment.