Observe that <document-api> and <search>
are located in separate clusters in the second example, and endpoints are therefore different.
Important:
The first thing to validate when troubleshooting query errors
is to make sure that the endpoint is correct, i.e. that query requests hit the correct nodes.
A query will be written to the access log
on one of the nodes in the container cluster
Inspecting Vespa Java Services using JConsole
Determine the state of each running Java Vespa service using JConsole.
JConsole is distributed along with the Java developer kit.
Start JConsole:
$ jconsole <host>:<port>
where the host and port determine which service to attach to.
For security purposes the JConsole tool can not directly attach to Vespa services from external machines.
Connecting to a Vespa instance
To attach a JConsole to a Vespa service running on another host,
create a tunnel from the JConsole host to the Vespa service host.
This can for example be done by setting up two SSH tunnels as follows:
where the resulting RMIREGISTRY and JMX lines determine port1 and port2, respectively.
Examining thread states
The state of each container is available in JConsole by pressing the Threads tab
and selecting the thread of interest in the threads list.
Threads of interest includes search, connector, closer, transport and
acceptor (the latter four are used for backend communications).