[
https://issues.apache.org/jira/browse/JCLOUDS-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15118683#comment-15118683
]
Ramesh Gojji commented on JCLOUDS-1064:
---------------------------------------
Zack,
Just now, I got new jars from the master and ran the following,
File tempFile = new File("dom4j-1.6.1.jar") ;
String objectName= tempFile.getName();
ByteSource payload = Files.asByteSource(tempFile);
Blob blob = blobStore.blobBuilder(objectName)
.payload(payload)
.contentDisposition("attachment;
filename="+objectName)
.contentLength(payload.size())
.contentType(MediaType.OCTET_STREAM.toString())
.build();
// Upload the Blob
String eTag = blobStore.putBlob("test", blob, multipart());
Error :
Exception in thread "main" java.lang.NullPointerException: Null partETag
at
org.jclouds.blobstore.domain.AutoValue_MultipartPart.<init>(AutoValue_MultipartPart.java:20)
at
org.jclouds.blobstore.domain.MultipartPart.create(MultipartPart.java:29)
at
org.jclouds.openstack.swift.v1.blobstore.RegionScopedSwiftBlobStore.uploadMultipartPart(RegionScopedSwiftBlobStore.java:481)
at
org.jclouds.openstack.swift.v1.blobstore.RegionScopedSwiftBlobStore.putMultipartBlob(RegionScopedSwiftBlobStore.java:567)
at
org.jclouds.openstack.swift.v1.blobstore.RegionScopedSwiftBlobStore.putBlob(RegionScopedSwiftBlobStore.java:244)
at JCloudTest.<init>(JCloudTest.java:93)
at JCloudTest.main(JCloudTest.java:26)
jclouds.log content
2016-01-26 21:04:57,327 DEBUG [org.jclouds.rest.internal.InvokeHttpMethod]
[main] >> invoking AuthenticationApi.authenticateWithTenantNameAndCredentials
2016-01-26 21:04:57,330 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Sending
request 585637727: POST
https://okckeystonestg1.okla.seagate.com:5443/v2.0/tokens HTTP/1.1
2016-01-26 21:04:57,581 ERROR
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Command
not considered safe to retry because request method is POST:
[method=org.jclouds.openstack.keystone.v2_0.AuthenticationApi.public abstract
org.jclouds.openstack.keystone.v2_0.domain.Access
org.jclouds.openstack.keystone.v2_0.AuthenticationApi.authenticateWithTenantNameAndCredentials(java.lang.String,org.jclouds.openstack.keystone.v2_0.domain.PasswordCredentials)[okcswiftstg1wtr,
PasswordCredentials{username=okcswiftstg1wtr, password=*****}], request=POST
https://okckeystonestg1.okla.seagate.com:5443/v2.0/tokens HTTP/1.1]
2016-01-26 21:06:08,062 DEBUG [org.jclouds.rest.internal.InvokeHttpMethod]
[main] >> invoking AuthenticationApi.authenticateWithTenantNameAndCredentials
2016-01-26 21:06:08,065 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Sending
request 585637727: POST
https://okckeystonestg1.okla.seagate.com:5443/v2.0/tokens HTTP/1.1
2016-01-26 21:06:09,553 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Receiving
response 585637727: HTTP/1.1 200 OK
2016-01-26 21:06:09,586 DEBUG
[org.jclouds.openstack.keystone.v2_0.suppliers.RegionIdToURIFromAccessForTypeAndVersion]
[main] endpoints for apiType object-store and version 1:
{RegionOne=[Endpoint{id=5dbcd479dd1b485bb7918c66f8e77ae3, region=RegionOne,
publicURL=https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b,
internalURL=https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b,
adminURL=https://okcswiftstg1.okla.seagate.com:8443/}]}
2016-01-26 21:06:09,587 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:06:09,592 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:06:09,593 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:06:17,258 DEBUG [org.jclouds.rest.internal.InvokeHttpMethod]
[main] >> invoking object:put
2016-01-26 21:06:17,260 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Sending
request 1883517135: PUT
https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b/Workload_Trace_Repository/dom4j-1.6.1.jar/slo/1453871177.091000/313898/33554432/00000001
HTTP/1.1
2016-01-26 21:06:17,262 DEBUG [org.jclouds.http.internal.HttpWire] [main] over
limit 313898/262144: wrote temp file
2016-01-26 21:06:21,593 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Receiving
response 881702125: HTTP/1.1 100 Continue
2016-01-26 21:08:11,490 DEBUG [org.jclouds.rest.internal.InvokeHttpMethod]
[main] >> invoking AuthenticationApi.authenticateWithTenantNameAndCredentials
2016-01-26 21:08:11,493 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Sending
request 585637727: POST
https://okckeystonestg1.okla.seagate.com:5443/v2.0/tokens HTTP/1.1
2016-01-26 21:08:12,421 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Receiving
response 585637727: HTTP/1.1 200 OK
2016-01-26 21:08:12,454 DEBUG
[org.jclouds.openstack.keystone.v2_0.suppliers.RegionIdToURIFromAccessForTypeAndVersion]
[main] endpoints for apiType object-store and version 1:
{RegionOne=[Endpoint{id=5dbcd479dd1b485bb7918c66f8e77ae3, region=RegionOne,
publicURL=https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b,
internalURL=https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b,
adminURL=https://okcswiftstg1.okla.seagate.com:8443/}]}
2016-01-26 21:08:12,455 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:08:12,459 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:08:12,460 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:08:21,585 DEBUG [org.jclouds.rest.internal.InvokeHttpMethod]
[main] >> invoking object:put
2016-01-26 21:08:21,587 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Sending
request -1146898756: PUT
https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b/Workload_Trace_Repository/dom4j-1.6.1.jar/slo/1453871301.424000/313898/33554432/00000001
HTTP/1.1
2016-01-26 21:08:21,589 DEBUG [org.jclouds.http.internal.HttpWire] [main] over
limit 313898/262144: wrote temp file
2016-01-26 21:08:26,665 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Receiving
response -2033707629: HTTP/1.1 100 Continue
2016-01-26 21:10:51,149 DEBUG [org.jclouds.rest.internal.InvokeHttpMethod]
[main] >> invoking AuthenticationApi.authenticateWithTenantNameAndCredentials
2016-01-26 21:10:51,152 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Sending
request 585637727: POST
https://okckeystonestg1.okla.seagate.com:5443/v2.0/tokens HTTP/1.1
2016-01-26 21:10:51,873 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Receiving
response 585637727: HTTP/1.1 200 OK
2016-01-26 21:10:51,905 DEBUG
[org.jclouds.openstack.keystone.v2_0.suppliers.RegionIdToURIFromAccessForTypeAndVersion]
[main] endpoints for apiType object-store and version 1:
{RegionOne=[Endpoint{id=5dbcd479dd1b485bb7918c66f8e77ae3, region=RegionOne,
publicURL=https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b,
internalURL=https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b,
adminURL=https://okcswiftstg1.okla.seagate.com:8443/}]}
2016-01-26 21:10:51,906 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:10:51,911 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:10:51,911 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:11:57,447 DEBUG [org.jclouds.rest.internal.InvokeHttpMethod]
[main] >> invoking AuthenticationApi.authenticateWithTenantNameAndCredentials
2016-01-26 21:11:57,450 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Sending
request 585637727: POST
https://okckeystonestg1.okla.seagate.com:5443/v2.0/tokens HTTP/1.1
2016-01-26 21:11:58,725 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Receiving
response 585637727: HTTP/1.1 200 OK
2016-01-26 21:11:58,756 DEBUG
[org.jclouds.openstack.keystone.v2_0.suppliers.RegionIdToURIFromAccessForTypeAndVersion]
[main] endpoints for apiType object-store and version 1:
{RegionOne=[Endpoint{id=5dbcd479dd1b485bb7918c66f8e77ae3, region=RegionOne,
publicURL=https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b,
internalURL=https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b,
adminURL=https://okcswiftstg1.okla.seagate.com:8443/}]}
2016-01-26 21:11:58,757 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:11:58,761 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:11:58,762 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:12:13,295 DEBUG [org.jclouds.rest.internal.InvokeHttpMethod]
[main] >> invoking AuthenticationApi.authenticateWithTenantNameAndCredentials
2016-01-26 21:12:13,297 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Sending
request 585637727: POST
https://okckeystonestg1.okla.seagate.com:5443/v2.0/tokens HTTP/1.1
2016-01-26 21:12:15,212 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Receiving
response 585637727: HTTP/1.1 200 OK
2016-01-26 21:12:15,243 DEBUG
[org.jclouds.openstack.keystone.v2_0.suppliers.RegionIdToURIFromAccessForTypeAndVersion]
[main] endpoints for apiType object-store and version 1:
{RegionOne=[Endpoint{id=5dbcd479dd1b485bb7918c66f8e77ae3, region=RegionOne,
publicURL=https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b,
internalURL=https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b,
adminURL=https://okcswiftstg1.okla.seagate.com:8443/}]}
2016-01-26 21:12:15,243 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:12:15,248 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:12:15,249 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:12:43,558 DEBUG [org.jclouds.rest.internal.InvokeHttpMethod]
[main] >> invoking AuthenticationApi.authenticateWithTenantNameAndCredentials
2016-01-26 21:12:43,561 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Sending
request 585637727: POST
https://okckeystonestg1.okla.seagate.com:5443/v2.0/tokens HTTP/1.1
2016-01-26 21:12:44,396 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Receiving
response 585637727: HTTP/1.1 200 OK
2016-01-26 21:12:44,427 DEBUG
[org.jclouds.openstack.keystone.v2_0.suppliers.RegionIdToURIFromAccessForTypeAndVersion]
[main] endpoints for apiType object-store and version 1:
{RegionOne=[Endpoint{id=5dbcd479dd1b485bb7918c66f8e77ae3, region=RegionOne,
publicURL=https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b,
internalURL=https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b,
adminURL=https://okcswiftstg1.okla.seagate.com:8443/}]}
2016-01-26 21:12:44,427 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:12:44,432 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:12:44,432 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:12:44,478 DEBUG [org.jclouds.rest.internal.InvokeHttpMethod]
[main] >> invoking object:put
2016-01-26 21:12:44,478 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Sending
request -1221236070: PUT
https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b/Workload_Trace_Repository/dom4j-1.6.1.jar/slo/1453871564.455000/313898/33554432/00000001
HTTP/1.1
2016-01-26 21:12:44,479 DEBUG [org.jclouds.http.internal.HttpWire] [main] over
limit 313898/262144: wrote temp file
2016-01-26 21:12:46,854 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Receiving
response -1499909870: HTTP/1.1 100 Continue
2016-01-26 21:13:40,306 DEBUG [org.jclouds.rest.internal.InvokeHttpMethod]
[main] >> invoking AuthenticationApi.authenticateWithTenantNameAndCredentials
2016-01-26 21:13:40,308 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Sending
request 585637727: POST
https://okckeystonestg1.okla.seagate.com:5443/v2.0/tokens HTTP/1.1
2016-01-26 21:13:42,047 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Receiving
response 585637727: HTTP/1.1 200 OK
2016-01-26 21:13:42,078 DEBUG
[org.jclouds.openstack.keystone.v2_0.suppliers.RegionIdToURIFromAccessForTypeAndVersion]
[main] endpoints for apiType object-store and version 1:
{RegionOne=[Endpoint{id=5dbcd479dd1b485bb7918c66f8e77ae3, region=RegionOne,
publicURL=https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b,
internalURL=https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b,
adminURL=https://okcswiftstg1.okla.seagate.com:8443/}]}
2016-01-26 21:13:42,079 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:13:42,083 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:13:42,084 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:14:03,408 DEBUG [org.jclouds.rest.internal.InvokeHttpMethod]
[main] >> invoking AuthenticationApi.authenticateWithTenantNameAndCredentials
2016-01-26 21:14:03,410 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Sending
request 585637727: POST
https://okckeystonestg1.okla.seagate.com:5443/v2.0/tokens HTTP/1.1
2016-01-26 21:14:04,985 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Receiving
response 585637727: HTTP/1.1 200 OK
2016-01-26 21:14:05,016 DEBUG
[org.jclouds.openstack.keystone.v2_0.suppliers.RegionIdToURIFromAccessForTypeAndVersion]
[main] endpoints for apiType object-store and version 1:
{RegionOne=[Endpoint{id=5dbcd479dd1b485bb7918c66f8e77ae3, region=RegionOne,
publicURL=https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b,
internalURL=https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b,
adminURL=https://okcswiftstg1.okla.seagate.com:8443/}]}
2016-01-26 21:14:05,017 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:14:05,022 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:14:05,022 DEBUG
[org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration] [main]
no jclouds.regions configured for provider openstack-swift
2016-01-26 21:14:05,068 DEBUG [org.jclouds.rest.internal.InvokeHttpMethod]
[main] >> invoking object:put
2016-01-26 21:14:05,068 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Sending
request -925508673: PUT
https://okcswiftstg1.okla.seagate.com:8443/v1/AUTH_22b76e9063a5412090447ec669576f7b/Workload_Trace_Repository/dom4j-1.6.1.jar/slo/1453871645.044000/313898/33554432/00000001
HTTP/1.1
2016-01-26 21:14:05,069 DEBUG [org.jclouds.http.internal.HttpWire] [main] over
limit 313898/262144: wrote temp file
2016-01-26 21:14:21,610 DEBUG
[org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Receiving
response -192635248: HTTP/1.1 100 Continue
> multipart upload throwing : NullPointerException: Null partETag
> ---------------------------------------------------------------
>
> Key: JCLOUDS-1064
> URL: https://issues.apache.org/jira/browse/JCLOUDS-1064
> Project: jclouds
> Issue Type: Bug
> Components: jclouds-blobstore
> Affects Versions: 2.0.0
> Reporter: Ramesh Gojji
> Assignee: Zack Shoylev
> Labels: openstack-swift
>
> I am trying to upload a file in chunks to the openstack-swift. Here is the
> snippet of the code I am using to upload a file named dom4j-1.6.1.jar in
> chunks.
> blobStore.putBlob("jclouds-example", blob) does work, but if I add multipart
> to the method, then I get NullPointerException: Null partETag.
> {code:java}
> ByteSource payload = Files.asByteSource(tempFile);
> Blob blob = blobStore.blobBuilder(objectName)
> .payload(payload)
> .contentDisposition("attachment; filename=dom4j-1.6.1.jar")
> .contentMD5(payload.hash(Hashing.md5()))
> .contentLength(payload.size())
> .contentType(MediaType.OCTET_STREAM.toString())
> .build();
> System.out.println(blob.getMetadata().getName());
> // Upload the Blob
> String eTag = blobStore.putBlob("jclouds-example", blob,
> multipart());
> {code}
> Exception Stacktrace:
> {noformat}
> Exception in thread "main" java.lang.NullPointerException: Null partETag
> at
> org.jclouds.blobstore.domain.AutoValue_MultipartPart.<init>(AutoValue_MultipartPart.java:20)
> at
> org.jclouds.blobstore.domain.MultipartPart.create(MultipartPart.java:29)
> at
> org.jclouds.openstack.swift.v1.blobstore.RegionScopedSwiftBlobStore.uploadMultipartPart(RegionScopedSwiftBlobStore.java:481)
> at
> org.jclouds.openstack.swift.v1.blobstore.RegionScopedSwiftBlobStore.putMultipartBlob(RegionScopedSwiftBlobStore.java:567)
> at
> org.jclouds.openstack.swift.v1.blobstore.RegionScopedSwiftBlobStore.putBlob(RegionScopedSwiftBlobStore.java:244)
> at JCloudTest.<init>(JCloudTest.java:75)
> at JCloudTest.main(JCloudTest.java:26)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)