This chapter provides guidelines and warnings for preparing for changes expected in a future release, such as announcements of deprecated interfaces. You are not required to make changes related to the topics in this section at this time, but you should plan to do so in the future.
The Hadoop Connector is deprecated starting with MarkLogic release 9.0-12 and is removed from the product in a 9.0-13.
In MarkLogic 9, the Packaging API has been deprecated. It will be removed from the product in MarkLogic 10.
The following table lists the deprecated endpoints and the new alternative.
Deprecated Endpoints | Alternative |
---|---|
Base path /manage/v2/packages :
|
Use the following endpoints of CMA REST API instead: For more details, see .Configuration Management API (CMA) REST Endpoints. |
Base path /manage/v2/tickets : |
The XQuery library modules in the info
and infodev
namespaces are deprecated as of MarkLogic 9 and will be removed from the product in a future release. For example, the functions info:ticket and infodev:ticket-create are deprecated.
The search:parse XQuery function and search.parse Server-Side JavaScript functions can return an annotated cts:query
if you pass in "cts:annotated-query"
as the output format parameter value. As of MarkLogic 9, use of "cts:annotated-query"
is deprecated. Support for this format will be removed in a future release.
If you currently use the annotated query output as an intermediate step in a transformation, you should use the structured query ("search:query"
) output format instead. Runtime modification of queries is a primary use case for structured query. For more details, see Searching Using Structured Queries in the Search Developer's Guide.
If you currently use the annotated query output format to recover the original query text using search:unparse, you should cache the original query text yourself.
Customizing the string query grammar through the Search API grammar
query option is now deprecated. Support for this feature will be removed in a future release.
If your application currently relies on a Search API grammar customization, you should consider alternatives such as the following:
Due to security and performance considerations, beginning in MarkLogic 9.0-10, the searchable-expression
property/element in query options is deprecated.
In addition, in 9.0-10 and moving forward, the searchable-expression
requires the eval-search-string
privilege.
Before MarkLogic 11, Search API users should modify queries that use query options with searchable expressions to remove the searchable-expression
. The replacement is as follows:
The -tolerate_error
s option of the mlcp import
command is deprecated (and ignored) as of MarkLogic 9.0-2. The option will be removed in a future release. mlcp now always tolerates errors.
The XQuery prolog option xdmp:transaction-mode
is deprecated as of MarkLogic 9.0-2. Use the xdmp:commit and xdmp:update
prolog options instead.
Note that the new prolog options differ from xdmp:transaction-mode
in that they affect only the transaction create after their declaration, where as xdmp:transaction-mode
settings persist across an entire session.
The following table illustrates the correspondence between the old and new options settings.
Note that the default values for xdmp:commit and xdmp:update
are both auto, so you do not need to set this value explicitly in most cases.
For more details, see xdmp:update and xdmp:commit in the XQuery and XSLT Reference Guide.
The transaction-mode
option of the xdmp:eval XQuery function and the xdmp.eval JavaScript function is deprecated as of MarkLogic 9.0-2. Use the commit
and update
options instead. For more details, see the function reference documentation for xdmp:eval (XQuery) and xdmp.eval (JavaScript).
This option deprecation (and alternative option settings apply to the following functions:
XQuery | JavaScript |
---|---|
xdmp:eval | xdmp.eval |
xdmp:javascript-eval | xdmp.xqueryEval |
xdmp:invoke | xdmp.invoke |
xdmp:invoke-function | xdmp.invokeFunction |
xdmp:spawn | xdmp.spawn |
xdmp:spawn-function |
The following table illustrates the correspondence between the old and new option settings:
Use of Session.setTransactionMode
to specify commit semantics and transaction type is deprecated as MarkLogic 9.0-2. This function will be removed in a future version. Use the new Session.setAutoCommit
and Session.setUpdate
methods instead.
The following table illustrates how to replace calls to setTransactionMode
with equivalent calls to setAutoCommit
and setUpdate
.
Java Client API 4.0.2 introduces the following deprecations.
The com.marklogic.client.extra.httpclient.HttpClientConfigurator
interface is deprecated and will be removed in a future release. Use the new com.marklogic.client.extra.okhttpclient.OkHttpClientConfigurator
interface instead. Attaching a configurator based on HttpClientConfigurator
to a DatabaseClientFactory
object no longer has any effect on the HTTP configuration.
The single parameter version of DatabaseClientFactory.SecurityContext.withSSLContext
has been deprecated and will be removed in a future release. Instead, use the new version that requires an X509TrustManager
as its second parameter. This change affects all classes that implement DatabaseClientFactory.SecurityContext
, such as DatabaseClientFactory.CertificateAuthContext
, DatabaseClientFactory.KerberosAuthContext
, and DatabaseClientFactory.DigestAuthContext
.
Java Client API 4.0.4 deprecates the following interfaces:
The Java Client API interfaces for configuration namespace bindings are deprecated as of version 4.0.4 and will be removed in a future release.
Instead, you should use the REST Management API to define namespace bindings for your App Server. For details, see the namespaces
property of the payload for PUT:/manage/v2/servers/{id|name}/properties
.
This deprecation notice affects the following components of the Java Client API:
The method QueryBatcher.getQuerySuccessListeners
is deprecated as of Java Client API 4.0.0 and will be removed in a future release. Use QueryBatcher.getUrisReaderListeners
instead.
Both methods do the same thing in the same way. You do not need to change anything but the method name.
The REST Client API methods for configuring namespace bindings are deprecated as of MarkLogic 9.0-5 and will be removed in a future release.
Instead, you should use the REST Management API to define namespace bindings for your App Server. For details, see the namespaces
property of the payload for PUT:/manage/v2/servers/{id|name}/properties
.
This deprecation notice affects the following methods of the REST Client API:
In MarkLogic 9.0-5, the Configuration Packaging XQuery API library has been deprecated. It will be removed from the product in a future release.
The following table lists the deprecated methods and the new alternative.
Deprecated Methods | Alternative |
---|---|
Configuration Packaging (pkg:) library:
|
Use the following methods of For more details, see Configuration Management API (CMA) XQuery and JavaScript Libraries. |
The Configuration Manager tool is deprecated starting with MarkLogic 9.0-5 and removed from MarkLogic Server in version 10.0-3.