vectordotdev / vector

A high-performance observability data pipeline.
https://vector.dev
Mozilla Public License 2.0
17.5k stars 1.53k forks source link

Upgrade `hyper` for `futures` 0.3 #2117

Closed MOZGIII closed 4 years ago

MOZGIII commented 4 years ago

As part of the https://github.com/timberio/vector/issues/1142, upgrade hyper to v0.13+.


Here's a list of dependencies that are themselves blocked on tokio 0.1:

Crates that are ready for the upgrade:

Overall, not that bad.

MOZGIII commented 4 years ago
$ cargo tree -i -p hyper:0.12.35
hyper v0.12.35
├── hyper-openssl v0.7.1
│   └── shiplift v0.6.0
│       └── vector v0.9.0 (.../vector)
├── hyper-tls v0.3.2
│   ├── reqwest v0.9.24
│   │   ├── goauth v0.6.1
│   │   │   └── vector v0.9.0 (.../vector) (*)
│   │   └── kube v0.16.1
│   │       [dev-dependencies]
│   │       └── vector v0.9.0 (.../vector) (*)
│   └── rusoto_core v0.41.0
│       ├── rusoto_cloudwatch v0.41.0
│       │   └── vector v0.9.0 (.../vector) (*)
│       ├── rusoto_firehose v0.41.0
│       │   └── vector v0.9.0 (.../vector) (*)
│       ├── rusoto_kinesis v0.41.0
│       │   └── vector v0.9.0 (.../vector) (*)
│       ├── rusoto_logs v0.41.0
│       │   └── vector v0.9.0 (.../vector) (*)
│       ├── rusoto_s3 v0.41.0
│       │   └── vector v0.9.0 (.../vector) (*)
│       ├── rusoto_sts v0.41.0
│       │   └── vector v0.9.0 (.../vector) (*)
│       └── vector v0.9.0 (.../vector) (*)
├── hyperlocal v0.6.0
│   └── shiplift v0.6.0 (*)
├── reqwest v0.9.24 (*)
├── rusoto_core v0.41.0 (*)
├── rusoto_credential v0.41.1
│   ├── rusoto_core v0.41.0 (*)
│   └── vector v0.9.0 (.../vector) (*)
├── shiplift v0.6.0 (*)
└── warp v0.1.21 (git+https://github.com/timberio/warp?branch=0.1.x#017965c627047bf0e53062940e7def127cb21649)
    └── vector v0.9.0 (.../vector) (*)
[dev-dependencies]
└── tracing-metrics v0.1.0 (.../vector/lib/tracing-metrics)
    └── vector v0.9.0 (.../vector) (*)
LucioFranco commented 4 years ago

The sink side of this has been done and you can find the implementation in http2. Source and Prometheus sinks that use wrap will still need an upgrade.

binarylogic commented 4 years ago

@ktff this is part of our Tech-Debt Payment #1: Move to Tokio 0.2/Futures 0.3 Project. I'm assigning just this issue to you. I've assigned #2118 and #1142 to @fanatid. I'm assuming this work won't conflict. If it does, let me know and we can try to reassign issues in a way that doesn't.

ktff commented 4 years ago

@fanatid can you prioritize updating src/sinks/aws_cloudwatch_logs/mod.rs to use src/sinks/util/rusoto2.rs instead of src/sinks/util/rusoto.rs. With that and #2808 being merged, we'll be able to finish the upgrade of hyper and hyper-openssl.

fanatid commented 4 years ago

Sure, it was done in #2777 but need move to new PR, should be ready soon.