refactor: Migrate cloudflare_kv from adapter::kv to Access instead
Which issue does this PR close?
Part https://github.com/apache/opendal/issues/5739
Rationale for this change
Part https://github.com/apache/opendal/issues/5739
What changes are included in this PR?
Migrate cloudflare_kv from adapter::kv to Access instead
Are there any user-facing changes?
The free Cloudflare account seems to trigger timeouts easily, which causes test failures.
Should key-value stores support create_dir? Many tests assume create_dir is available by default, which leads to test failures.
The bulk/get API seems to have issues—it consistently returns a 400 error regardless of how it’s called. Therefore, I’ve switched to using individual get requests combined with metadata to perform reads.
Cloudflare’s kv rest api has strict limitations, and it’s very easy to hit timeouts, which often causes test failures.
Due to the limitations of the free Cloudflare account, it is not possible to run all behavior tests successfully. However, I have verified that all tests pass locally.
Hi, do you have interest to take a look over this error?
https://github.com/apache/opendal/actions/runs/17574060053/job/49915435369
Cargo build completed successfully
Copying ../c/target/debug/libopendal_c.a to lib/libopendal_c.a
Linking opendal-test-unittest
Running opendal-test-unittest
object.Exception@source/opendal/operator.d(39): Failed to create Operator
----------------
/opt/hostedtoolcache/dmd/2.111.0/x64/dmd2/linux/bin64/../../src/phobos/std/exception.d:521 pure @safe noreturn std.exception.bailOut!(Exception).bailOut(immutable(char)[], ulong, scope const(char)[]) [0x55c104bc21df]
/opt/hostedtoolcache/dmd/2.111.0/x64/dmd2/linux/bin64/../../src/phobos/std/exception.d:442 pure @safe bool std.exception.enforce!().enforce!(bool).enforce(bool, lazy const(char)[], immutable(char)[], ulong) [0x55c104bc215e]
source/opendal/operator.d:39 ref @trusted opendal.operator.Operator opendal.operator.Operator.__ctor(immutable(char)[], opendal.operator.OperatorOptions, bool) [0x55c104bc146d]
source/opendal/package.d:56 @safe void opendal.__unittest_L46_C8() [0x55c104bdb009]
??:? void opendal.__modtest() [0x55c104bdb9c5]
??:? int core.runtime.runModuleUnitTests().__foreachbody_L603_C5(object.ModuleInfo*) [0x55c1054e92a2]
??:? int object.ModuleInfo.opApply(scope int delegate(object.ModuleInfo*)).__lambda_L2467_C13(immutable(object.ModuleInfo*)) [0x55c1054d38bb]
??:? int rt.minfo.moduleinfos_apply(scope int delegate(immutable(object.ModuleInfo*))).__foreachbody_L582_C5(ref rt.sections_elf_shared.DSO) [0x55c1054df02f]
??:? int rt.sections_elf_shared.DSO.opApply(scope int delegate(ref rt.sections_elf_shared.DSO)) [0x55c1054df0c1]
??:? int rt.minfo.moduleinfos_apply(scope int delegate(immutable(object.ModuleInfo*))) [0x55c1054defbd]
??:? int object.ModuleInfo.opApply(scope int delegate(object.ModuleInfo*)) [0x55c1054d388d]
??:? runModuleUnitTests [0x55c1054e90d7]
??:? void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).runAll() [0x55c1054dd844]
??:? void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0x55c1054dd7d1]
??:? _d_run_main2 [0x55c1054dd73a]
??:? _d_run_main [0x55c1054dd523]
/opt/hostedtoolcache/dmd/2.111.0/x64/dmd2/linux/bin64/../../src/druntime/import/core/internal/entrypoint.d:29 main [0x55c104bbc96d]
??:? [0x7feec202a1c9]
??:? __libc_start_main [0x7feec202a28a]
??:? _start [0x55c104bbc544]
1/1 modules FAILED unittests
Don't know much about this D language, I'll try to see if Ai can fix it.