use of org.dcache.srm.v2_2.SrmAbortFilesRequest in project dcache by dCache.
the class SRMPutClientV2 method abortAllPendingFiles.
private void abortAllPendingFiles() throws Exception {
if (pendingSurlsToIndex.isEmpty()) {
return;
}
if (response != null) {
requestToken = response.getRequestToken();
if (requestToken != null) {
String[] surl_strings = pendingSurlsToIndex.keySet().toArray(new String[pendingSurlsToIndex.size()]);
int len = surl_strings.length;
say("Releasing all remaining file requests");
URI[] surlArray = new URI[len];
for (int i = 0; i < len; ++i) {
surlArray[i] = new URI(surl_strings[i]);
}
SrmAbortFilesRequest srmAbortFilesRequest = new SrmAbortFilesRequest();
srmAbortFilesRequest.setRequestToken(requestToken);
srmAbortFilesRequest.setArrayOfSURLs(new ArrayOfAnyURI(surlArray));
SrmAbortFilesResponse srmAbortFilesResponse = srm.srmAbortFiles(srmAbortFilesRequest);
if (srmAbortFilesResponse == null) {
logger.elog(" srmAbortFilesResponse is null");
} else {
TReturnStatus returnStatus = srmAbortFilesResponse.getReturnStatus();
if (returnStatus == null) {
esay("srmAbortFiles return status is null");
return;
}
say("srmAbortFiles status code=" + returnStatus.getStatusCode());
}
} else {
if (response.getArrayOfFileStatuses() != null) {
if (response.getArrayOfFileStatuses().getStatusArray() != null) {
for (int i = 0; i < response.getArrayOfFileStatuses().getStatusArray().length; i++) {
URI surl = response.getArrayOfFileStatuses().getStatusArray(i).getSURL();
TReturnStatus fst = response.getArrayOfFileStatuses().getStatusArray(i).getStatus();
esay("SURL[" + i + "]=" + surl.toString() + " status=" + fst.getStatusCode() + " explanation=" + fst.getExplanation());
}
}
}
}
}
}
use of org.dcache.srm.v2_2.SrmAbortFilesRequest in project dcache by dCache.
the class SRMV2CopyJob method done.
@Override
public void done(boolean success, String error) {
synchronized (this) {
if (isDone) {
return;
}
isDone = true;
}
try {
URI[] surlArray = new URI[] { new URI(surl.toASCIIString()) };
if (!success) {
SrmAbortFilesRequest srmAbortFilesRequest = new SrmAbortFilesRequest();
srmAbortFilesRequest.setRequestToken(requestToken);
srmAbortFilesRequest.setArrayOfSURLs(new ArrayOfAnyURI(surlArray));
SrmAbortFilesResponse srmAbortFilesResponse = srm.srmAbortFiles(srmAbortFilesRequest);
if (srmAbortFilesResponse == null) {
logger.elog("srmAbortFilesResponse is null");
} else {
TReturnStatus returnStatus = srmAbortFilesResponse.getReturnStatus();
if (returnStatus == null) {
logger.elog("srmAbortFiles return status is null");
} else {
logger.log("srmAbortFiles status code=" + returnStatus.getStatusCode());
}
}
} else if (isSrmPrepareToGet) {
SrmReleaseFilesRequest srmReleaseFilesRequest = new SrmReleaseFilesRequest();
srmReleaseFilesRequest.setRequestToken(requestToken);
srmReleaseFilesRequest.setArrayOfSURLs(new ArrayOfAnyURI(surlArray));
SrmReleaseFilesResponse srmReleaseFilesResponse = srm.srmReleaseFiles(srmReleaseFilesRequest);
TReturnStatus returnStatus = srmReleaseFilesResponse.getReturnStatus();
if (returnStatus == null) {
success = false;
error = "srmReleaseFilesResponse return status is null";
} else {
logger.log("srmReleaseFilesResponse status code=" + returnStatus.getStatusCode());
}
} else {
SrmPutDoneRequest srmPutDoneRequest = new SrmPutDoneRequest();
srmPutDoneRequest.setRequestToken(requestToken);
srmPutDoneRequest.setArrayOfSURLs(new ArrayOfAnyURI(surlArray));
SrmPutDoneResponse srmPutDoneResponse = srm.srmPutDone(srmPutDoneRequest);
TReturnStatus returnStatus = srmPutDoneResponse.getReturnStatus();
if (returnStatus == null) {
success = false;
error = "srmPutDone return status is null";
} else if (returnStatus.getStatusCode() != TStatusCode.SRM_SUCCESS) {
success = false;
ArrayOfTSURLReturnStatus arrayOfFileStatuses = srmPutDoneResponse.getArrayOfFileStatuses();
if (arrayOfFileStatuses != null && arrayOfFileStatuses.getStatusArray() != null && arrayOfFileStatuses.getStatusArray().length > 0 && arrayOfFileStatuses.getStatusArray()[0].getStatus().getStatusCode() != TStatusCode.SRM_SUCCESS && !Strings.isNullOrEmpty(arrayOfFileStatuses.getStatusArray()[0].getStatus().getExplanation())) {
error = arrayOfFileStatuses.getStatusArray()[0].getStatus().getExplanation();
} else {
error = returnStatus.getExplanation();
}
}
}
} catch (URI.MalformedURIException | RemoteException e) {
if (success) {
success = false;
error = e.toString();
} else {
logger.elog(e.toString());
}
} finally {
if (success) {
if (isSrmPrepareToGet) {
client.setReportSucceeded(surl, null);
} else {
client.setReportSucceeded(null, surl);
}
} else {
error = "received TURL but failed to copy: " + error;
if (isSrmPrepareToGet) {
client.setReportFailed(surl, null, error);
} else {
client.setReportFailed(null, surl, error);
}
}
}
}
use of org.dcache.srm.v2_2.SrmAbortFilesRequest in project dcache by dCache.
the class SRMBringOnlineClientV2 method abortAllPendingFiles.
private void abortAllPendingFiles() throws Exception {
if (pendingSurlsToIndex.isEmpty()) {
return;
}
if (requestToken != null) {
String[] surl_strings = pendingSurlsToIndex.keySet().toArray(new String[pendingSurlsToIndex.size()]);
int len = surl_strings.length;
say("Releasing all remaining file requests");
URI[] surlArray = new URI[len];
for (int i = 0; i < len; ++i) {
surlArray[i] = new URI(surl_strings[i]);
}
SrmAbortFilesRequest srmAbortFilesRequest = new SrmAbortFilesRequest();
srmAbortFilesRequest.setRequestToken(requestToken);
srmAbortFilesRequest.setArrayOfSURLs(new ArrayOfAnyURI(surlArray));
SrmAbortFilesResponse srmAbortFilesResponse = srm.srmAbortFiles(srmAbortFilesRequest);
if (srmAbortFilesResponse == null) {
logger.elog(" srmAbortFilesResponse is null");
} else {
TReturnStatus returnStatus = srmAbortFilesResponse.getReturnStatus();
if (returnStatus == null) {
esay("srmAbortFiles return status is null");
return;
}
say("srmAbortFiles status code=" + returnStatus.getStatusCode());
}
}
}
use of org.dcache.srm.v2_2.SrmAbortFilesRequest in project dcache by dCache.
the class SRMCopyClientV2 method abortAllPendingFiles.
private void abortAllPendingFiles() throws Exception {
if (pendingSurlsMap.isEmpty()) {
return;
}
if (requestToken == null) {
return;
}
java.net.URI[] surl_strings = pendingSurlsMap.keySet().toArray(new java.net.URI[pendingSurlsMap.size()]);
int len = surl_strings.length;
say("Releasing all remaining file requests");
URI[] surlArray = new URI[len];
for (int i = 0; i < len; ++i) {
URI uri = new URI(surl_strings[i].toASCIIString());
surlArray[i] = uri;
}
SrmAbortFilesRequest srmAbortFilesRequest = new SrmAbortFilesRequest();
srmAbortFilesRequest.setRequestToken(requestToken);
srmAbortFilesRequest.setArrayOfSURLs(new ArrayOfAnyURI(surlArray));
SrmAbortFilesResponse srmAbortFilesResponse = srm.srmAbortFiles(srmAbortFilesRequest);
if (srmAbortFilesResponse == null) {
logger.elog(" srmAbortFilesResponse is null");
} else {
TReturnStatus returnStatus = srmAbortFilesResponse.getReturnStatus();
if (returnStatus == null) {
esay("srmAbortFiles return status is null");
return;
}
say("srmAbortFiles status code=" + returnStatus.getStatusCode());
}
}
use of org.dcache.srm.v2_2.SrmAbortFilesRequest in project dcache by dCache.
the class SRMGetClientV2 method abortAllPendingFiles.
private void abortAllPendingFiles() throws Exception {
if (pendingSurlsToIndex.isEmpty()) {
return;
}
if (requestToken != null) {
String[] surl_strings = pendingSurlsToIndex.keySet().toArray(new String[pendingSurlsToIndex.size()]);
int len = surl_strings.length;
say("Releasing all remaining file requests");
URI[] surlArray = new URI[len];
for (int i = 0; i < len; ++i) {
surlArray[i] = new URI(surl_strings[i]);
}
SrmAbortFilesRequest srmAbortFilesRequest = new SrmAbortFilesRequest();
srmAbortFilesRequest.setRequestToken(requestToken);
srmAbortFilesRequest.setArrayOfSURLs(new ArrayOfAnyURI(surlArray));
SrmAbortFilesResponse srmAbortFilesResponse = srm.srmAbortFiles(srmAbortFilesRequest);
if (srmAbortFilesResponse == null) {
logger.elog(" srmAbortFilesResponse is null");
} else {
TReturnStatus returnStatus = srmAbortFilesResponse.getReturnStatus();
if (returnStatus == null) {
esay("srmAbortFiles return status is null");
return;
}
say("srmAbortFiles status code=" + returnStatus.getStatusCode());
}
}
}
Aggregations