- Apr 25, 2017
-
-
gmantele authored
Now, it is recommended to throw a DBCancelledException from any DBConnection long processing. It is already done for the upload of a table, the execution of an ADQL query and the setting of a whole TAP_SCHEMA. The flag JDBCConnection#cancelled has now a bit different meaning: it is set even if the Statement.cancel() fails so that any JDBCConnection function can see that a cancellation has been requested.
-
- Mar 09, 2017
-
-
gmantele authored
It is also now recommended to make DBConnection.executeQuery(ADQLQuery) return NULL if the query has been aborted (indeed, the DBConnection is the only one that can reliably know that fact). JDBCConnection has been adapted consequently.
-
- Apr 19, 2016
-
-
gmantele authored
See the commit bd621842, for the first part of the fix (which actually did not really fixed the problem: connections "idle in transaction" were still in the database ; the connection being inside an opened transaction, it generates lock issues in the database in addition of probably taking some memory resources).
-
- Apr 12, 2016
-
-
gmantele authored
The transaction and Statement were closed too early before. - Fetching the row was not possible once the first bunch of fetched rows was over. - The problem of "statement is aborted" preventing the re-use of a same DB connection was apparently still there, but occurred less often. Now, any transaction potentially started in a DB connection is always closed after one of the public functions of JDBCConnection is called ; except executeQuery(ADQLQuery) whose the call MUST be wrapped inside a try...catch block in which DBConnection.cancel(true) MUST be called in case of error (in order to effectively end any started transaction).
-
- Jan 29, 2016
-
-
gmantele authored
-
- Nov 13, 2015
-
-
gmantele authored
1) [TAP & UWS] ]MAJOR BUG FIX: The abortion of an SQL query is now correctly implemented. Before this fix, 2 mistakes prevented this clean abortion: a/ The thread was not cancelled because the SQL query execution was blocking the thread. Then the thread could not treat the interruption though it was flagged as interrupted. b/ The function UWSJob.isStopped() considered the job as stopped because the interrupted flag was set, even though the thread was still processing (and the database too). Because of that it returned true and the job phase was ABORTED though the thread was still running. NOW: a/ TAPJob calls the function Statement.cancel() (if supported) in order to cancel the SQL query execution properly inside the database. b/ The function UWSJob.isStopped() does not test any more the interrupted flag and returns true only if the thread is really stopped. IN BRIEF: It is now sure that a job in the phase ABORTED is really stopped (that's to say: thread stopped AND DB query execution stopped). 2) [TAP] BUG FIX: When the writing of a result is abnormaly interrupted for any reason, the file which was being written is deleted.
-
- Jun 08, 2015
-
-
gmantele authored
-
- Apr 22, 2015
-
-
gmantele authored
-
- Apr 09, 2015
-
-
gmantele authored
-
- Apr 02, 2015
-
-
gmantele authored
-
gmantele authored
[UWS,TAP] Errors and log management improvements. Particularly, now TAP and UWS are able to manage correctly HTTP request abortions (i.e. when the user stop the request before the response has been fully sent, or when there is a connection problem or a time-out). Such abortions are considered by UWS and TAP merely as job abortion/cancel. No error is logged any more. In addition of this correction, log entries concerning the execution of a TAP sync/async job have been modified so that having more coherents messages. And stack traces of exception that occurred when executing a job (sync or async, tap or uws) are displayed just once: at the JOB END log entry, and not by the HTTP RESPONSE_SENT entry. And finally, output flush and interruption detection are made more often when writing a query result (the flush is particularly important when combining with fetch-size > 0 in synchronous mode....the sync response is then a streaming output).
-
- Mar 26, 2015
-
-
gmantele authored
[TAP] Add the possibility to set the FetchSize on a DB Statement for the execution of ADQL queries. It is also possible to set a fetchSize different for synchronous and asynchronous queries.
-
- Feb 13, 2015
-
-
gmantele authored
[TAP] Add a new database access method in the configuration file: get a Datasource from JNDI. & Better support of connection pooling (TAPFactory.countFreeConnections() has been removed ; when the creation of a database connection fails with an SQLException, it is considered that no connection are momentarily available...async jobs will be queued and all sync requests will be rejected).
-
- Dec 09, 2014
-
-
gmantele authored
[UWS,TAP] 3 MAJOR DEPENDENT FIX: improve significantly the parameters extraction from HTTP request in UWS (1) AND move the file-upload ability into the UWS library (2) AND the modification of parameters in UWS is now conform with the standard (3). (1) Only application/x-form-urlencoded content-type was supported. However a UWS must accept a request body containing only an XML document as a single byReference parameter. It is now done when the content-type is not known. (2) Besides multipart/form-data is now fully supported in UWS and so is still possible in TAP. (3) In the UWS standard, parameters can not be added after creation: they can just be modified. This rule is now respected in the UWS library.
-
- Oct 28, 2014
-
-
gmantele authored
[ADQL,TAP] Add STC-S and UDFs support in the ADQL parser. Now, it is possible to provide a list of allowed UDFs, regions and coordinate systems. The ServiceConnection of TAP is now able to provide these lists and to propagate them to the ADQLExecutor. UDFs and allowed regions are now listed automatically in the /capabilities resource of TAP. The type 'geometry' is now fully supported in ADQL. That's why the new function 'isGeometry()' has been added to all ADQLOperand extensions. Now the DBChecker is also able to check roughly types of columns and UDFs (unknown when parsing syntactically a query). The syntax of STC-S regions (expressed in the REGION function) are now checked by DBChecker. However, for the moment, geometries are not serialized in STC-S in the output....but it should be possible in some way in the next commit(s).
-
- Oct 02, 2014
-
-
gmantele authored
[TAP] Log format reports and end of ADQLExecutor execution, add an OVERFLOW notification for the text/plain output and check by default that the given service connection is not null in constructor.
-
- Sep 23, 2014
-
-
gmantele authored
[TAP,UWS] Small log corrections (for Thread logs, display the thread name rather than the ID ; the job id was forgotten in the log of CHANGE_PHASE ; build a UWSException with the given throwable message as message ; in log TAP for the event EXECUTING, the memory address of the ADQLQuery object was displayed rather than of the ADQL query expression ; display the stack trace of the SQLException.getNextException() when calling logDB)
-
- Sep 17, 2014
-
-
gmantele authored
[TAP,UWS] Manage thrown Error properly in synchronous and asynchronous jobs execution + Modify some log messages + Add log messages in JDBCConnection (for add and drop uploaded tables).
-
gmantele authored
[UWS,TAP] Review the exceptions and logs management + Add log file rotation (with a configurable rotation frequency)
-
- Aug 20, 2014
-
-
gmantele authored
[TAP] Check ADQLExecutor behavior + Review/Add/Complete Javadoc in all classes of this commit except AsyncThread and TAPParameters + Remake the upload management
-
- Aug 08, 2014
-
-
gmantele authored
[TAP] Remake TAPFactory into an abstract class + let limit the number of jobs (async and sync) by allowing the TAPFactory to communicate with a connection pool
-
- Aug 05, 2014
-
-
gmantele authored
[TAP,ADQL] Improve and remake a part of the database connection. Missing javadoc has been added when missing in the modified tables.
-
- Jul 03, 2014
-
-
gmantele authored
[TAP] Remove all generic types + Delete specific (for ResultSet) output formatters + Modify the main output formatter
-
- Apr 10, 2014
-
-
gmantele authored
-
- Apr 09, 2014
-
-
gmantele authored
-
- Apr 03, 2014