Commit Graph

517 Commits

Author SHA1 Message Date
Raul Ochoa
368fe2403e Allow to setup more than one domain to validate oauth against 2016-07-07 14:20:36 +02:00
Daniel García Aubert
5eaad4d5d9 Uses redis-mpool for pubsub in Batch API 2016-07-07 14:14:46 +02:00
Daniel García Aubert
74d83a457e Now batch publisher sends a ping to server before publishing and create a new connection if error.
Batch publisher and subscriber logs (if debug enabled) both outcoming and incoming messages to give more visibility.
2016-07-07 10:44:17 +02:00
Raul Ochoa
63d3cd59e2 Skip test for travis 2016-06-30 20:02:43 +02:00
Raul Ochoa
b4ee2effbd Fix line too long error 2016-06-30 19:49:34 +02:00
Raul Ochoa
b9af5e7846 Create table in before 2016-06-30 19:40:36 +02:00
Raul Ochoa
8a57a64961 Output actual response when it fails 2016-06-30 19:14:21 +02:00
Raul Ochoa
1f8f5e2c57 Use another name for test table 2016-06-30 19:12:45 +02:00
Raul Ochoa
dc5807b790 Do not validate expected output 2016-06-30 18:55:19 +02:00
Raul Ochoa
74964bc696 Be more clear about what is not matching 2016-06-30 18:31:58 +02:00
Raul Ochoa
51747879d6 Reorder tests 2016-06-30 18:16:52 +02:00
Raul Ochoa
be0f059f01 Add <%= job_id %> template support for onerror and onsuccess fallback queries 2016-06-30 17:41:02 +02:00
Daniel García Aubert
a1f31df92e Now Batch API broadcast to other APIs everytime that re-enqueues a multiple-query job 2016-06-29 18:29:53 +02:00
Raul Ochoa
85fa9d3c2b Merge branch 'master' into batch-onerror-template
Conflicts:
	NEWS.md
2016-06-29 16:25:05 +02:00
Raul Ochoa
a3117a2f01 Add <%= error_message %> template support for onerror fallback queries 2016-06-29 14:22:23 +02:00
Raul Ochoa
1d8f5539a7 Adds start and end time for batch queries with fallback 2016-06-29 13:56:45 +02:00
Daniel García Aubert
c7a9f59320 Added CDB_OverviewsSupport as remote sql script in fixtrues 2016-06-22 16:38:30 +02:00
Daniel
58055080c9 Merge pull request #311 from CartoDB/309-skipped-status
Fixes #309, added skipped status to fallback-jobs
2016-06-08 11:12:59 +02:00
Daniel García Aubert
2a2127f4e1 Improved falback job to get the status of last finished query 2016-06-02 18:20:53 +02:00
Raul Ochoa
299490f46f Put all remote sql script together 2016-06-01 10:52:54 +02:00
Daniel García Aubert
481a82500b Refactored fallback jobs 2016-06-01 10:39:01 +02:00
Raul Ochoa
5710d83908 Output postgresql server version 2016-06-01 10:25:16 +02:00
Daniel García Aubert
1a0e2b681b Fixes #309, added skipped status to fallback-jobs 2016-05-26 17:37:37 +02:00
Daniel García Aubert
e079491a7e Fixed issue with status transition fallback jobs 2016-05-25 17:00:27 +02:00
Raul Ochoa
23228b2d73 Payload size validates multiple queries and fallback queries
It uses a middleware to check the body size
2016-05-24 14:28:00 +02:00
Daniel García Aubert
2d86fc2ce3 In fallback jobs, used fallback_status property instead of an array of statuses 2016-05-23 15:05:14 +02:00
Daniel García Aubert
052cb0796d Modified fallback tests in order to use our custom assert.response 2016-05-20 14:42:53 +02:00
Daniel García Aubert
e04787a070 Fixed missing failed_reason in failing jobs 2016-05-19 17:02:48 +02:00
Daniel García Aubert
cf7dff4696 Removed commented code 2016-05-19 14:13:54 +02:00
Daniel García Aubert
62c8a9d315 Refactor and fixed issue, when cancelling a fallback job, it is not cancelled properly 2016-05-19 14:10:18 +02:00
Daniel García Aubert
5c4ced34e6 Added acceptance test for job cancelling 2016-05-18 13:25:08 +02:00
Daniel García Aubert
b94a9c7c0a Fixed conflicts 2016-05-18 11:48:39 +02:00
Daniel
8c8da8e39c Merge pull request #301 from CartoDB/job-model-refactor
Job model refactor
2016-05-18 11:38:41 +02:00
Daniel García Aubert
6acc02e998 Improved fallback setStatus method and added acceptance test 2016-05-17 18:51:02 +02:00
Daniel García Aubert
b2eac6b880 Implemented test for fallback jobs 2016-05-17 01:00:27 +02:00
Daniel García Aubert
be3d9d2316 Fallback jobs WIP 2016-05-16 13:49:56 +02:00
Daniel García Aubert
d2d3ba8159 Passed tests 2016-05-16 01:22:47 +02:00
Raul Ochoa
4e3238c2e8 Fix control flow when using OGR with _needSRS=true and empty queries
Continue on empty results as srid and geom type are not critical
when there are no results

Fixes #299
2016-05-12 17:21:07 +02:00
Juan Ignacio Sánchez Lara
e979b79f49 gpkg format #291 2016-05-10 18:42:23 +02:00
Juan Ignacio Sánchez Lara
7b9911416b geopackage export test #291 2016-05-10 18:01:50 +02:00
Juan Ignacio Sánchez Lara
c82cafb1ed Geopackage format support #291 2016-04-27 16:56:06 +02:00
Daniel García Aubert
5de931daa5 Improver error message in job max payload limit. 2016-04-25 11:18:30 +02:00
Daniel García Aubert
832695031b Improved tests for query size limit 2016-04-18 18:05:03 +02:00
Daniel García Aubert
1dcbb1afdf Improved error message 2016-04-18 16:24:52 +02:00
Daniel García Aubert
790b9c6124 Fixed typos 2016-04-18 15:44:48 +02:00
Daniel García Aubert
7cc7482944 Implemented limit to query size in Batch API. 2016-04-18 15:30:16 +02:00
Daniel
423e729e11 Merge pull request #283 from CartoDB/batch-improve-startup
Improved initialization in Batch API
2016-04-05 15:46:21 +02:00
Daniel García Aubert
7121b3b800 Passed test 2016-04-04 20:05:58 +02:00
Daniel García Aubert
b62edcb64f Refactored batch-api startup. Isolated code related to queue discovering, api much clear and concise. 2016-04-04 16:05:33 +02:00
dgaubert
e8a44136c5 Now Batch API looks for queues with jobs to consume at service initialization time 2016-03-31 17:37:35 +02:00
dgaubert
fd9bfe277e Implemented multiquery jobs for Batch API 2016-03-31 12:39:03 +02:00
Daniel García Aubert
a32fa7b108 Implemented new test for multiquery jobs 2016-03-18 18:12:01 +01:00
Daniel García Aubert
056f22b156 Implemented multi-jobs, user is able to send an array of jobs and batch service will run them in series 2016-03-18 14:57:18 +01:00
Raul Ochoa
66cd1f400f Skip query tables cache for authenticated requests 2016-03-10 19:20:56 +01:00
Alejandro Martínez
e100cfb584 Merge pull request #273 from CartoDB/new_querytables
Use node-cartodb-querytables library and add Surrogate-Keys
2016-03-08 15:33:04 +01:00
Raul Ochoa
5ebc8e43d5 Start hits=0 as first time is not a hit 2016-03-08 14:50:08 +01:00
Raul Ochoa
69fa13ab50 Do not track CDB_ sql function files 2016-03-08 14:09:15 +01:00
Daniel García Aubert
9e67d21a05 Passed test 2016-03-02 10:55:35 +01:00
Alejandro Martínez
9262223de4 Add Surrogate-key specs 2016-02-24 11:44:27 +01:00
Alejandro Martínez
5e06711b4b Use node-cartodb-querytables library 2016-02-22 12:24:05 +01:00
Raul Ochoa
15f90c1a78 QueryTablesApi only caches affected tables and always retrieve last modification 2016-02-02 01:16:24 +01:00
Raul Ochoa
c41d4550ce Fix style 2016-02-01 17:22:51 +01:00
Raul Ochoa
9deab814c9 Skip query-tables-api for authenticated requests 2016-02-01 16:53:28 +01:00
Raul Ochoa
7774c10c66 Remove commented out code 2016-01-28 14:44:50 +01:00
Raul Ochoa
98f697849a Remove select permission from CDB_TableMetadata on publicuser
Some tests will start to fail
2016-01-28 12:36:06 +01:00
Daniel García Aubert
c8dc2b3dc0 Removed possible reenqueued jobs in tests because of draining. 2016-01-26 12:29:04 +01:00
Daniel García Aubert
bd2ec0e77f Set pg_sleep to 3 seconds in test. 2016-01-26 12:13:04 +01:00
Daniel García Aubert
1857d5d456 Made all test ready to run 2016-01-26 11:53:36 +01:00
Daniel García Aubert
458d762f9f Revernting last changes:
- Short option in mocha
  - Using batch event emmit to check job status in test
2016-01-26 11:43:30 +01:00
Daniel García Aubert
aed83ed6b0 Added short option to mocha test runner 2016-01-26 11:33:37 +01:00
Daniel García Aubert
276bc679e6 Changed test to be responsive instead pulling every 50 milliseconds 2016-01-26 11:04:10 +01:00
Daniel García Aubert
a960bd18f1 Dranied jobs in hook 'after' 2016-01-25 17:30:07 +01:00
Daniel García Aubert
7971bcf86b Improved acceptance test for batch api 2016-01-25 16:44:00 +01:00
Daniel García Aubert
20fd536659 Now batch stop is synchronous, changed signature in test.
Fixed minor issue when draining the last job, queue is got before cancel the job.
2016-01-25 14:51:37 +01:00
Daniel García Aubert
c540899580 Implemented unit test for user indexer in batch service 2016-01-25 10:47:21 +01:00
Daniel García Aubert
e6f714a51b Implemented some new unit test 2016-01-22 19:31:25 +01:00
Daniel García Aubert
cb638bb0fe Fixed issue with Postgres error codes, implemented some test for job controller 2016-01-22 18:22:21 +01:00
Daniel García Aubert
2da35ac968 Merge branch 'master' of github.com:CartoDB/CartoDB-SQL-API into batch-api 2016-01-22 13:09:20 +01:00
Daniel García Aubert
5c4d239467 Fixed unit test for job queue and moved isJobFound function as private method in job backend 2016-01-22 12:43:41 +01:00
Raul Ochoa
c096d843a2 Adds coverage tool 2016-01-22 12:18:20 +01:00
Daniel García Aubert
2913aed697 Placed job controller endpoit under /api/vX/sql 2016-01-18 20:12:44 +01:00
Daniel García Aubert
a89e3776ec Removed unused callback in before hook in test and added proper configuration from user database config 2016-01-14 14:08:34 +01:00
Daniel García Aubert
c308551d05 Implemented drain to stop batch service gracefully.
Split job acceptance test
2016-01-13 16:25:25 +01:00
Daniel García Aubert
6e820b4573 Improved test's messages 2016-01-12 10:24:09 +01:00
Daniel García Aubert
565fb6e0da Add a comment 2016-01-12 10:08:56 +01:00
Daniel García Aubert
6c849f2bef Fixed issue with job acceptance test 2016-01-12 10:06:31 +01:00
Daniel García Aubert
2d13bde301 Implemented uses cases test for Batch API 2016-01-11 20:14:15 +01:00
Daniel García Aubert
078eb7706b Now SQL API is able to disable Batch Service using argv param --no-batch 2016-01-08 18:29:36 +01:00
Daniel García Aubert
20f00d58d9 Refactored batch service to avoid event noise, doing in callback way 2016-01-08 15:47:59 +01:00
Daniel García Aubert
f9f52d2bd1 Improved object creation in batch service 2016-01-08 11:32:01 +01:00
Daniel García Aubert
e6a4e0f7eb Returned 201 HTTP code in job creation
Fixed bug listing jobs, now user job index is cleaned before respond to client
2016-01-07 12:07:30 +01:00
Daniel García Aubert
681772bf37 Implemented test for Job Controller and implemented batch stop service 2016-01-05 17:42:28 +01:00
Daniel García Aubert
8c42019641 Improved namespace in redis for batch's stuff 2015-12-29 15:46:04 +01:00
Daniel García Aubert
851c393f75 Refactored batch manager avoiding concurrence issues 2015-12-29 10:19:10 +01:00
Daniel García Aubert
c4f96b4a59 Implemented support for listing jobs for one user 2015-12-24 17:42:49 +01:00
Daniel García Aubert
ecb76ca1de Improved batch API being consistent with naming, humam readability for job dates, hide redis key details for jobs. 2015-12-23 17:29:11 +01:00
Daniel García Aubert
c54f274bd4 Fixed callback called multiple times in tests 2015-12-23 14:54:54 +01:00
Daniel García Aubert
b16c0983c6 Implemented tests for batch API 2015-12-22 23:13:33 +01:00
Daniel García Aubert
3c23bf12e7 Fixed bug whether a job consumer is empty. And refactored batch module, now is a common object intead of module function 2015-12-22 20:12:10 +01:00
Daniel García Aubert
f41c43aa38 Disabled statement timeout bypassing pgbouncer connection 2015-12-22 15:43:00 +01:00
Daniel García Aubert
30d0b2906b Implemented GET for jobs API 2015-12-22 11:45:25 +01:00
Daniel García Aubert
ef59a1d942 Fixed typo in batch test 2015-12-22 11:06:46 +01:00
Daniel García Aubert
328d4c6bfe Fixed bad assertion in batch acceptance test 2015-12-22 11:02:16 +01:00
Daniel García Aubert
3762ad7a39 Now jobs are stored in redis instead of user's database 2015-12-21 19:57:10 +01:00
Daniel García Aubert
fb8feeb964 Now Job is an event emitter instance and we are able to know what happen wwith any job. Implemented test without a silly timeout 2015-12-16 18:13:48 +01:00
Daniel García Aubert
43f759e96a Refactored Batch API using streams instead a interval to consume the job queue. Limited one job running at the same time per queue instead of using a job's counter to limit it. 2015-12-16 15:57:58 +01:00
Daniel García Aubert
d0787d03f7 Reused matadata backend instance for batch service 2015-12-14 10:36:16 +01:00
Daniel García Aubert
6cc48bf9dd Implemented batch service 2015-12-09 20:17:45 +01:00
Daniel García Aubert
da66703ce3 Skipped undone test 2015-12-09 12:23:49 +01:00
Daniel García Aubert
56cc5b439a Removed test filter for runner 2015-12-09 12:22:00 +01:00
Daniel García Aubert
0c6edc573a Used cartodb-redis instead redis-mpool 2015-12-09 12:18:33 +01:00
Daniel García Aubert
00721bcd02 Implementing batch service 2015-12-09 00:02:08 +01:00
Daniel García Aubert
f6632d2373 Removed filter test 2015-12-07 12:11:46 +01:00
vagrant
35d6600f36 Implemented test for job manegement 2015-12-07 10:29:55 +00:00
Daniel García Aubert
a715879e37 Removed mocha test filter 2015-12-07 09:42:33 +01:00
Daniel García Aubert
a1243ad64d Implemented job controller to enqueue jobs 2015-12-07 09:40:51 +01:00
Daniel García Aubert
c6bae6d951 app module moved to right place 2015-12-03 18:33:17 +01:00
Raul Ochoa
b160f4051a Merge pull request #250 from CartoDB/issue-238
Stop adding X-Cache-Channel header when no tables involved
2015-09-08 12:30:26 +02:00
Raul Ochoa
5ec6d7c77b Remove no longer needed health check params 2015-09-07 18:34:50 +02:00
Raul Ochoa
875eccba62 Stop adding X-Cache-Channel header when no tables were identified in SQL query
Fixes #238 and fixes #157
2015-09-07 18:22:24 +02:00
Raul Ochoa
920cb350cc x-cache-channel tests 2015-09-07 18:09:42 +02:00
Raul Ochoa
a5d1d1d3bd Re-enable regression test for tables with (.) dots in names
Closes #224 after CDB_QueryTables returns named properly quoted
2015-09-07 17:10:24 +02:00
Raul Ochoa
0068322fe2 Upgrade CDB_QueryTables to use latest version 2015-09-07 17:10:24 +02:00
Raul Ochoa
74619b38f5 Adds scenario to validate log is limited to 2000 chars 2015-09-04 12:45:51 +02:00
Raul Ochoa
335d71bc04 Adds a custom log4js format function to log sql query from POST requests
Tokens in log4js are not provided with request/response for context,
using a custom format function allow to access them

In the case of express logger token functions receive request/response
for context so it uses a custom token

Closes #206
2015-09-04 12:29:20 +02:00
Raul Ochoa
bb884b51a6 Disable regression test until CDB_QueryTablesText is fixed 2015-09-03 11:24:38 +02:00
Raul Ochoa
df589b5e85 Merge pull request #247 from CartoDB/last-modified-header
Set Last-Modified header based on affected tables
2015-09-03 09:30:50 +02:00
Raul Ochoa
0e07e39efc Adds regression test for issue #224 2015-09-02 17:09:22 +02:00
Raul Ochoa
f816093036 Set Last-Modified header based on affected tables
Closes #101
2015-09-02 16:25:56 +02:00
Raul Ochoa
d42e5a6b75 Do not expose remove from pool after query error as a config option 2015-08-04 16:23:36 +02:00
Raul Ochoa
7c696317d0 New option to remove client from pool after error happens
This help to avoid issues with transactions.

Closes #241
2015-08-04 15:53:50 +02:00
Raul Ochoa
8db6b88853 Update CDB_QueryTables to match current spec 2015-08-04 14:45:14 +02:00
Raul Ochoa
62e7e1634f Use in memory sqlite databases for spatialite tests 2015-06-16 17:33:04 +02:00
Raul Ochoa
e9dda12ad3 Adds tests for big results in ogr formats 2015-06-16 15:54:13 +02:00
Francisco Dans
59d93aeb57 removes only from test call 2015-06-01 17:17:05 +02:00
Francisco Dans
fc30771879 adds couple more tests 2015-06-01 15:16:05 +02:00
Francisco Dans
2363b87b61 adds acc test for sqlite 2015-06-01 13:20:51 +02:00
Raul Ochoa
b29933f96e Closes stream responses on error
fixes #219
2015-05-13 18:15:38 +02:00
Raul Ochoa
469bd0b696 use describe+it 2015-05-13 12:23:40 +02:00
Raul Ochoa
33731fc315 jshint fixes 2015-05-13 11:53:14 +02:00
Raul Ochoa
9486643f0a jshint fixes 2015-05-13 11:21:44 +02:00
Raul Ochoa
926fa3fd44 Use another port for fake sql server
assert.response helper use port 5555 as default but it keeps
incrementing the port number if 5555 is busy so this suite was failing
randomly because sometimes port 5556 was already in use.
2015-05-13 11:19:02 +02:00
Raul Ochoa
546100a950 unit tests using describe+it plus jshint fixes 2015-05-12 18:34:25 +02:00
Raul Ochoa
8fe4224a55 Changes configuration example base_url for subdomainless users 2015-04-08 16:14:05 +02:00
Luis Bosque
0b63c35e85 Removed commented healthcheck tests 2015-04-06 19:04:28 +02:00
Luis Bosque
21cbdfd4a3 Disable per user health checks tests 2015-04-06 16:44:01 +02:00
Luis Bosque
6874ef823a jshint fixes 2015-03-25 18:39:45 +01:00
Luis Bosque
897df7634b Return failed health checks with disabled file 2015-03-25 17:15:41 +01:00
Raul Ochoa
9dcb397737 Merge pull request #205 from CartoDB/url_rewrite
added /u/:user routing
2015-03-20 12:22:07 +01:00
Raul Ochoa
9b31df6793 Improve row size limit error message 2015-03-02 14:34:01 +01:00