Skip to content

[Bug]: BulkWriter fails after upgrading MinIO to 7.2.19 #3103

@acnazarejr

Description

@acnazarejr

Is there an existing issue for this?

  • I have searched the existing issues

Describe the bug

After upgrading the MinIO Python SDK (minio package) to version 7.2.19, the BulkWrite workflow in pymilvus started throwing an exception related to bucket_exists() receiving an unexpected number of arguments.

This issue did not occur with MinIO 7.2.18, and downgrading back to 7.2.18 fixes the problem.

Expected Behavior

BulkWrite should upload files successfully, as it does when using MinIO 7.2.18.

Actual Behavior

Upload fails with an exception indicating that bucket_exists() is being called with an incorrect number of arguments.

Steps/Code To Reproduce behavior

1. Install `minio==7.2.19`
2. Run a `BulkWrite` operation using `pymilvus`
3. Observe the failure during upload due to `bucket_exists()` signature mismatch

Environment details

- pymilvus version: 2.6.3
- minio version: 7.2.19 (fails)
- minio version: 7.2.18 (works)
- Python version: 3.11
- OS: Ubuntu

Temporary Workaround

Pinning MinIO to version 7.2.18 resolves the issue:

minio==7.2.18

Anything else?

Error Traceback:

Exception in thread Thread-1:
Traceback (most recent call last):
  File "/opt/conda/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
  File "/opt/conda/lib/python3.9/threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "/tmp/venv/lib/python3.9/site-packages/pymilvus/bulk_writer/local_bulk_writer.py", line 142, in _flush
    raise e from e
  File "/tmp/venv/lib/python3.9/site-packages/pymilvus/bulk_writer/local_bulk_writer.py", line 139, in _flush
    call_back(file_list)
  File "/tmp/venv/lib/python3.9/site-packages/pymilvus/bulk_writer/remote_bulk_writer.py", line 300, in _upload
    self._throw(f"Failed to upload files, error: {e}")
  File "/tmp/venv/lib/python3.9/site-packages/pymilvus/bulk_writer/bulk_writer.py", line 117, in _throw
    raise MilvusException(message=msg)
pymilvus.exceptions.MilvusException: <MilvusException: (code=1, message=Failed to upload files, error: bucket_exists() takes 1 positional argument but 2 were given)>

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions