MarkLogic 9 Product Documentation
XDBCServer Configuration Help
An XDBC
Server is an App Server that accepts requests from an
XCC or XDBC client and returns the results to the client.
-
server name
specifies the name of the XDBC Server.
-
root
specifies the modules root directory.
-
port specifes
the socket port for the HTTP server.
-
modules
specifies the name of the database in which this HTTP server locates
XQuery application code. If set to (file system), then any files in the
specified root directory are
executable (given the proper permissions). If set to a database,
then any documents in the database whose URI begins with the specified
root directory are executable.
-
database
specifies the database to which this App Server connects for query
execution.
-
last login
specifies the name of the database in which this HTTP server stores
users' last login information.
-
display last
login specifies if the
xdmp:display-last-login
API should return true or
false in the display-last-login
element.
-
address
specifies the IP address for the App Server.
-
backlog
specifies the maximum number of pending connections allowed on the
HTTP server socket.
-
threads
specifies the maximum number of App Server threads.
-
request
timeout specifies the maximum number of seconds before a
socket receives a timeout for the first request.
-
keep alive
timeout
specifies the maximum number of seconds before a socket receives a
timeout for subsequent requests over the same connection.
-
session
timeout specifies the maximum number of seconds before a session
times out.
-
max time limit
specifies the upper bound for any request's time limit.
No request may set its time limit (for example with
xdmp:set-request-time-limit
) higher than this number.
The time limit, in turn, is the maximum number of seconds allowed for
servicing a query request. The App Server gives up on queries which
take longer, and returns an error.
-
default
time limit
specifies the default value for any request's time limit,
when otherwise unspecified.
A request can change its time limit using
xdmp:set-request-time-limit
.
The time limit, in turn, is the maximum number of seconds allowed for
servicing a query request. The App Server gives up on queries which
take longer, and returns an error.
-
pre-commit trigger
limit specifies the maximum number of pre-commit triggers
a single statement against this App Server can invoke.
-
pre-commit trigger
depth specifies the maximum depth (how many triggers can
cause other triggers to fire, which in turn cause others to
fire, and so on) for pre-commit triggers that are executed
against this App Server.
-
collation
specifies the default collation for queries run in this appserver.
This will be the collation used for string comparison and sorting
if none is specified in the query.
-
internal-security
specifies whether security database is used for authentication and authorization
if the user is found in the security database.
-
external
authentication specifies an external security config.
-
privilege
specifies the execute privilege required to access the server.
-
concurrent request
limit specifies the maximum number of requests any user may have
running at a specific time. 0 indicates no maximum.
-
log-errors
specifes whether to log uncaught errors for this App Server to the
ErrorLog.txt
file. This is useful to log exceptions
that might occur on an App Server for later debugging.
-
debug-allow
specifies whether to allow requests against this App Server to be
stopped for debugging, using the MarkLogic Server debugging APIs.
-
profile-allow
specifies whether to allow requests against this App Server to be
profiled, using the MarkLogic Server profiling APIs.
-
default-xquery-version
specifies the default XQuery language for this App Server
if an XQuery module does explicitly declare its language version.
-
multi version concurrency control
specifies how the latest timestamp is chosen for lock-free queries.
When set to
contemporaneous
, the server chooses the
latest timestamp for which any transaction is known to
have committed, even though there still may be other transactions
for that timestamp that have not yet fully committed. Queries will
see more timely results, but may block waiting for contemporaneous
transactions to fully commit.
When set to nonblocking
, the server chooses the latest
timestamp for which all transactions are known to have
committed, even though there may be a slightly later timestamp for
which another transaction has committed. Queries won't block
waiting for transactions, but they may see less timely results.
-
distribute timestamps
specifies how the latest timestamp is distributed after
updates. This affects performance of updates and the
timeliness of read-after-write query results from other hosts
in the group.
When set to fast
, updates return as quicky as
possible. No special timestamp notification messages are
broadcasted to other hosts. Instead, timestamps are
distributed to other hosts when any other message is sent.
The maximum amount of time that could pass before other hosts
see the timestamp is one second, because a heartbeat message
is sent to other hosts every second.
When set to strict
, updates immediately broadcast
timestamp notification messages to every other host in the
group. Updates do not return until their timestamp has been
distributed. This ensures timeliness of read-after-write
query results from other hosts in the group.
-
ssl certificate template
specifies the certificate template for the App Server. When
a certificate template is specified, the App Server uses an SSL
encrypted protocol (e.g. https, davs, xccs). The certificate
template specifies the common information for the individual SSL
certificates needed for each host in the group.
-
ssl hostname
specifies the hostname for the server's SSL certificate. This is
useful when many servers are running behind a load balancer. If not
specified, each host will use a certificate for its own hostname.
-
ssl ciphers
specifies the SSL ciphers that may be used.
-
ssl require client certificate
specifies whether a client certificate is required when connecting
to this application server.
-
ssl client certificate authorities
enables mutual authentication, where the client also holds a digital
certificate that it sends to the server. Select which certificate authority
is to be used to sign client certificates for the server.
Buttons and Tabs:
- The
Summary
tab displays a list of all of the currently configured App Servers,
along with the configuration information for each App Server.
- The
Configure
tab is where you change App Server settings.
- The
Status
tab displays current information on all App Servers in the
group, including query activity. You can cancel currently running
queries on the App Server status page.
- Use the
Create HTTP,
Create WebDAV,
Create XDBC, and
Create ODBC
tabs to create new App Servers of the appropriate type.
HTTP servers service XQuery and HTTP requests over HTTP,
WebDAV servers allow access to a database via a WebDAV client,
and XDBC servers service requests from XCC or XDBC clients.