logger.logTAP(LogLevel.WARNING,report,"START_STEP","Can not set/update the informative job parameter \""+TAPJob.PARAM_PROGRESSION+"\" (this parameter would be just for notification purpose about the execution progression)!",ue);
}
...
...
@@ -476,8 +476,8 @@ public class ADQLExecutor {
*
* @see #startStep(ExecutionProgression)
*/
privatevoidendStep(){
if(progression!=null){
privatevoidendStep(){
if(progression!=null){
// Set the duration of this step in the execution report:
logger.logTAP(LogLevel.INFO,report,"WRITING_RESULT","Writing the query result",null);
...
...
@@ -665,7 +665,7 @@ public class ADQLExecutor {
OutputFormatformatter=getFormatter();
// CASE SYNCHRONOUS:
if(response!=null){
if(response!=null){
longstart=-1;
// Set the HTTP content type to the MIME type of the result format:
...
...
@@ -681,12 +681,12 @@ public class ADQLExecutor {
logger.logTAP(LogLevel.INFO,report,"RESULT_WRITTEN","Result formatted (in "+formatter.getMimeType()+" ; "+(report.nbRows<0?"?":report.nbRows)+" rows ; "+((report.resultingColumns==null)?"?":report.resultingColumns.length)+" columns) in "+((start<=0)?"?":(System.currentTimeMillis()-start))+"ms!",null);
}
// CASE ASYNCHRONOUS:
else{
else{
booleancompleted=false;
longstart=-1,end=-1;
Resultresult=null;
JobThreadjobThread=(JobThread)thread;
try{
try{
// Create a UWS Result object to store the result
// (the result will be stored in a file and this object is the association between the job and the result file):
result=jobThread.createResult();
...
...
@@ -709,17 +709,17 @@ public class ADQLExecutor {
logger.logTAP(LogLevel.INFO,report,"RESULT_WRITTEN","Result formatted (in "+formatter.getMimeType()+" ; "+(report.nbRows<0?"?":report.nbRows)+" rows ; "+((report.resultingColumns==null)?"?":report.resultingColumns.length)+" columns) in "+((start<=0||end<=0)?"?":(end-start))+"ms!",null);
}catch(IOExceptionioe){
}catch(IOExceptionioe){
// Propagate the exception:
thrownewUWSException(UWSException.INTERNAL_SERVER_ERROR,ioe,"Impossible to write in the file into which the result of the job "+report.jobID+" must be written!");
}finally{
if(!completed){
}finally{
if(!completed){
// Delete the result file (it is either incomplete or incorrect ;
// it is then not reliable and is anyway not associated with the job and so could not be later deleted when the job will be):
logger.logTAP(LogLevel.ERROR,report,"WRITING_RESULT","The result writting has failed and the produced partial result must be deleted, but this deletion also failed! (job: "+report.jobID+")",ioe);
}
}
...
...
@@ -746,7 +746,7 @@ public class ADQLExecutor {
* @throws IOException If there is an error while writing the result in the given stream.
* @throws TAPException If there is an error while formatting the result.
logger.logTAP(LogLevel.ERROR,report,"DROP_UPLOAD","Can not drop the uploaded table \""+t.getDBName()+"\" (in adql \""+t.getADQLName()+"\") from the database!",dbe);