This is an automated email from the ASF dual-hosted git repository.
koushiro pushed a change to branch add-cache-layer-rfc
in repository https://gitbox.apache.org/repos/asf/opendal.git
from 6dbc7a774 update
add 4bddeb840 chore(deps): bump the github-actions group with 5 updates
(#7121)
add 31107b6eb chore(deps): bump tracing from 0.1.43 to 0.1.44 in /core in
the logs-errors-checksums group (#7123)
add 97f4e94ca chore(deps): bump the third-party-actions group with 6
updates (#7125)
add fc04f8691 chore(deps): bump the others group in /core with 11 updates
(#7126)
add b430879d4 chore(deps): bump the http-serialization-utils group in
/core with 2 updates (#7122)
add 8a1ea401f chore: upgrade to mea 0.6.0 (#7132)
add bc713ffbd chore(layer/fastmetrics): upgrade fastmetrics to v0.6.0
(#7135)
add 8817d47d6 RFC-7130: Route Layer (#7130)
add f883c5094 feat: introduce foyer layer (#6366)
add a35f2de40 feat(layers/route): impl route layer as rfc 7130 (#7137)
add d53142ba9 feat(services/azdls): add recursive deletion for azdls
(#7142)
add db2308abe feat(services/hdfs): add delete with recursive support for
hdfs (#7136)
add 3f8d94759 chore: reduce tracing deps (#7146)
add 6b4f1e075 feat(bindings/go): support presign (#7147)
add 93a6360d1 make sure CompleteWriter is enforcing the right invariants
(#7056)
add 06f088d93 chore(deps): bump the pyo3 group in /bindings/python with 2
updates (#7120)
add b23593ea3 feat(layers/concurrent-limit): accept custom semaphore
without API break (#7082)
add c904b586d fix(core): skip PermissionDenied errors in recursive lister
(#7096)
add 67cd00d74 refactor(foyer): seperate mods from lib.rs (#7154)
add fb106f449 feat(services/memcached): Support connection via unix domain
socket (#7112)
add f71046e01 ci: skip azurite's version check (#7162)
add 1328f191d build(deps): move url to workspace dependencies (#7161)
add 85e1c8da2 Merge remote-tracking branch 'upstream/main' into
add-cache-layer-rfc
add 4817e573e update RFC
No new revisions were added by this update.
Summary of changes:
.../{memcached => memcached_with_unix}/action.yml | 28 +-
.github/workflows/ci_bindings_c.yml | 8 +-
.github/workflows/ci_bindings_cpp.yml | 2 +-
.github/workflows/ci_bindings_d.yml | 2 +-
.github/workflows/ci_bindings_dart.yml | 4 +-
.github/workflows/ci_bindings_dotnet.yml | 2 +-
.github/workflows/ci_bindings_go.yml | 4 +-
.github/workflows/ci_bindings_haskell.yml | 12 +-
.github/workflows/ci_bindings_java.yml | 4 +-
.github/workflows/ci_bindings_lua.yml | 2 +-
.github/workflows/ci_bindings_nodejs.yml | 2 +-
.github/workflows/ci_bindings_ocaml.yml | 6 +-
.github/workflows/ci_bindings_php.yml | 2 +-
.github/workflows/ci_bindings_python.yml | 2 +-
.github/workflows/ci_bindings_ruby.yml | 2 +-
.github/workflows/ci_bindings_swift.yml | 4 +-
.github/workflows/ci_bindings_zig.yml | 4 +-
.github/workflows/ci_check.yml | 14 +-
.github/workflows/ci_core.yml | 18 +-
.github/workflows/ci_integration_dav_server.yml | 2 +-
.github/workflows/ci_integration_object_store.yml | 2 +-
.github/workflows/ci_integration_parquet.yml | 2 +-
.github/workflows/ci_integration_spring.yml | 2 +-
.github/workflows/ci_integration_unftp_sbe.yml | 2 +-
.github/workflows/ci_odev.yml | 4 +-
.github/workflows/ci_weekly_update.yml | 2 +-
.github/workflows/discussion-thread-link.yml | 2 +-
.github/workflows/docs.yml | 92 +--
.github/workflows/full-ci-promote.yml | 8 +-
.github/workflows/release_dart.yml | 12 +-
.github/workflows/release_java.yml | 18 +-
.github/workflows/release_nodejs.yml | 10 +-
.github/workflows/release_python.yml | 10 +-
.github/workflows/release_ruby.yml | 12 +-
.github/workflows/release_rust.yml | 4 +-
.github/workflows/service_test_ghac.yml | 2 +-
.github/workflows/test_behavior.yml | 2 +-
.github/workflows/test_behavior_binding_c.yml | 4 +-
.github/workflows/test_behavior_binding_cpp.yml | 2 +-
.github/workflows/test_behavior_binding_go.yml | 6 +-
.github/workflows/test_behavior_binding_java.yml | 2 +-
.github/workflows/test_behavior_binding_nodejs.yml | 2 +-
.github/workflows/test_behavior_binding_python.yml | 2 +-
.github/workflows/test_behavior_core.yml | 2 +-
.../test_behavior_integration_object_store.yml | 2 +-
.github/workflows/test_edge.yml | 6 +-
.github/workflows/test_fuzz.yml | 2 +-
bindings/c/include/opendal.h | 95 +++
bindings/c/src/lib.rs | 5 +
bindings/c/src/operator_info.rs | 3 +
bindings/c/src/presign.rs | 264 ++++++++
bindings/c/tests/Makefile | 4 +-
bindings/c/tests/test_framework.cpp | 4 +
bindings/c/tests/test_framework.h | 19 +-
bindings/c/tests/test_runner.cpp | 2 +
bindings/c/tests/test_suites_presign.cpp | 735 +++++++++++++++++++++
bindings/cpp/Cargo.toml | 2 +-
bindings/go/README.md | 5 +
bindings/go/operator_info.go | 4 +
bindings/go/presign.go | 267 ++++++++
bindings/go/tests/behavior_tests/opendal_test.go | 1 +
bindings/go/tests/behavior_tests/presign_test.go | 134 ++++
bindings/go/types.go | 25 +-
bindings/go/{write.go => writer.go} | 0
bindings/python/Cargo.toml | 7 +-
bindings/python/src/options.rs | 125 +++-
core/Cargo.lock | 669 ++++++++++++++++---
core/Cargo.toml | 14 +-
core/benches/vs_s3/Cargo.toml | 2 +-
core/core/Cargo.toml | 11 +-
core/core/src/blocking/operator.rs | 31 +
core/core/src/docs/rfcs/6297_cache_layer.md | 488 ++++----------
...er_integration.md => 6370_foyer_integration.md} | 0
core/core/src/docs/rfcs/7130_route_layer.md | 214 ++++++
core/core/src/docs/rfcs/mod.rs | 4 +
core/core/src/layers/complete.rs | 58 +-
core/core/src/raw/oio/list/flat_list.rs | 14 +-
core/core/src/types/context/write.rs | 48 +-
.../Cargo.toml | 2 +-
.../src/main.rs | 23 +-
core/fuzz/Cargo.toml | 2 +-
core/layers/concurrent-limit/Cargo.toml | 3 +-
core/layers/concurrent-limit/src/lib.rs | 244 +++++--
core/layers/fastmetrics/Cargo.toml | 2 +-
core/layers/fastrace/Cargo.toml | 2 +-
.../foundationdb => layers/foyer}/Cargo.toml | 15 +-
.../foyer/src/deleter.rs} | 55 +-
.../src/config.rs => layers/foyer/src/error.rs} | 32 +-
core/layers/foyer/src/full.rs | 136 ++++
core/layers/foyer/src/lib.rs | 459 +++++++++++++
core/layers/foyer/src/writer.rs | 88 +++
core/layers/hotpath/Cargo.toml | 2 +-
core/layers/immutable-index/Cargo.toml | 5 +-
core/layers/immutable-index/src/lib.rs | 23 +-
core/layers/retry/Cargo.toml | 5 +-
core/layers/retry/src/lib.rs | 33 +-
core/layers/{mime-guess => route}/Cargo.toml | 7 +-
core/layers/route/src/lib.rs | 435 ++++++++++++
core/layers/throttle/Cargo.toml | 2 +-
core/services/aliyun-drive/Cargo.toml | 2 +-
core/services/azdls/src/backend.rs | 10 +
core/services/azdls/src/config.rs | 5 +
core/services/azdls/src/core.rs | 57 ++
core/services/azdls/src/deleter.rs | 8 +-
core/services/b2/Cargo.toml | 2 +-
core/services/compfs/Cargo.toml | 7 +-
core/services/dropbox/Cargo.toml | 2 +-
core/services/gdrive/Cargo.toml | 2 +-
core/services/gridfs/Cargo.toml | 2 +-
core/services/hdfs/src/backend.rs | 1 +
core/services/hdfs/src/deleter.rs | 8 +-
core/services/koofr/Cargo.toml | 2 +-
core/services/memcached/Cargo.toml | 2 +-
core/services/memcached/src/backend.rs | 84 ++-
core/services/memcached/src/binary.rs | 12 +-
core/services/memcached/src/core.rs | 106 ++-
core/services/mongodb/Cargo.toml | 2 +-
core/services/monoiofs/Cargo.toml | 2 +-
core/services/mysql/Cargo.toml | 2 +-
core/services/onedrive/Cargo.toml | 2 +-
core/services/postgresql/Cargo.toml | 2 +-
core/services/s3/Cargo.toml | 1 -
core/services/s3/src/backend.rs | 2 -
core/services/seafile/Cargo.toml | 2 +-
core/services/sqlite/Cargo.toml | 2 +-
core/services/surrealdb/Cargo.toml | 2 +-
core/services/swift/src/backend.rs | 6 +-
core/services/swift/src/deleter.rs | 6 +-
core/services/tikv/Cargo.toml | 2 +-
core/services/webdav/Cargo.toml | 2 +-
core/services/webhdfs/Cargo.toml | 2 +-
core/src/lib.rs | 4 +
core/tests/behavior/main.rs | 14 +-
dev/Cargo.lock | 260 +++++++-
fixtures/azblob/docker-compose-azurite.yml | 1 +
...ached.yml => docker-compose-memcached-unix.yml} | 15 +-
integrations/object_store/Cargo.toml | 2 +-
integrations/object_store/src/store.rs | 12 +-
138 files changed, 4892 insertions(+), 934 deletions(-)
copy .github/services/memcached/{memcached => memcached_with_unix}/action.yml
(55%)
create mode 100644 bindings/c/src/presign.rs
create mode 100644 bindings/c/tests/test_suites_presign.cpp
create mode 100644 bindings/go/presign.go
create mode 100644 bindings/go/tests/behavior_tests/presign_test.go
rename bindings/go/{write.go => writer.go} (100%)
rename core/core/src/docs/rfcs/{0000_foyer_integration.md =>
6370_foyer_integration.md} (100%)
create mode 100644 core/core/src/docs/rfcs/7130_route_layer.md
copy core/{services/foundationdb => layers/foyer}/Cargo.toml (83%)
copy core/{core/src/raw/oio/delete/one_shot_delete.rs =>
layers/foyer/src/deleter.rs} (51%)
copy core/{services/opfs/src/config.rs => layers/foyer/src/error.rs} (61%)
create mode 100644 core/layers/foyer/src/full.rs
create mode 100644 core/layers/foyer/src/lib.rs
create mode 100644 core/layers/foyer/src/writer.rs
copy core/layers/{mime-guess => route}/Cargo.toml (89%)
create mode 100644 core/layers/route/src/lib.rs
copy fixtures/memcached/{docker-compose-memcached.yml =>
docker-compose-memcached-unix.yml} (70%)