MCPcopy Create free account
hub / github.com/apache/cloudberry / writer_transfer_data

Function writer_transfer_data

gpcontrib/gpcloud/src/gpwriter.cpp:106–129  ·  view source on GitHub ↗

invoked by s3_export(), need to be exception safe

Source from the content-addressed store, hash-verified

104
105// invoked by s3_export(), need to be exception safe
106bool writer_transfer_data(GPWriter* writer, char* data_buf, int data_len) {
107 try {
108 if (!writer || !data_buf || (data_len <= 0)) {
109 return false;
110 }
111
112 uint64_t write_len = writer->write(data_buf, data_len);
113
114 S3_CHECK_OR_DIE(write_len == (uint64_t)data_len, S3RuntimeError,
115 "Failed to upload the data completely.");
116 } catch (S3Exception& e) {
117 s3extErrorMessage =
118 "writer_transfer_data caught a " + e.getType() + " exception: " + e.getFullMessage();
119 S3ERROR("writer_transfer_data caught %s: %s", e.getType().c_str(),
120 s3extErrorMessage.c_str());
121 return false;
122 } catch (...) {
123 S3ERROR("Caught an unexpected exception.");
124 s3extErrorMessage = "Caught an unexpected exception.";
125 return false;
126 }
127
128 return true;
129}
130
131// invoked by s3_export(), need to be exception safe
132bool writer_cleanup(GPWriter** writer) {

Callers 2

s3_exportFunction · 0.85
uploadS3Function · 0.85

Calls 3

getFullMessageMethod · 0.80
writeMethod · 0.45
getTypeMethod · 0.45

Tested by

no test coverage detected