This is an automated email from the ASF dual-hosted git repository.
psiace pushed a change to branch port-6618
in repository https://gitbox.apache.org/repos/asf/opendal.git
from 52795adda Merge branch 'main' into port-6618
add 3eb5cd99b refactor: Register services only in opendal (#7093)
add a76040c6e feat: Binding Java's createInputStream and
createOutputStream to support options (#7097)
add 76272ec4a refactor(core): Optimize Writer::write_from to avoid extra
copy (#7098)
add 0a71f4495 docs: Correcting errors in the c-bindings README example
(#7100)
add 394fe8726 feat(services/webdav): Add user defined metadata support
(#7074)
add ce8f158a0 chore(layer/fastmetrics): upgrade fastmetrics to v0.5.1
(#7104)
add 18fa9fe95 chore(layers): unify layer crates and gate dtrace on linux
(#7094)
add 59d84c2eb chore: volunteer to review all PRs (#7111)
add e2b179475 chore: no need Error::map method (#7110)
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 fde3c82b8 Merge branch 'main' into port-6618
No new revisions were added by this update.
Summary of changes:
.github/CODEOWNERS | 2 +-
.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/README.md | 4 +-
bindings/c/include/opendal.h | 95 +++
bindings/c/src/lib.rs | 5 +
bindings/c/src/operator.rs | 2 +
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/cpp/src/async.rs | 2 +
bindings/cpp/src/lib.rs | 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/java/src/lib.rs | 20 +
.../src/main/java/org/apache/opendal/Operator.java | 21 +-
.../org/apache/opendal/OperatorInputStream.java | 6 +-
.../org/apache/opendal/OperatorOutputStream.java | 10 +-
bindings/java/src/operator.rs | 20 +-
bindings/java/src/operator_input_stream.rs | 17 +-
bindings/java/src/operator_output_stream.rs | 10 +-
.../test/OperatorInputOutputStreamTest.java | 42 ++
bindings/python/Cargo.toml | 7 +-
bindings/python/src/options.rs | 125 +++-
core/Cargo.lock | 731 +++++++++++++++-----
core/Cargo.toml | 20 +-
core/benches/vs_s3/Cargo.toml | 2 +-
core/core/Cargo.toml | 13 +-
core/core/src/blocking/operator.rs | 31 +
.../core/src/docs/performance/http_optimization.md | 2 +-
...er_integration.md => 6370_foyer_integration.md} | 0
core/core/src/docs/rfcs/6828_core.md | 2 +-
core/core/src/docs/rfcs/7130_route_layer.md | 214 ++++++
core/core/src/docs/rfcs/mod.rs | 4 +
core/core/src/docs/upgrade.md | 13 +-
core/core/src/layers/complete.rs | 58 +-
core/core/src/services/memory/mod.rs | 8 +-
core/core/src/services/mod.rs | 2 -
core/core/src/types/context/write.rs | 48 +-
core/core/src/types/error.rs | 8 -
core/core/src/types/operator/registry.rs | 16 +-
core/core/src/types/write/writer.rs | 56 +-
.../Cargo.toml | 2 +-
.../src/main.rs | 23 +-
core/fuzz/Cargo.toml | 2 +-
core/layers/async-backtrace/src/lib.rs | 38 +-
core/layers/await-tree/src/lib.rs | 25 +-
core/layers/capability-check/src/lib.rs | 52 +-
core/layers/chaos/src/lib.rs | 23 +-
core/layers/concurrent-limit/Cargo.toml | 2 +-
core/layers/concurrent-limit/src/lib.rs | 22 +-
core/layers/dtrace/Cargo.toml | 7 +-
core/layers/dtrace/src/lib.rs | 43 +-
core/layers/fastmetrics/Cargo.toml | 2 +-
core/layers/fastmetrics/src/lib.rs | 32 +-
core/layers/fastrace/Cargo.toml | 2 +-
core/layers/fastrace/src/lib.rs | 23 +-
core/{services/cacache => layers/foyer}/Cargo.toml | 17 +-
core/layers/foyer/src/lib.rs | 630 ++++++++++++++++++
core/layers/hotpath/Cargo.toml | 2 +-
core/layers/hotpath/src/lib.rs | 24 +-
core/layers/immutable-index/Cargo.toml | 5 +-
core/layers/immutable-index/src/lib.rs | 46 +-
core/layers/logging/src/lib.rs | 16 +-
core/layers/metrics/src/lib.rs | 20 +-
core/layers/mime-guess/src/lib.rs | 65 +-
core/layers/observe-metrics-common/Cargo.toml | 5 +-
core/layers/observe-metrics-common/src/lib.rs | 35 +-
core/layers/otelmetrics/Cargo.toml | 2 +-
core/layers/otelmetrics/src/lib.rs | 8 +-
core/layers/oteltrace/src/lib.rs | 20 +-
core/layers/prometheus-client/Cargo.toml | 2 +-
core/layers/prometheus-client/src/lib.rs | 19 +-
core/layers/prometheus/Cargo.toml | 2 +-
core/layers/prometheus/src/lib.rs | 22 +-
core/layers/retry/Cargo.toml | 11 +-
core/layers/retry/src/lib.rs | 115 ++--
core/layers/{hotpath => route}/Cargo.toml | 10 +-
core/layers/route/src/lib.rs | 435 ++++++++++++
core/layers/tail-cut/src/lib.rs | 35 +-
core/layers/throttle/Cargo.toml | 2 +-
core/layers/throttle/src/lib.rs | 22 +-
core/layers/timeout/Cargo.toml | 2 +-
core/layers/timeout/src/lib.rs | 32 +-
core/layers/tracing/src/lib.rs | 46 +-
core/services/aliyun-drive/Cargo.toml | 3 +-
core/services/aliyun-drive/src/lib.rs | 10 +-
core/services/alluxio/Cargo.toml | 1 -
core/services/alluxio/src/lib.rs | 10 +-
core/services/azblob/Cargo.toml | 1 -
core/services/azblob/src/lib.rs | 10 +-
core/services/azdls/Cargo.toml | 1 -
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/azdls/src/lib.rs | 10 +-
core/services/azfile/Cargo.toml | 1 -
core/services/azfile/src/lib.rs | 10 +-
core/services/b2/Cargo.toml | 3 +-
core/services/b2/src/lib.rs | 10 +-
core/services/cacache/Cargo.toml | 1 -
core/services/cacache/src/lib.rs | 6 +-
core/services/cloudflare-kv/Cargo.toml | 1 -
core/services/cloudflare-kv/src/lib.rs | 6 +-
core/services/compfs/Cargo.toml | 8 +-
core/services/compfs/src/lib.rs | 6 +-
core/services/cos/Cargo.toml | 1 -
core/services/cos/src/lib.rs | 10 +-
core/services/d1/Cargo.toml | 1 -
core/services/d1/src/lib.rs | 6 +-
core/services/dashmap/Cargo.toml | 1 -
core/services/dashmap/src/lib.rs | 6 +-
core/services/dbfs/Cargo.toml | 1 -
core/services/dbfs/src/lib.rs | 6 +-
core/services/dropbox/Cargo.toml | 3 +-
core/services/dropbox/src/lib.rs | 6 +-
core/services/etcd/Cargo.toml | 1 -
core/services/etcd/src/lib.rs | 6 +-
core/services/foundationdb/Cargo.toml | 1 -
core/services/foundationdb/src/lib.rs | 6 +-
core/services/fs/Cargo.toml | 1 -
core/services/fs/src/lib.rs | 9 +-
core/services/ftp/Cargo.toml | 1 -
core/services/ftp/src/lib.rs | 10 +-
core/services/gcs/Cargo.toml | 1 -
core/services/gcs/src/lib.rs | 6 +-
core/services/gdrive/Cargo.toml | 3 +-
core/services/gdrive/src/lib.rs | 10 +-
core/services/ghac/Cargo.toml | 1 -
core/services/ghac/src/core.rs | 4 +-
core/services/ghac/src/lib.rs | 10 +-
core/services/ghac/src/writer.rs | 2 +-
core/services/github/Cargo.toml | 1 -
core/services/github/src/lib.rs | 10 +-
core/services/github/src/mod.rs | 6 -
core/services/gridfs/Cargo.toml | 3 +-
core/services/gridfs/src/lib.rs | 6 +-
core/services/hdfs-native/Cargo.toml | 1 -
core/services/hdfs-native/src/lib.rs | 10 +-
core/services/hdfs/Cargo.toml | 1 -
core/services/hdfs/src/backend.rs | 1 +
core/services/hdfs/src/deleter.rs | 8 +-
core/services/hdfs/src/lib.rs | 10 +-
core/services/http/Cargo.toml | 1 -
core/services/http/src/lib.rs | 6 +-
core/services/huggingface/Cargo.toml | 1 -
core/services/huggingface/src/lib.rs | 10 +-
core/services/ipfs/Cargo.toml | 1 -
core/services/ipfs/src/lib.rs | 6 +-
core/services/ipmfs/Cargo.toml | 1 -
core/services/ipmfs/src/lib.rs | 10 +-
core/services/koofr/Cargo.toml | 3 +-
core/services/koofr/src/lib.rs | 10 +-
core/services/lakefs/Cargo.toml | 1 -
core/services/lakefs/src/lib.rs | 6 +-
core/services/memcached/Cargo.toml | 1 -
core/services/memcached/src/lib.rs | 6 +-
core/services/mini_moka/Cargo.toml | 1 -
core/services/mini_moka/src/lib.rs | 6 +-
core/services/moka/Cargo.toml | 1 -
core/services/moka/src/lib.rs | 6 +-
core/services/mongodb/Cargo.toml | 3 +-
core/services/mongodb/src/lib.rs | 10 +-
core/services/monoiofs/Cargo.toml | 3 +-
core/services/monoiofs/src/lib.rs | 6 +-
core/services/mysql/Cargo.toml | 3 +-
core/services/mysql/src/lib.rs | 10 +-
core/services/obs/Cargo.toml | 1 -
core/services/obs/src/lib.rs | 10 +-
core/services/onedrive/Cargo.toml | 3 +-
core/services/onedrive/src/lib.rs | 6 +-
core/services/opfs/Cargo.toml | 1 -
core/services/opfs/src/lib.rs | 10 +-
core/services/oss/Cargo.toml | 1 -
core/services/oss/src/lib.rs | 6 +-
core/services/pcloud/Cargo.toml | 1 -
core/services/pcloud/src/lib.rs | 6 +-
core/services/persy/Cargo.toml | 1 -
core/services/persy/src/lib.rs | 6 +-
core/services/postgresql/Cargo.toml | 3 +-
core/services/postgresql/src/lib.rs | 10 +-
core/services/redb/Cargo.toml | 1 -
core/services/redb/src/lib.rs | 6 +-
core/services/redis/Cargo.toml | 1 -
core/services/redis/src/lib.rs | 6 +-
core/services/rocksdb/Cargo.toml | 1 -
core/services/rocksdb/src/lib.rs | 10 +-
core/services/s3/Cargo.toml | 2 -
core/services/s3/src/backend.rs | 2 -
core/services/s3/src/lib.rs | 6 +-
core/services/s3/src/mod.rs | 6 -
core/services/seafile/Cargo.toml | 3 +-
core/services/seafile/src/lib.rs | 10 +-
core/services/sftp/Cargo.toml | 1 -
core/services/sftp/src/lib.rs | 6 +-
core/services/sled/Cargo.toml | 1 -
core/services/sled/src/lib.rs | 10 +-
core/services/sqlite/Cargo.toml | 3 +-
core/services/sqlite/src/lib.rs | 10 +-
core/services/surrealdb/Cargo.toml | 3 +-
core/services/surrealdb/src/lib.rs | 6 +-
core/services/swift/Cargo.toml | 1 -
core/services/swift/src/backend.rs | 6 +-
core/services/swift/src/deleter.rs | 6 +-
core/services/swift/src/lib.rs | 8 +-
core/services/tikv/Cargo.toml | 3 +-
core/services/tikv/src/lib.rs | 10 +-
core/services/upyun/Cargo.toml | 1 -
core/services/upyun/src/lib.rs | 6 +-
core/services/vercel-artifacts/Cargo.toml | 1 -
core/services/vercel-artifacts/src/lib.rs | 10 +-
core/services/vercel-blob/Cargo.toml | 1 -
core/services/vercel-blob/src/lib.rs | 10 +-
core/services/webdav/Cargo.toml | 3 +-
core/services/webdav/src/backend.rs | 47 ++
core/services/webdav/src/config.rs | 26 +
core/services/webdav/src/core.rs | 589 ++++++++++++++++-
core/services/webdav/src/lib.rs | 10 +-
core/services/webdav/src/writer.rs | 20 +
core/services/webhdfs/Cargo.toml | 3 +-
core/services/webhdfs/src/lib.rs | 10 +-
core/services/yandex-disk/Cargo.toml | 1 -
core/services/yandex-disk/src/lib.rs | 6 +-
core/src/lib.rs | 218 +++++-
core/tests/behavior/main.rs | 14 +-
integrations/object_store/Cargo.toml | 2 +-
integrations/object_store/src/store.rs | 12 +-
282 files changed, 5804 insertions(+), 1186 deletions(-)
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/cacache => layers/foyer}/Cargo.toml (83%)
create mode 100644 core/layers/foyer/src/lib.rs
copy core/layers/{hotpath => route}/Cargo.toml (89%)
create mode 100644 core/layers/route/src/lib.rs