Embedded Weaviate Port 6060

Hi all,

I am using Embedded Weaviate (version 1.21), via python client on a shared machine. When running Weaviate in embedded mode, it listens to a number of ports. One of them is port 6060, which is apparently used for Go profiling. I don’t need to do profiling and it is problematic if multiple instance of Weaviate are running

Is it possible to disable Go profiling or assign a different port number than 6060?

Hi @AN_Colab !! Welcome to our community!! :hugs:

You can pass some parameters to Weaviate EmbeddedOptions:

https://weaviate-python-client.readthedocs.io/en/stable/weaviate.html#weaviate.EmbeddedOptions

like so:

import weaviate
from weaviate import EmbeddedOptions

client = weaviate.Client(
    embedded_options=EmbeddedOptions(port=1234)
)

But please, bear in mind that Weaviate Embedded is marked as experimental, and should not be used in production.

Let me know if that helps :slight_smile:

Thank you !
I am indeed using the way you suggested to pass parameter.
Unfortunately, I couldn’t figure out the parameter to change port 6060.
The port parameter changes the HTTP port, also there is a parameter to change the GRPC port, but there is nothing to to change this profiling port (or to disable profiling).

Oh, I see. I don’t think this is possible with the embedded option as you have limited options when starting an Embedded Weaviate instance.

I believe docker compose is the best option here, as you will be able to have a better control on port mappings.

1 Like

Just answering for future reference. I haven’t tested it, but you could try disabling Go profiling altogether. At least with v4.

import weaviate

client = weaviate.connect_to_embedded(
    environment_variables={"DISABLE_GO_PROFILING": "true"},
)

hi @Guillermo_Ripa !! Welcome to our community :hugs:

Ohhhh. Now I see! Nice catch!

the port 6060 comes from the Go profiling!

It took me some time to figure out that this env var was wrong in our docs :grimacing:

So this will work:

client = weaviate.connect_to_embedded(
    environment_variables={"GO_PROFILING_DISABLE": "true"},
)

Thanks for pointing it out!

Here is the PR: Add correct go profiling env vars by dudanogueira · Pull Request #2480 · weaviate/weaviate-io · GitHub

1 Like