Issues fixed in MarkLogic Server 10.0-3
- Last Updated: April 6, 2026
- 11 minute read
- MarkLogic Server
- Documentation
Released: Jan 9, 2020
The following issues have been addressed in this release:
| Platform | Component | Bug ID | Details |
|---|---|---|---|
| all | xdmp | BUG-53721 | Separate app server http client thread pools Each app server should have its own separate and private thread pool for http client threads. Large number of http client requests made on one app server should not adversely affect any other activity. |
| all | Replication | BUG-53298 | Database replication and Cluster coupling fails with custom dictionaries When custom dictionaries are configured, Database Replication and cluster coupling fails with the local bootstrap host displaying last bootstrap = "never". |
| all | documentation | BUG-53138 | search:snippet documentation relies on stemming being enabled Documentation has been updated with an example of search that does not rely on stemming. |
| all | Encryption at REST | BUG-53631 | The REST Management API supports internal and external KMS The payloads for getting and setting security properties have been updated to reflect the fact that both internal and external KMS may be used. There is a very small backwards incompatibility here as the names of the properties returned by the call to get security properties have changed slightly. (They now include the string "-internal-") |
| all | JSON | BUG-53328 | Thesaurus expand doesn't support cts:json-property-scope-query Thesaurus expand function doesn't support cts:json-property-scope-query. |
| all | Backup/Restore | BUG-53254 | XDMP-BACKUPDIRNOTFOUND on empty Azure Storage container or S3 bucket. Database backups to the root directory of an empty Microsoft Azure Storage container or Amazon S3 bucket fails with error code XDMP-BACKUPDIRNOTFOUND. |
| all | security | BUG-53565 | Authentication other than digest encounters issues with the Logout functionality The Logout functionality in the MarkLogic AdminGUI does not work as expected when AppServers are configured with basic or application-level authentication schemes. |
| linux(64-bit) | Semantics | BUG-52764 | SPARQL query results in Segmentation Fault. A SPARQL query run against a large data set results in a Segmentation Fault. |
| EC2 | DB Cloud & Cloud Infrastructure | BUG-53466 | AWS: wait-for-startup.xsh contains a hard-coded HTTP call For the managed cluster feature, the wait-for-startup.xsh script contains a hard-coded call to the Admin GUI which assumes HTTP. This step is likely to fail consistently if the Admin GUI has been secured with SSL. |
| windows(64-bit) | xdmp | BUG-53589 | XDMP-MEMORY: Memory exhausted during merge in InMemoryStringStorage::putAtom During merge, forest gets XDMP-MEMORY: Memory exhausted and goes offline. |
| all | xdmp | BUG-53228 | Wrong arity in triggers-change-modules-database The API call trgr:triggers-change-modules-database used to accept 3 arguments, which was overly complicated. The API has been simplified to accept 2 parameters. |
| all | mlcp | BUG-53593 | MLCP user password is exposed in logs when DEBUG mode is turned on When debug mode is turned on in log4j properties, the user password, if supplied will be exposed in the console logs when any mlcp command is run. |
| all | Encryption at REST | BUG-53836 | mlecat MARKLOGIC_KMS_PASSPHRASE insecure With this release, mlecat MARKLOGIC_KMS_PASSPHRASE environment variable is no longer used; Use -p option to mlecat tool instead. |
| all | documentation | BUG-53139 | cts:triple-value-statistics provides an estimate Triple-value-statistics values are meant to be estimates. It does not, for example, account for deleted documents, does not respect security, and does not perform de-duplication. The documentation has been updated to reflect that the counts are not accurate. |
| all | Query Console | BUG-49946 | Inaccurate permissions count in Query Console An inaccurate document permissions count is displayed in Query Console under the explore tab is inaccurate for basic users |
| all | SQL | BUG-52271 | Performance of SQL IS (NOT) NULL clause on nullable columns Certain cases of SQL IS (NOT) NULL clause on nullable columns have been optimized in 10.0-3 |
| all | security | BUG-53314 | Possible xdmp.httpPost exception logs authentication information exposure In certain usage scenarios an xdmp.httpPost exception will result in authentication information being available in MarkLogic Server error logs. |
| all | Query Console | BUG-53654 | Unable to open exported Monitoring History Microsoft Excel is unable to open the xls file exported from Monitoring History |
| all | SQL | BUG-53833 | SQL queries with NOT <comparison> are slow Improves performance on constraints on columns with NOT keyword |
| all | search | BUG-53249 | Reindexer never finishes reindexing path field If a path field includes an unsearchable predicate (such as a positional constraint) and a document includes the elements at the head of the path (before the unsearchable predicate) but not the element at the end of the path, the reindexer will keep reindexing that document over and over. Example: Path: /root/branch/stem[1]/twig/leaf Document: <root><branch><stem>No leaves!</stem></branch></root> |
| all | XSLT | BUG-53158 | XSLT reports bogus XSLT-APPTEMPCTXNOTNODE Under some circumstances involving a template with a complex body that includes evaluation of an XPath that end with a value step (not a node step), XSLT may incorrectly raise the error XSLT-ATTTEMPCTXNOTNODE. This may manifest in Schematron processing also. |
| all | xdmp | BUG-53874 | A call to xdmp:document-put-metadata will not update the document if it takes place immediately after another xdmp:node-* update In the event where an operation (such as xdmp:node-insert-child is immediately followed by a call to update the document's metadata, the latter operation (xdmp:document-put-metadata) will not perform the update and will fail silently. |
| all | Geospatial | BUG-53177 | Duplicate configuration keys for certain configurations of Geospatial Region Indexes For certain configurations of Geospatial Region Indexes duplicate configuration keys are generated. Note: Upgrade to ML 9.0-5 may cause the server to reindex if it has Geospatial Region Indexes configured. |
| all | Entity Services | BUG-53198 | Calling gradle mlUpdateIndexes on artifact produced from gradle hubSaveIndexes fails The gradle call mlUpdateIndexes fails on an artifact produced from gradle hubSaveIndexes with an error saying that the lexical value "zxx" is not valid for dbprop:language. |
| all | BUG-53540 | RMA support for pseudo-functions The pseudo-functions ($database-id, etc.) previously available only in CMA are now also available in RMA. |
|
| all | mlcp | BUG-53741 | XDMP-DOCATTRVALCHAR error with mlcp export MLCP export query fails when using query filter with < character in cts query, and output type is archive. |
| all | xdmp | BUG-53794 | SVC-UTF8SEQ when calling sql:trim for strings containing non-Latin characters The sql:trim function may raise SVC-UTF8SEQ if it is called on strings containing non-Latin characters such as 'ム'. This error may manifest through calling search:suggest. |
| all | documentation | BUG-53998 | pki:authority-create-host-certificate XDMP-TOOFEWARGS pki:authority-create-host-certificate throws XDMP-TOOFEWARGS exception when optional arguments are skipped |
| all | adminGUI | BUG-53453 | Admin GUI status pages are slow on clusters with many forests. Performance improvements to status page updates on large clusters. |
| all | xdmp | BUG-53887 | Slow access to large range index The first query-constrained lexicon access to a large range-index is very slow. For range indexes with billions of entries it could take many minutes. |
| all | search | BUG-53330 | Field with disabled stemming causes word-query to miss stems also When the database is configured to have advanced stemming, but a named field is configured to disable stemming, general word queries may fail to match against secondary stems. |
| all | JSON | BUG-53610 | Null node creates false positive with cts:contains The filter of cts:json-property-value-query reports false positives when used on a document that contains null nodes. |
| all | conversion | BUG-53714 | Parts created by OpenXML pipeline don't have permissions of source The OpenXML pipeline should copy the permissions from the source document to the expanded parts, and it does not. |
| all | security | BUG-53598 | REST Management API endpoints return codes The REST Management API in 10.0-3 supports new granular privileges for creating privileges. As a consequence of this change, several endpoints now have different response codes. 1. Previously, an attempt by an unprivileged user to get the list of privileges would return a 403 response code. Now it returns 200 and an empty list of privileges. 2. Previously, an attempt by an unprivileged user to get a privilege or the properties of a privilege would return a 403 repsonse code. Now it returns 404. |
| all | xdmp | BUG-53430 | Unnecessary XDQP restarts In some situations, MarkLogic does unnecessary XDQP restarts such as when an XDQPClient is successfully sending but not receiving or when MarkLogic is shutting down. |
| all | documentation | BUG-54135 | Privileged environmental built-in function results prematurely in-lined in xdmp:invoke-function or xdmp:spawn-function. Certain privileged built-in functions that return static environmental data may be prematurely optimized out with the results in-lined as literals in code passed to xdmp:invoke-function or xdmp:spawn-function. The in-lining occurs in the outer environment not the inner environment so the execution privileges checked are of the outer environment not the inner environment. As a result, even if the inner environment does not have privileges to execute the built-in functions, no exception is thrown when the optimized code is run. |
| all | documentation | BUG-53555 | Documentation for parameter placeholder syntax in SPARQL Optic queries The original release of op:from-sparql() didn't support placeholder parameters, Now it does by extending SPARQL with syntax that distinguishes parameter placeholders from variables by using the "@" prefix token for placeholders (as in SQL). |
| all | documentation | BUG-53349 | Documentation for xdmp:database-restore doesn't provide the usage syntax The documentation for xdmp:database-restore doesn't have helpful explanations and examples on how to correctly use forest map for changing topology. |
| all | XSLT | BUG-53173 | XSLT-DEFAULTCOLL erroneously raised If an XSLT stylesheet includes a default-collations attribute with multiple collations, and any one of them is unrecognized, XSLT-DEFAULTCOLL will be raised, even if some other collation in the list is recognized. |
| all | Query Console | BUG-54040 | Query Console Auto/Raw/Profile/Explorer setting does not reset When you open a Query Console tab, the result tab should reset to Auto mode on adding a new query tab but doesn't |
| all | Query Console | BUG-52253 | Query Console shows incorrect error stack frames Query Console shows incorrect lines in the lowermost error stack frame. |
| all | Admin API | BUG-53521 | No information on the Admin GUI to show rolling upgrade status The Admin GUI doesn't show if all hosts are running the same version. And in the process of upgrading, it doesn't show which hosts are running the old version or which are running the new one. |
| linux(64-bit) | SQL | BUG-53925 | SQL sub-select unexpected token error In some circumstances, a valid SQL query with sub-selects will result in " [SQL] XDMP-UNEXPECTED: (err:XPST0003) Unexpected token syntax error...". |
| all | adminGUI | BUG-53338 | XDMP-NONMIXEDCOMPLEXCONT error during upgrade In rare circumstances, an XDMP-NONMIXEDCOMPLEXCONT error is thrown during upgrade from 8.0-9 to 9.0-10 while adding amps during securiy upgrade. |
| all | search | BUG-53407 | Reciprocal scoring with range indexes incorrect Reciprocal scoring with range indexes produces scores that are not sufficiently granular. |
| all | documentation | BUG-54061 | Incorrect API documentation for admin:cluster-get-keystore-kmip-certificate-path Extra parameter for admin:cluster-get-keystore-kmip-certificate-path documented is incorrect. |
| all | MarkLogic REST API | BUG-53915 | UTF-8 filenames for document batch write in REST API To write a batch of documents, a client can POST a multipart/mixed payload to the /v1/documents endpoint of the REST API. The filename field of the Content-Disposition header within each part specifies the document URI for the content of the part. The REST API supports a UTF-8 value for the filename. While convenient, this support doesn't conform strictly to HTTP standards, especially for clients libraries that throw errors when building a part header that contains a UTF-8 value. Now, as an alternative, the REST API supports filename field with a percent-encoded UTF-8 value conforming to the subset of RFC8187 without a language specification. The format of such a field is as follows: filename*=UTF-8''THE_PERCENT_ENCODED_DOCUMENT_URI; as in filename*=UTF-8''%2FCXXXX_%C3%9C_9999.json; |
| all | Monitoring Dashboard | BUG-53236 | Monitoring Dashboard: Disk Space Tab not working with Fast Data Directory Disk Space tab stops displaying disk utilization numbers, and images when a forest configured with a Fast Data Directory is attached to a database. Display will return to normal when the forest is deleted, not just detached from the database. |
| all | JavaScript | BUG-53524 | Optional sequenceLimit parameter Added optional sequenceLimit parameter to specify length limit of a sequence |
| all | Query Console | BUG-53743 | Unable to cancel Query Console queries When the App-Services application server is renamed, or when there is more than one application server in a cluster named App-Services, canceling Query Console queries throws an error instead of canceling. |
| all | MarkLogic REST API | BUG-52800 | namespaces for extract-document-metadata in JSON query options The extract-document-metadata instruction in query options specifies paths for extracting fragments from documents in the results for requests to the Java, Node.js, and REST API search requests. Previously, paths could use namespaces only when the query options were sent in XML format. Now, the namespaces property is supported when the query options are sent in the JSON format. |
| all | xdmp | BUG-53322 | Abort in DatabaseQueryPath::testState Under heavy load the server may abort in DatabaseQueryPath::testState |
| all | Config Management | BUG-52276 | Disk space bar chart not showing on dashboard Some charts based are not showing on dashboard display. |
| all | Config Management | BUG-53602 | Attempting to change field type with RMA/CMA raises error Attempting to change the type of a field (from include/exclude to path, for example) with an RMA or CMA update raises a "bad field type" error. |
| all | SQL | BUG-53526 | Performance of SQL IS (NOT) NULL clause on nullable columns Certain cases of SQL IS (NOT) NULL clause on nullable columns have been optimized in 10.0-3 |
| all | Query Console | BUG-53620 | Downloading data results in Query Console appended sensitive data in access log When user clicked download data results, the query data was appended with GET method instead of POST/PUT |
| all | xdmp | BUG-53266 | Segmentation fault in JournalArchive::writeJournal Under heavy load the server may segfault in JournalArchive::writeJournal while closing a journal archive. |
| all | search | BUG-53628 | False negatives with include-root=false and a long phrase An element word or JSON property word query on a long phrase (more than 2 words) may fail to match where word positions are enabled and the word query field has include-root set to false and the element or property is not on the include list. |
| all | XQuery | BUG-53809 | cts:stem produces wrong stem when called with no language parameter When cts:stem is called in the context of fn:map or the mapping operator (!) over a sequence of strings and with no second (language) parameter, in the context of an outer eval or invoke (as is the case in Query Console), only the first stem uses the correct language. |
| all | xdmp | BUG-53539 | Request Monitoring triggers section has been changed to thresholds Request Monitoring "triggers" section has been changed to "thresholds" in the ."api" endpoint declaration. |
| EC2 | DB Cloud & Cloud Infrastructure | BUG-53400 | AWS: rename-host.xsh fails to rename host if Application Server on port 8002 has SSL enabled If SSL is configured on port 8002 for the Manage Application Server, the process of renaming the host to persist cluster changes to Dynamo DB fails. |
| linux(64-bit) | jsearch | BUG-53682 | extract paths from JSearch without namespaces JSearch can specify paths to extract from the matched documents. Previously, if the paths didn't specify any namespaces and the user didn't have the eval-search-string privilege, the implementation of the search threw an XDMP-ARG error at a call to the cts:valid-extract-path() function. Now, the implementation of the search correctly executes the call to the cts:valid-extract-path() function. |
| all | Bi-Temporal | BUG-53533 | Error on temporal update if uri contains a period "." charcter When updating at Temporal document with a period "." in the URI the timestamp is not appended as expected |
| all | XQuery | BUG-53868 | Privileged environmental built-in function results prematurely in-lined in xdmp:invoke-function or xdmp:spawn-function. Certain privileged built-in functions that return static environmental data may be prematurely optimized out with the results in-lined as literals in code passed to xdmp:invoke-function or xdmp:spawn-function. The in-lining occurs in the outer environment not the inner environment so the execution privileges checked are of the outer environment not the inner environment. As a result, even if the inner environment does not have privileges to execute the built-in functions, no exception is thrown when the optimized code is run. |
| all | SQL | BUG-53385 | TDE reindexes entire view instead of a subset When a TDE view exists in multiple TDE templates, changing the view in one of the templates causes reindexing of the entire view. |
| all | SQL | BUG-53695 | Selecting multiple dates in PowerBI is slow Queries generated from PowerBI reports that have constraints on multiple dates have poor performance |
| linux(64-bit) | MarkLogic REST API | BUG-53203 | RMA set group 'xdqp-ssl-enabled' property fails Attempting to change the value of the `xdqp-ssl-enabled` property in a group with RMA had no effect. |
| all | adminGUI | BUG-53179 | Rebalancer status on the database status page could be enhanced to add a line warning that the rebalancer is disabled for any of the database's forests The database status page should be improved to display a warning in the event where the rebalancer is enabled and any individual forests have the rebalancer disabled so data distribution will not be even. |
| all | Replication | BUG-53513 | Forest synchronization fails due to missing large binary If a forest is missing a large binary, it cannot synchronize with its replica: Error: Forest ... cannot synchronize to replica...: SVC-FILRD: File read error: open '...': No such file or directory |
| all | Geospatial | BUG-53494 | Incorrect results from Geospatial region index Unfiltered search using a geospatial region query returns a false positive result |