Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: S3 storage doesn't work with index node (curlCode: 3, URL using bad/illegal format or missing URL) #25748

Closed
1 task done
mkotsalainen opened this issue Jul 19, 2023 · 9 comments
Assignees
Labels
kind/bug Issues or changes related a bug stale indicates no udpates for 30 days triage/accepted Indicates an issue or PR is ready to be actively worked on.
Milestone

Comments

@mkotsalainen
Copy link

Is there an existing issue for this?

  • I have searched the existing issues

Environment

- Milvus version: v2.2.10 - Helm chart 4.0.25
- Deployment mode(standalone or cluster): cluster

Current Behavior

After switching to S3 storage from Minio I can’t index my data any more. I see that data gets into s3 the bucket and it shows up in milvus-attu but when I try to load the collection nothing happens. When I check the logs I see this:

indexnode [2023/07/19 07:21:06.702 +00:00] [WARN] [indexcgowrapper/helper.go:76] ["failed to create index, C Runtime Exception: [UnexpectedError] Error:GetObjectS
ize:  curlCode: 3, URL using bad/illegal format or missing URL\n"]

These are my Heml chart settings (I use IRSA roles for s3 access)

milvus:
  externalS3:
    enabled: true
    bucketName: xxx-milvus
    host: s3.eu-west-1.amazonaws.com
    useIAM: true
  minio:
    enabled: false

Because of this error the indexnode keeps crashing. I wonder if this is related to: #25725 - they mention S3 also but they have a different stack trace.

Expected Behavior

when I index my data it should work

Steps To Reproduce

Use the 4.0.25 Helm chart and try to store data to S3.

Milvus Log

No response

Anything else?

No response

@mkotsalainen mkotsalainen added kind/bug Issues or changes related a bug needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Jul 19, 2023
@yanliang567
Copy link
Contributor

/assign @jiaoew1991
/unassign

@yanliang567 yanliang567 added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Jul 19, 2023
@yanliang567 yanliang567 added this to the 2.2.12 milestone Jul 19, 2023
@zhagnlu
Copy link
Contributor

zhagnlu commented Jul 19, 2023

Could you provide all logs ?

@zhagnlu
Copy link
Contributor

zhagnlu commented Jul 19, 2023

Could you check S3 is using virtual hosting bucket or path bucket mode ? For now, We just support path bucket mode, next release will support virtual hosting bucket mode

@jiaoew1991
Copy link
Contributor

/assign @zhagnlu
/unassign

@sre-ci-robot sre-ci-robot assigned zhagnlu and unassigned jiaoew1991 Jul 20, 2023
@mkotsalainen
Copy link
Author

Sorry for late reply!

Could you check S3 is using virtual hosting bucket or path bucket mode ? For now, We just support path bucket mode, next release will support virtual hosting bucket mode

It looks like it is virtual hosted mode. This is the url I get when I copy url of a file https://xxx-milvus.s3.eu-west-1.amazonaws.com/file.txt Can I change this setting on the bucket somehow? I've just created this bucket with Terraform and created IRSA role so pod service account can access the bucket.

I've included complete logs of the indexnode.
logs.txt

What I find strange is that data nodes don't seem to have this problem?

@yanliang567 yanliang567 modified the milestones: 2.2.12, 2.2.13 Aug 4, 2023
@zhagnlu
Copy link
Contributor

zhagnlu commented Aug 15, 2023

Sorry for late reply!

Could you check S3 is using virtual hosting bucket or path bucket mode ? For now, We just support path bucket mode, next release will support virtual hosting bucket mode

It looks like it is virtual hosted mode. This is the url I get when I copy url of a file https://xxx-milvus.s3.eu-west-1.amazonaws.com/file.txt Can I change this setting on the bucket somehow? I've just created this bucket with Terraform and created IRSA role so pod service account can access the bucket.

I've included complete logs of the indexnode. logs.txt

What I find strange is that data nodes don't seem to have this problem?

Sorry for late reply too, as you say, need virtual host mode to support. 2.2.12 have supported it, you can try it. To use this mode, need to change milvus.yaml configs. as show below :
image

@mkotsalainen
Copy link
Author

Aha but how do I add the useVirtualHost parameter via helm chart - it doesn't seem to be exposed as a parameter?

https://github.com/milvus-io/milvus-helm/blob/bd9a12da01363b69004356091d81f122a498b77e/charts/milvus/values.yaml#L429

Something else that I don't understand - should I configure minio if I have enabled externalS3? Aren't they mutuall exclusive?

https://github.com/milvus-io/milvus-helm/blob/bd9a12da01363b69004356091d81f122a498b77e/charts/milvus/values.yaml#L859

@mkotsalainen
Copy link
Author

To anwer my own question last question:
https://milvus.io/docs/configure-helm.md#Modify-the-configuration-file

I can't get virtual host mode to work however. I'm running v2.2.13

@stale
Copy link

stale bot commented Sep 19, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Rotten issues close after 30d of inactivity. Reopen the issue with /reopen.

@stale stale bot added the stale indicates no udpates for 30 days label Sep 19, 2023
@stale stale bot closed this as completed Sep 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Issues or changes related a bug stale indicates no udpates for 30 days triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests

4 participants