Commit Graph

4195 Commits

Author SHA1 Message Date
Julien Viet
5700b170e7 Fix incorrect HTTP/2 testing stream priority change 2019-12-04 10:24:24 +01:00
Julien Viet
2c4cc53246 Improve HttpTest#testClientDecompressionError 2019-12-04 09:56:48 +01:00
Julien Viet
9967fff86b A few necessary fixes 2019-12-04 00:47:32 +01:00
Julien Viet
159c34c2eb Use correct test address in HttpTest#testWorkerServer so it works with native test profile 2019-12-03 23:52:37 +01:00
Julien Viet
ea2c1b71a5 Duplicate contexts should maintain their own ordered task queue instead of relying on the original context queue, so that worker tasks are serialised for the duplicate context and not for all duplicate contexts of the same original context. This allow for better concurrency processing in HTTP worker servers. This fixes #3217 2019-12-03 23:48:45 +01:00
Julien Viet
abb2de2160 Make sure that the HttpServer connection handler is always called on the event-loop context (even for worker contexts) 2019-12-03 23:48:40 +01:00
Julien Viet
4f23ce260d The VertxHandler does not handle anymore the dispatch to the Vertx Context and instead the connection has full control on the dispatch to the application allowing each protocol to perform application dispatch according to its concurrency.
Support worker contexts in the HTTP server implementation for the HTTP/2 protocol: the implementation uses message passing between the connection event loop and the HTTP streams when the stream are delivered on a worker context, otherwise this will be a simple method call.

Metrics and tracing are now always reported from the IO thread in all cases.

This fixes #3216 .
2019-12-03 22:46:28 +01:00
Julien Viet
c7c18b1e37 HTTP/2 client requests should use their own context - Fixes #3215 2019-12-02 12:06:11 +01:00
Julien Viet
7cfbc84aa8 Rework the HttpClientRequest#sendHead method so it will perform the callback when the header has been sent using HttpClientConnection#writeHead method and also report when writing the headers is a failure. For this purpose the sendHead method callback is changed to Handler<AsyncResult<HttpVersion>> instead of Handler<HttpVersion>. Fixes #3213 - fixes #3214 2019-12-02 10:42:09 +01:00
Julien Viet
223418d0fd Call HTTP client connection handler before service - closes #321 2019-12-01 18:07:39 +01:00
Julien Viet
8330a3cd62 Change HTTP/1.1 client connection implementation so each request will have its own event-loop. When the request event-loop is the same than the connection event-loop this will a method call, when the event-loop are distincts, this will do message passing between the event loops. This fixes #3210 2019-11-28 00:10:54 +01:00
Julien Viet
33b1cff459 NetClient and HttpClient should return a failed future instead of throwing an exception when the transport cannot create a domain socket. 2019-11-27 14:54:54 +01:00
Thomas Segismont
765eb6e7fc Missing verify goal in failsafe plugins execution.
Also, remove the phase so that both goals bind to their default one.

Signed-off-by: Thomas Segismont <tsegismont@gmail.com>
2019-11-25 18:24:10 +01:00
Julien Viet
d1df71fe09 Properly redeliver accumulated messages in the pipeline during a client NetSocket upgrade 2019-11-25 16:40:09 +01:00
Julien Viet
4ad507ca72 Update HTTP client NetSocket handling for our tests 2019-11-25 15:32:04 +01:00
Julien Viet
cbad29becd HTTP client asynchronous NetSocket connect - fixes #3207 2019-11-25 14:08:37 +01:00
Julien Viet
f1fed310a7 Replaced tabs by spaces 2019-11-22 16:59:41 +01:00
Julien Viet
b03361afe8 Use default methods in Promise instead of being on FutureImpl 2019-11-22 11:57:33 +01:00
Julien Viet
a794a8ff69 Added promise on VertxInternal to create them from the current context 2019-11-21 12:01:16 +01:00
Julien Viet
8fc6a5806c Unify HTTP/1 client connection progress queues - see #3204 2019-11-20 16:07:38 +01:00
Julien Viet
7e587a0079 Remove unused parameter in HttpClientRequestImpl 2019-11-20 00:15:53 +01:00
Julien Viet
8a4de51ea4 Rename methods on ContextInternal with better names 2019-11-19 15:20:26 +01:00
Thomas Segismont
6b13bdc3d5 Merge pull request #3167 from hengyunabc/master
fix cli @Option acceptValue support.
2019-11-18 12:30:51 +01:00
Julien Viet
7fc8a7a93a Annotate EventBus body parameters with Nullable - see #3199 2019-11-17 11:34:14 +01:00
Radim Vansa
8370289db2 Replace LinkedBlockingQueue with LinkedTransferQueue in worker-pool
Signed-off-by: Radim Vansa <rvansa@redhat.com>
2019-11-16 13:36:39 +01:00
Julien Viet
ba74b71985 Improve MetricsTest#testBroadcastMessage to avoid race when the metrics has not yet fully published the collected metrics which are asserted 2019-11-15 13:01:28 +01:00
Julien Viet
d84bc2c99e Fix racy test DeploymentTest#testSimpleChildDeployment 2019-11-15 12:40:26 +01:00
Julien Viet
c4fec42922 HTTP/1 stream should synchronise when updating the connection stream - see #3196 2019-11-15 11:46:47 +01:00
Julien Viet
8374efd9e9 Refactor and move the HTTP/1 request creation/send in Http1xClientConnection 2019-11-15 11:41:21 +01:00
Julien Viet
24c4526440 Internal refactor of the deployment to decouple the DeploymentManager from the VerticleFactory management and classloading. The DeploymentManager now deploys Callable<Verticle> instead of Supplier<Verticle> and only cares about that, the newly introduced VerticleManager provides Callable<Verticle> to the DeploymentManager for creating Verticle instances. This also changes the VerticleFactory creation contract as it fixes #3195 2019-11-13 23:47:02 +01:00
zenios
58f2c881ba Fixes incomplete promise when a child verticle could not be deployed … (#3186)
* Fixes incomplete promise when a child verticle could not be deployed because its parent has been undeployed

Signed-off-by: zenios <dimitris.zenios@gmail.com>

* Added tests

Signed-off-by: zenios <dimitris.zenios@gmail.com>

* Fail the promise after undeploy is completed

Signed-off-by: zenios <dimitris.zenios@gmail.com>

* Simplify test using onSuccess / onFailure

Signed-off-by: zenios <dimitris.zenios@gmail.com>

* Use await / testComplete instead of CountDownLatch

Signed-off-by: zenios <dimitris.zenios@gmail.com>
2019-11-13 23:25:01 +01:00
Julien Viet
97d3614496 Minor rename 2019-11-12 14:31:01 +01:00
Julien Viet
f1537e7116 Change the Closeable contract to provide a promise instead of an handler - closes #3192 2019-11-12 14:25:24 +01:00
Julien Viet
c725646ae5 Rework HttpServer close 2019-11-10 16:39:01 +01:00
Julien Viet
50ce8341f8 Use correct promises in HttpServer.listen 2019-11-10 14:33:48 +01:00
Julien Viet
86ea4440d9 Cache ConnectionBase localAddress / remoteAddress instances - see #3185 2019-11-07 19:21:26 +01:00
Lukas Prettenthaler
06561c4f84 add yaml to mimetypes
Signed-off-by: Lukas Prettenthaler <rdx@wsn.at>
2019-11-07 18:52:23 +01:00
Julien Viet
8434965a03 ContextInternal now extends Executor that executes tasks on the context 2019-11-06 13:58:38 +01:00
Julien Viet
a0da1387db Remove unused code 2019-11-06 13:48:32 +01:00
Julien Viet
f4725543bf Minor fixes in WorkerExecutorImpl 2019-11-06 09:33:01 +01:00
Julien Viet
78d129f3f5 Rename context methods executeFromIO to emitFromIO and execute to emit 2019-11-06 08:39:16 +01:00
Julien Viet
faa02df46d Merge pull request #3176 from eclipse-vertx/multi-futures
Multi futures
2019-11-04 14:31:05 +01:00
Julien Viet
57e8b75cac PR feedback 2019-11-04 13:49:40 +01:00
Julien Viet
98622f270c Terminal Future method callbacks - see #3175 2019-11-04 10:59:25 +01:00
Julien Viet
0416ca5979 Future should handle multiple handlers instead of a single - see #3174 2019-11-04 10:59:14 +01:00
Julien Viet
8295da5067 MessageConsumer unregistration cleanup 2019-11-04 10:46:55 +01:00
Julien Viet
15e694ca63 WorkerExecutor close() should return a Future<Void> 2019-11-04 10:46:38 +01:00
Julien Viet
f490d45892 JsonObject equality should check the map keys instead of the sizes -closes #3170 2019-11-03 09:11:20 +01:00
Julien Viet
07b6ad2e80 AsyncMap should use context promises 2019-11-03 00:36:48 +01:00
Julien Viet
07fe826f3c Remove unused Vertx instance in AsyncMapTest leaking file descriptor 2019-10-31 16:33:26 +01:00