Issues fixed in MarkLogic Server 9.0-6
- Last Updated: April 6, 2026
- 5 minute read
- MarkLogic Server
- Documentation
Released: Jun 26, 2018
The following issues have been addressed in this release:
| Platform | Component | Bug ID | Details |
|---|---|---|---|
| all | xdmp | BUG-49861 | Missed documents in filtered search using cts:triple-range-query() Filtered search using cts:triple-range-query() might not return documents containing triples extracted by a TDE template with a "/" context. |
| all | search | BUG-49971 | cts:parse may not pass along options to default field binding When cts:parse binds a function to the default field, the options may not be passed through to the function. For example, cts:parse("example[stemmed]", map:new()=>map:with("", function($op,$vals,$opts) {cts:word-query($vals,$opts,2.0)} )) returns cts:word-query("a",("lang=en"), 2) and the "stemmed" option is missing. |
| all | XSLT | BUG-49761 | XSLT variable evaluation loses whitespace When an XSLT variable is defined without using a select attribute to compute a string value of whitespace, the whitespace is lost. Example: <xsl:variable name="SPACE"><xsl:value-of select="' '"/></xsl:variable> |
| all | Query Console | BUG-49867 | Query console with many workspace tabs open causes app to freeze A workspace with many queries in a workspace, with all tabs open, may load fine, but when switching between tabs, the screen locks. |
| all | xdmp | BUG-49858 | Cannot load JSON or text documents with non-XML 1.0 characters Even when escaped, characters in the \u0001-\u0008, \u000b-\u000c, and \u000e-\u001f ranges cannot be loaded into the database. The characters are replaced with the substitution character or an error is raised. |
| all | Optic API | BUG-49834 | Optic queries return incorrect result counts using fn.count() Optic queries with a limit and offset return incorrect result counts using fn.count() |
| all | xdmp | BUG-49836 | Validation is incorrect with mixed="true" on extended type When validating a document against a schema holding a complexType with just attributes defined and extended by a complexType with mixed content MarkLogic incorrectly returns a validation error. |
| all | Upgrade | BUG-49842 | Incorrect database upgrade message The message logged when Security version upgrades are required has been improved. For example: Notice: Skipping reindex of forest App-Services until security database is upgraded old version=80008 new version=90006 |
| linux(64-bit) | Entity Services | BUG-49696 | Segmentation error while running heavy Entity Extraction A segmentation error had occurred on the server when running 50 concurrent users using the cts:entity-dictionary-get() function. |
| all | Semantics | BUG-49592 | Unfiltered triple-range-query sometimes returns incorrect results In some cases, unfiltered triple-range-query returns incorrect results. |
| windows(64-bit) | Semantics | BUG-50035 | Empty rows returned from a reflexive SPARQL triple pattern In some circumstances empty rows are returned from a SPARQL query containing a reflexive triple pattern - that is, a triple pattern that contains more than one occurrence of the same variable. |
| all | Encryption at REST | BUG-48831 | KMS internal/external switching Switching kms-type from external to internal first requires decryption of all data in MarkLogic Server. |
| all | Telemetry | BUG-48795 | Telemetry upload of configuration and error logging ceases if Meters database is offline Telemetry stops uploading configuration and error logging files if Meters database is offline |
| all | security | BUG-49960 | Google's Certificate Trust Authority Previously, MarkLogic Server did not recognize Google's new Certificate Trust Authority |
| all | mlcp | BUG-50078 | Unable to load Turtle (ttl) file using MLCP although the same file can be loaded with sem:rdf-load In some rare cases, turtle files are not being parsed as expected by MLCP causing exceptions to be thrown and the file to be rejected. |
| all | XSLT | BUG-49997 | Call to key() in XSLT causes segmentation fault If a call to key() is made inside a template after a declaration of an xsl:variable inside that template, the server may restart. |
| all | mlcp | BUG-50084 | Invalid value operator '<' ('<' less than sign) when using the -query_filter option in MLCP There is an issue which affects XML representations of queries that are passed to MLCP where the query contains a range operator that uses the '<' character. The process will fail with an XDMP-DOCATTRVALCHAR exception. |
| all | xdmp | BUG-49893 | Rollover of Hits/Misses counters has been corrected Hits/Misses have been implemented as 64 bit unsigned integers to eliminate incorrect values resulting from rollover |
| windows(64-bit) | mlcp | BUG-49208 | MLCP skips empty file (0 byte) while importing with no warning Number of files imported doesn't match files on file system if there are 0-byte files. |
| all | xdmp | BUG-49860 | A path like (/a)/(b) in a path range index indexes nothing A path range index can be configured with a path of the form (a)/(b) without error, but no data is put into the index. |
| all | search | BUG-49895 | Searches involving range queries may throw range index not found errors When incomplete information is given to range query constructors used in a searches and the passed value is untyped, the range index cannot be identified and a range index not found error is raised. |
| all | Query Console | BUG-48729 | MarkLogic 9 profile tab with shortcut key "CTRL+ENTER" switches to result tab Using shortcut key "CTRL+ENTER" on profile tab causes control to switch to result tab where it should stay on the profile tab in MarkLogic 9 |
| all | Upgrade | BUG-49968 | Upgrade fails with SEC-NOADMIN Upgrade fails with SEC-NOADMIN: (err:FOER0000) User does not have admin role when Admin appserver is pointing to LDAP for authentication and authorization |
| all | security | BUG-48452 | Security functions race condition can lead to duplicated names Occasionally, concurrent requests to create-user, user-set-name, or role-set-name functions can lead to creation of duplicated items - for example two roles with the same name and different ids or vice versa. This only happens if there are concurrent requests to the same function at the same time. |
| all | XSLT | BUG-50130 | Poor XSLT performance when using xsl:function and current() When a stylesheet has a select XPath that combines the user of current() with a call to a function defined by xsl:function, performance can be unexpectedly poor. |
| all | mlcp | BUG-50269 | mlcp throws java.lang.ArrayIndexOutOfBoundsException in import or copy. mlcp throws java.lang.ArrayIndexOutOfBoundsException in import or copy when copy_property is enabled. |
| all | Optic API | BUG-49870 | relaxed security restrictions on the XQuery Optic API The XQuery implementation of the Optic API required that the user have the following execution privileges to be able to execute Optic queries: http://marklogic.com/xdmp/privileges/sem-sparql http://marklogic.com/xdmp/privileges/xdmp-sql |
| all | adminGUI | BUG-49825 | New Telemetry page in Admin-UI is missing availability check The new page to update Telemetry configuration doesn't check if the server can connect to our telemetry storage. |
| all | Bi-Temporal | BUG-49662 | Inserting temporal documents with many versions results in XDMP-EXPNTREECACHEFULL error. When updating the same document many times all older version will be loaded into memory for update management which results into XDMP-EXPNTREECACHEFULL error. |
| all | SQL | BUG-49859 | TDE does not automatically reindex on template insertion Adding a TDE template with a context containing wildcards after document load does not always cause the relevant documents to be reindexed. Views created by the template might have missing rows for documents loaded before the template insertion. |
| all | XSLT | BUG-50042 | Missing select attribute from xsl:copy-of does not raise error When a stylesheet omits the required select attribute from an xsl:copy-of element, no error is raised. |
| linux(64-bit) | Encryption at REST | BUG-50005 | mlecat fails to decrypt logs without a passphrase option Not passing in a passphrase option to mlecat causes it to fail to decrypt logs |
| OS X | XSLT | BUG-50044 | Invalid XSLT causes segmentation fault When the name attribute is missng from the xsl:processing-instruction or xsl:namespace element, no error is reported and the server restarts. |
| all | Encryption at REST | BUG-50011 | Log files stop being encrypted when server restarts and a log file rotation occurs Cluster restart causes error logs to decrypt after log rotation. This happens when Log encryption is enabled and Log file is encrypted. |
| all | xdmp | BUG-49959 | Newlines defeat all indentation of untyped data When some untyped XML is serialized with the options indent=yes and indent-untyped=yes, newlines between elements will prevent indentation from occurring. |