The vespa nodes share the network vespanet and the vespa configserver is up and healthy.
The result however is:
$ docker logs marqo-vespa
External vector store configured. Using external vector store
Starting Marqo throttling
Called Marqo throttling start command
Marqo throttling is now running
ERROR:marqo.tensor_search.on_start_script:Failed to bootstrap vector store. If you are using an external vector store, ensure that Marqo is configured properly for this. See https://docs.marqo.ai/2.11/Guides/Advanced-Usage/configuration/ for more details. Error: Application 'default.default' has no active session.
I presume I am missing some additional configuration parameters. Can you point out my error?
(And apologies for double-posting, I seem to have created this post as a message first, now as a topic)
Hello @rcking. Thanks for experimenting the docker compose solution to set up Marqo in production. Could you also share the config of Vespa in your docker-compose file? Is the Vespa running and have you deployed an application package to it?
OK, my key understanding is that the “basic” vespa application configuration must be established before starting marqo.
The marqo class index_management.py then downloads and modifies this configuration, addiing all of the necessary marqo-specific schema.
I solved the issue (I think! At least I was able to start marqo and create and populate a new index) by creating an emphermal container that starts after the vespa configserver and loads the application configuration, whereby marqo only starts after this container has successfully closed.
Hello @rcking . Sorry for the late reply. Your understanding is correct. We only auto deploy an application package if you use the embedded Vespa in Marqo. For external Vespa, you will need to deploy an application package first. The reason is that Marqo does not have enough information to config Vespa nodes in hosts.xml and services.xml file. I’ll update the documents to clarify this. Thanks for exploring and sharing your findings.