https://opendal.apache.org/ logo
Join Discord
Powered by
# general
  • x

    Xuanwo

    06/03/2025, 7:07 AM
    Ok, let me tell the truth. OpenDAL is fully community supported and not backed by a business company. So we are not hiring any people, instead, we are open to all kinds of contributions.
  • x

    Xuanwo

    06/03/2025, 7:08 AM
    That’s said that, we don’t have a dev team, we only have a dev community.
  • w

    wlinna

    06/05/2025, 4:51 AM
    Hello, has anyone here dealt with a problem where OpenDAL apparently does NOT set headers for a file in GCS? It works for most files, but for some reason when I upload this one file, Content-Type, Content-Encoding and publicRead ACL is not set. I get no errors, these headers are just silently left unwritten, and it happens every time
  • x

    Xuanwo

    06/05/2025, 5:28 AM
    What's the filename for that file?
  • w

    wlinna

    06/05/2025, 5:29 AM
    model_opt.glb
  • x

    Xuanwo

    06/05/2025, 5:30 AM
    Is the only difference that this file can't be written? How large is the file?
  • w

    wlinna

    06/05/2025, 5:30 AM
    I have no trouble with other model_opt.glb files though, just for this one (so far)
  • w

    wlinna

    06/05/2025, 5:30 AM
    The final compressed size is about 9.3 MiB
  • x

    Xuanwo

    06/05/2025, 5:32 AM
    I see.
  • x

    Xuanwo

    06/05/2025, 5:32 AM
    https://github.com/apache/opendal/blob/main/core/src/services/gcs/writer.rs#L77
  • x

    Xuanwo

    06/05/2025, 5:32 AM
    I think it's a bug that we didn't carry the
    OpWrite
    in
    gcs_initiate_multipart_upload
  • x

    Xuanwo

    06/05/2025, 5:33 AM
    We should set them while starting the upload process.
  • x

    Xuanwo

    06/05/2025, 5:57 AM
    It's worth to add a test to set content-type for a large file, like 16MiB
  • w

    wlinna

    06/05/2025, 6:26 AM
    That makes sense, another file that is 27.6 MiB large does not have headers either.. I just didn't notice it at first, because it was supposed to be private anyway
  • w

    wlinna

    06/05/2025, 6:27 AM
    Maybe a workable stopgap solution would be to upload the whole file in one... only, I am afraid to compress whole files instead of streaming compression
  • w

    wlinna

    06/05/2025, 6:28 AM
    Or is there an actual good and quick fix here?
  • x

    Xuanwo

    06/05/2025, 6:28 AM
    You can try op.write_with(path).chunk(128MiB).await;
  • x

    Xuanwo

    06/05/2025, 6:29 AM
    This can ensure that all files under 128MiB will upload in oneshot.
  • w

    wlinna

    06/05/2025, 6:33 AM
    I meant a bug fix, not a workaround
  • x

    Xuanwo

    06/05/2025, 6:33 AM
    o, bug fix is easy.
  • x

    Xuanwo

    06/05/2025, 6:33 AM
    https://github.com/apache/opendal/blob/37efe24235388788b892f46e4101d59ecd37918c/core/src/services/gcs/writer.rs#L77
  • x

    Xuanwo

    06/05/2025, 6:34 AM
    Like what we do in
    gcs_insert_object_request
    , add
    OpWrite
    for this function and set the correct header.
  • w

    wlinna

    06/05/2025, 6:46 AM
    Okay, thanks. Will probably try that next week
  • x

    Xuanwo

    06/05/2025, 6:46 AM
    Thank you in advance!
  • w

    wlinna

    06/10/2025, 4:21 AM
    I submitted a PR. I felt lazy, so I packaged a fix for another breaking but small-scale bug. I hope you don't mind https://github.com/apache/opendal/pull/6275
  • x

    Xuanwo

    06/10/2025, 4:21 AM
    Great work!
  • w

    wlinna

    06/10/2025, 4:22 AM
    I tested this on our project, and the headers now work on multipart upload with these changes, as does the presign feature
  • x

    Xuanwo

    06/10/2025, 4:23 AM
    That's nice.
  • w

    wlinna

    06/10/2025, 4:24 AM
    My PR also adds custom metadata in multipart upload, but I didn't test that part since I have never used them
  • b

    benn

    07/14/2025, 2:01 PM
    hi, I am trying to use the http operator in the python bindings to access a url with a custom certificate, but i get:
    Copy code
    error sending request for url (https://internal/index.html): client error (Connect): invalid peer certificate: UnknownIssuer
    with:
    Copy code
    python3 -c "from opendal import Operator; print(Operator('http', endpoint='https://internal').read('index.html').decode().splitlines()[0])"
    I have added the certificate to the system, and it works with curl, but I can't get it to work. It seems to be related to the features enabled by reqwest, but I guess I can't control from the python library? Is there any way around this?