Skip to content

Commit 54d290d

Browse files
authored
Merge pull request #235 from tencentyun/dev/checkPointUpload
Dev/check point upload
2 parents f48800b + 517bbe4 commit 54d290d

10 files changed

+65
-7
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>com.qcloud</groupId>
66
<artifactId>cos_api</artifactId>
7-
<version>5.6.242</version>
7+
<version>5.6.244</version>
88
<packaging>jar</packaging>
99
<name>cos-java-sdk</name>
1010
<description>java sdk for qcloud cos</description>

src/main/java/com/qcloud/cos/COSClient.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -587,6 +587,7 @@ private static PutObjectResult createPutObjectResult(ObjectMetadata metadata) {
587587
result.setSSECustomerAlgorithm(metadata.getSSECustomerAlgorithm());
588588
result.setSSECustomerKeyMd5(metadata.getSSECustomerKeyMd5());
589589
result.setCrc64Ecma(metadata.getCrc64Ecma());
590+
result.setCrc32c(metadata.getCrc32c());
590591
result.setMetadata(metadata);
591592
result.setCiUploadResult(metadata.getCiUploadResult());
592593
return result;
@@ -1328,6 +1329,11 @@ public void deleteObject(DeleteObjectRequest deleteObjectRequest)
13281329
if (deleteObjectRequest.isRecursive()) {
13291330
request.addParameter("recursive", null);
13301331
}
1332+
1333+
if (deleteObjectRequest.getVersionId() != null && !deleteObjectRequest.getVersionId().isEmpty()) {
1334+
request.addParameter("versionId", deleteObjectRequest.getVersionId());
1335+
}
1336+
13311337
invoke(request, voidCosResponseHandler);
13321338
}
13331339

@@ -1902,8 +1908,12 @@ public CompleteMultipartUploadResult completeMultipartUpload(
19021908
Map<String, String> responseHeaders = responseHandler.getResponseHeaders();
19031909
String versionId = responseHeaders.get(Headers.COS_VERSION_ID);
19041910
String crc64Ecma = responseHeaders.get(Headers.COS_HASH_CRC64_ECMA);
1911+
String crc32c = responseHeaders.get(Headers.COS_HASH_CRC32_C);
19051912
handler.getCompleteMultipartUploadResult().setVersionId(versionId);
19061913
handler.getCompleteMultipartUploadResult().setCrc64Ecma(crc64Ecma);
1914+
if (crc32c != null) {
1915+
handler.getCompleteMultipartUploadResult().setCrc32c(crc32c);
1916+
}
19071917
// if ci request, set ciUploadResult to CompleteMultipartUploadResult
19081918
if(completeMultipartUploadRequest.getPicOperations() != null) {
19091919
handler.getCompleteMultipartUploadResult().setCiUploadResult(handler.getCiUploadResult());

src/main/java/com/qcloud/cos/ClientConfig.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,8 @@ public class ClientConfig {
139139

140140
private long connectionMaxIdleMillis = 60 * 1000;
141141

142+
private boolean addLogDebugHeader = true;
143+
142144
// 不传入region 用于后续调用List Buckets(获取所有的bucket信息)
143145
public ClientConfig() {
144146
super();
@@ -507,4 +509,12 @@ public boolean isRetryAfterPreflight() {
507509
public void setRetryAfterPreflight(boolean retryAfterPreflight) {
508510
this.retryAfterPreflight = retryAfterPreflight;
509511
}
512+
513+
public boolean isAddLogDebugHeader() {
514+
return addLogDebugHeader;
515+
}
516+
517+
public void setAddLogDebugHeader(boolean addLogDebugHeader) {
518+
this.addLogDebugHeader = addLogDebugHeader;
519+
}
510520
}

src/main/java/com/qcloud/cos/Headers.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ public interface Headers {
6969
*/
7070
public static final String COS_HASH_CRC64_ECMA = "x-cos-hash-crc64ecma";
7171

72+
public static final String COS_HASH_CRC32_C = "x-cos-hash-crc32c";
73+
7274
/**
7375
* Prefix for COS user metadata: x-cos-meta-
7476
*/

src/main/java/com/qcloud/cos/http/DefaultCosHttpClient.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -362,10 +362,12 @@ private <X extends CosServiceRequest> HttpRequestBase buildHttpRequest(
362362
}
363363
}
364364

365-
if (log.isDebugEnabled()) {
366-
httpRequestBase.addHeader(Headers.SDK_LOG_DEBUG, "on");
367-
} else {
368-
httpRequestBase.addHeader(Headers.SDK_LOG_DEBUG, "off");
365+
if (clientConfig.isAddLogDebugHeader()) {
366+
if (log.isDebugEnabled()) {
367+
httpRequestBase.addHeader(Headers.SDK_LOG_DEBUG, "on");
368+
} else {
369+
httpRequestBase.addHeader(Headers.SDK_LOG_DEBUG, "off");
370+
}
369371
}
370372

371373
if (clientConfig.isShortConnection()) {

src/main/java/com/qcloud/cos/http/IdleConnectionMonitor.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,10 @@ public void run() {
7979
}
8080

8181
Thread.sleep(PERIOD_MILLISECONDS);
82+
} catch (InterruptedException e) {
83+
if (!shuttingDown) {
84+
log.error("interrupt exception occurred:", e);
85+
}
8286
} catch (Throwable t) {
8387
log.error("error occurred when closeExpiredConnections and closeIdleConnections, err:", t);
8488
}

src/main/java/com/qcloud/cos/model/CompleteMultipartUploadResult.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public class CompleteMultipartUploadResult extends SSEResultBase
6666
/*The ci upload result*/
6767
private CIUploadResult ciUploadResult;
6868

69-
69+
private String crc32c;
7070

7171
/**
7272
* get requestid for this upload
@@ -245,4 +245,12 @@ public CIUploadResult getCiUploadResult() {
245245
public void setCiUploadResult(CIUploadResult ciUploadResult) {
246246
this.ciUploadResult = ciUploadResult;
247247
}
248+
249+
public String getCrc32c() {
250+
return crc32c;
251+
}
252+
253+
public void setCrc32c(String crc32c) {
254+
this.crc32c = crc32c;
255+
}
248256
}

src/main/java/com/qcloud/cos/model/DeleteObjectRequest.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public class DeleteObjectRequest extends CosServiceRequest implements Serializab
3838
*/
3939
private boolean isRecursive;
4040

41-
41+
private String versionId;
4242
/**
4343
* Constructs a new {@link DeleteObjectRequest}, specifying the object's bucket name and key.
4444
*
@@ -129,4 +129,12 @@ public void setRecursive(boolean isRecursive) {
129129
public boolean isRecursive() {
130130
return this.isRecursive;
131131
}
132+
133+
public String getVersionId() {
134+
return versionId;
135+
}
136+
137+
public void setVersionId(String versionId) {
138+
this.versionId = versionId;
139+
}
132140
}

src/main/java/com/qcloud/cos/model/ObjectMetadata.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -818,6 +818,10 @@ public String getCrc64Ecma() {
818818
return (String)metadata.get(Headers.COS_HASH_CRC64_ECMA);
819819
}
820820

821+
public String getCrc32c() {
822+
return (String)metadata.get(Headers.COS_HASH_CRC32_C);
823+
}
824+
821825
@Override
822826
public String getRequestId() {
823827
return (String)metadata.get(Headers.REQUEST_ID);

src/main/java/com/qcloud/cos/model/PutObjectResult.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ public class PutObjectResult extends SSEResultBase implements ObjectExpirationRe
6161
/** The crc64ecma value for this object */
6262
private String crc64Ecma;
6363

64+
private String crc32c;
65+
6466
/** The ci upload result */
6567
private CIUploadResult ciUploadResult;
6668

@@ -229,4 +231,12 @@ public CIUploadResult getCiUploadResult() {
229231
public void setCiUploadResult(CIUploadResult ciUploadResult) {
230232
this.ciUploadResult = ciUploadResult;
231233
}
234+
235+
public String getCrc32c() {
236+
return crc32c;
237+
}
238+
239+
public void setCrc32c(String crc32c) {
240+
this.crc32c = crc32c;
241+
}
232242
}

0 commit comments

Comments
 (0)