dart-sdk/pkg/dev_compiler/pubspec.yaml
Anna Gringauze c32bc3c99f Make AssetFileSystem fault-tolerant
Recent flakes in webdev CI show failures to load dill files
due to broken sockets (most likely caused by connection timeouts).
This change adds retries and timeouts to the asset server file
system to make it tolerant to breaking connections.

- Add RetryTimeoutClient wrapper for HttpClient that performs
  retries with delays and connection/response timeouts, based
  on the idea in
  https://github.com/dart-lang/http/blob/master/lib/retry.dart
- Make AssetFileSystem use the RetryTimeoutClient.
- Add tests for reading multiple files concurrently.
- Add tests for ExpressionCompilerWorker reading assets using
  standard, multiroot, and asset file systems.
- Simplify uri that AssetFileSystem uses to query the asset
  server, since we no longer need to load package uris.
  This will eliminate a step in uri translation in dwds.

- Validated that changes do not break google3 manually.

Change-Id: I2ff163b8d99cd0b7551f3f33a71e6b306540e3c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204880
Commit-Queue: Anna Gringauze <annagrin@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2021-07-07 23:27:13 +00:00

53 lines
1,004 B
YAML

name: dev_compiler
# This package is not intended for consumption on pub.dev. DO NOT publish.
publish_to: none
environment:
sdk: '>=2.3.0 <3.0.0'
dependencies:
_fe_analyzer_shared:
path: ../_fe_analyzer_shared
_js_interop_checks:
path: ../_js_interop_checks
args: any
async: any
bazel_worker: any
build_integration:
path: ../build_integration
cli_util: any
front_end:
path: ../front_end
kernel:
path: ../kernel
meta:
path: ../meta
path: any
pedantic: ^1.11.0
source_maps: any
source_span: any
dev_dependencies:
browser_launcher: ^0.1.9
expect:
path: ../expect
http_multi_server:
path: ../../third_party/pkg/http_multi_server
js:
path: ../js
modular_test:
path: ../modular_test
package_config: any
sourcemap_testing:
path: ../sourcemap_testing
stack_trace: any
shelf:
path: ../../third_party/pkg/shelf
test: any
testing:
path: ../testing
vm:
path: ../vm
webkit_inspection_protocol: ^0.7.4