Powered by Zoomin Software. For more details please contactZoomin

MarkLogic Bug Fixes

Issues fixed in MarkLogic Server 9.0-3

  • Last Updated: April 6, 2026
  • 11 minute read
    • MarkLogic Server
    • Documentation

Released: Sep 25, 2017

The following issues have been addressed in this release:

Platform Component Bug ID Details
all adminGUI BUG-47141

Database status page shows XDMP-CAST during large reindex

A reindex of more than 4294967295 fragments will cause the database status page in the Admin UI to throw an XDMP-CAST error

OS X Query Console BUG-46552

Chained JS function calls trigger Dev Tool error in Query Console

When chaining function calls in JS in Query Console, a TypeError occurs with the auto-suggest code.

windows(64-bit) security BUG-47463

MS Windows Only: Unable to authenticate LDAP users with accented characters

LDAP or Active Directory users with accented or special characters in the User DN can not be authenticated by MarkLogic Server running on Microsoft Windows.

all security BUG-46695

Audit Log for External Authentication missing some user logins

Audit Log for External Authentication does not fully log user logins

linux(64-bit) Monitoring Dashboard BUG-42298

Metering Process Size

In the Metering User Interface, Expose the amount of memory the MarkLogic Server process is consuming

all Query Console BUG-45568

Text color not working for enviroment UI banner in Query Console

The value in "ui-header-text-color" does not work in Query Console due to styling collision.

all Query Console BUG-40443

Query Console: Hints do not appear after multi-line quotes

Query Console Hints do not appear after use of multi-line quotes Example: let $javascript := " " let $out := xdmp: Suggestions do not appear for XDMP.

all Config Management BUG-46593

"Connection reset" when rolling back package import

Rolling back a package causes the browser to redirect while the server is rebooting, causing a "Connection reset" error to render in the browser.

all Backup/Restore BUG-46843

Incremental database restore requires write permissions on source directory

Incremental database restore operation fails when restoring process has only read access to source backup files.

all Geospatial BUG-46953

Geospatial region index stuck in reindexing

For certain XPath expressions, the geospatial region index may become stuck in reindexing.

all search BUG-46812

False positives for element query on phrase in phrase-around child element

If an element is configured as a phrase-around, an element search of an element containing the phrase around element targeting the contents of the phrase around element may produce false negatives if element word positions are enabled. Example: cts:search(doc("example.xml"), cts:element-query(xs:QName("parent"), "inside child")) where "child" is configured as a phrase-around, may fail to match <parent>outside <child>inside child</child> text</parent>

all search BUG-46417

cts:parse raises the error XDMP-UNEXPECTED for labels containing dashes (-) or dots (.)

cts:parse does not parse labels that have dashes or dots in them, raising the error XDMP-UNEXPECTED instead. Example: cts:parse("my-label:example", $bindings)

linux(64-bit) security BUG-47371

sec:role-exists incorrectly returns false in some circumstances

sec:role-exists returns false for existing role using security execute privilege "role-exists" ""http://marklogic.com/xdmp/privileges/get-role"

linux(64-bit) Semantics BUG-46348

Semantics BIND(EXISTS) with wildcard property path incorrect result

Semantics BIND(EXISTS) with wildcard property path could return incorrect result

all xdmp BUG-47084

unpath without the xdmp-value privilege

You can now do unpath without the xdmp-value privilege.

all xdmp BUG-46710

xdmp:with-namespaces does not apply namespaces correctly to FLOWR expression

When xdmp:with-namespaces wraps a FLOWR expression, the namespaces may not be properly visible in that expression, causing an error to be raised. Example: xdmp:with-namespaces(("dc", "http://purl.org/dc/elements/1.1/"), for $path in ("/root/dc:title", "/root/dc:subject") return cts:path-reference($path, ( "type=string", "collation=http://marklogic.com/collation/", "unchecked")) )

windows(64-bit) Query Console BUG-39975

Query Console: highlight bug when apostrophes present

The closing apostrophe at the end of a text block doesn't cause the highlighting to revert back to non-red.

linux(64-bit) JavaScript BUG-47556

Server may crash when JavaScript is spawned

MarkLogic Server may crash when JavaScript is executed in xdmp.spawn.

all Common API BUG-47130

Retrieve backup status on database with multiple forests attached

Retrieve backup status when backing up a database with multiple forests attached using the REST Management API. When initiating a database backup via the REST Management API you will receive a job-id which you can then use to retrieve the backup status, as illustrated in the following example. curl -s -X POST --anyauth -u admin:admin --header Content-Type:application/json -d '{"operation": "backup-status", "job-id": "10374628996171578938"}' 'http://localhost:8002/manage/v2/databases/Schemas?format=json'

all MarkLogic REST API BUG-46788

query in the JSON Basic namespace in QBE

The json:transform-from-json() function converts JSON to XML, by default using the JSON Basic namespace ("http://marklogic.com/xdmp/json/basic"). The XML result documents can be persisted in the database. QBE (Query By Example) accepts a document that supplies JSON properties or XML elements to match. Previously, when an XML QBE provided example elements in the JSON Basic namespace, the REST API incorrectly executed the request as a query for JSON documents. Now, the REST API correctly executes the request as a query for XML documents.

all mlcp BUG-44422

MLCP missing or duplicate documents from delimited file

split_input may drop records or duplicate records (when used with generate_uri) when used with delimited_files, and could skip records with multibyte characters

all Geospatial BUG-47057

Geospatial region query with "intersects" operation gives incorrect result

Geospatial region query with "intersects" operation gives incorrect result for certain polygons

all xdmp BUG-46826

xdmp:set does not enforce type from global variables

If a global variable declares a type, xdmp:set will not enforce that type. For example, the following query should throw an error, but it does not. declare variable $x as xs:int := 1; xdmp:set($x,"bad")

all SQL BUG-46903

SQL Extract function on date column returns wrong format result in isql

When extract function is used to select day/month/year from a date column, the result is wrongly formatted in isql.

all XCC/Java BUG-46115

Text exposed by XCC/J

XCC/J Client may expose text that could lead to security vulnerability

all Semantics BUG-45168

serializing arrays in SPARQL CSV and JSON output

A SPARQL SELECT statement can construct an array, for instance using a call to <http://marklogic.com/xdmp/json#to-array>((...)). Previously, array values were not serialized correctly for a SPARQL SELECT in CSV and JSON output. Now, array values are serialized in CSV and JSON.

all MarkLogic REST API BUG-46692

Performance improvement of JavaScript resource services and transforms in the REST API

Transforms and resource service extensions implemented in Server-Side JavaScript were slower than those implemented in XQuery. Now, transforms and resource service extensions implemented in Server-Side JavaScript have performance equivalent to those implemented in XQuery.

all Admin API BUG-46547

Deletion of path namespace when in use

The Admin UI and API allow deletion of the path namespace when it is still being used by a path field, causing "Warning: XDMP-UNBPRFX: (err:XPST0081) Prefix XXX has no namespace binding" warning messages when referenced in search.

all adminGUI BUG-47103

XQuery injection vulnerability in the Admin GUI

Certain forms in the Admin GUI are vulnerable to XQuery injection. These are forms involving field includes and excludes, triggers, and permissions.

all mlcp BUG-45212

XDMP-TOOFEWARGS: mlcp 9.0-2 with JavaScript transform functions.

XDMP-TOOFEWARGS is thrown from mlcp 9.0-2 with JavaScript transform functions against a MarkLogic 8.0-6.4 or above server.

all conversion BUG-46838

Tokenizing Arabic content with certain codepoint sequences may fail with internal error

This error may manifest as an error on loading, or a failure in conversion with xdmp:document-filter. It shows up in certain combinations of characters involving the LTR and RTL marks (U+200E and U+200F).

linux(64-bit) MarkLogic REST API BUG-46842

aggregate with multiple fragments scopes in search:values() calls for tuples

A search:values() call in the Search API (and the equivalent /v1/values request in the REST API) can construct tuples from range indexes as well as apply aggregates to the tuples. Previously, when the call specified different fragment scopes for the range indexes (for instance, document and properties scopes), the Search API threw an error. Now, the call executes correctly, applying the aggregate to the tuples with range indexes having different fragment scopes.

linux(64-bit) jsearch BUG-46913

querying facets with multiple threads in JSearch

The JSearch API provides conveniences for searching in JavaScript including the ability to construct facets concurrently in multiple threads. In MarkLogic 9.0-1 and 9.0-2, JSearch threw an JavaScript error if the caller specified multiple threads for facet queries. Now, JSearch uses multiple threads to query facets without error.

all mlcp BUG-47470

MLCP adds an unexpected collection

MLCP adds a collection "element" to documents with more than one node at the root level.

all adminGUI BUG-46522

Admin UI: Application Server Count not correct

In the Admin UI, the Application Server Count is not correct in some circumstances where multiple groups are configured.

linux(64-bit) JavaScript BUG-46701

Segmentation fault when using xdmp.spawn with external variables.

MarkLogic Server crashes with segmentation fault when using xdmp.spawn with external variables in a loop.

all adminGUI BUG-46915

Admin UI: range path indexes incorrectly identical

In the Admin UI, if you configure two range path indexes with the same path expression and the same scalar type, but with different attribute values, as shown in the attached figure, (eg. /a/b[@attr1 = "1"] and /a/b[@attr1 = "3"]), the admin console will return a warning "Invalid input: Two or more path range indexes are identical.". When the predicates contain white spaces, the path expressions are wrongly tokenized by space and considered to be the same.

all SQL BUG-47185

TDE not triggering extraction on some contexts with attributes

In Template Driven Extraction, a template with a context element containing attributes might not trigger extraction correctly. /foo//@bar is an example of a context that doesn't trigger any extraction.

all XQuery BUG-45721

XDMP-MISSINGCONTEXT thrown by dls:validate-all-documents with verbose option

Running dls:validate-all-documents and passing in fn:true() to enable verbose output causes MarkLogic to throw an XDMP-MISSINGCONTEXT exception.

windows(64-bit) security BUG-46703

MS Windows: APIs that use LDAPS server do not work

APIs that would use a LDAPS server do not work on Microsoft Windows.

all Geospatial BUG-47005

geo:geohash-encode returns no geohashes for box crossing International Date Line

geo:geohash-encode returns no geohashes for a box that crosses the International Date Line at any geohash precision level

all search BUG-46416

Some combining characters create false negatives for diacritic-insensitive search

Combining characters that persist in NFC normalization may cause false negatives in diacritic-insensitive search. For example, Arabic short vowels are known to have this issue.

all search BUG-47331

Wildcard query returns false positives

A character wildcard query with a high codepoint number may return false positives from index resolution even if one character wildcards are enabled, if trailing wildcards are enabled and there is no word lexicon or if the query is punctuation or whitespace sensitive (which disables use of the word lexicon). The plan will include no terms from the word query. Example query: cts:search(doc(), cts:word-query("逃*", ("punctuation-sensitive","wildcarded"))

windows(64-bit) Query Console BUG-41292

Query Console XQuery multi-line text highlighting broken

Highlighting not correct with multi-line text. Example: xquery version "1.0-ml"; let $x := "a " return $x

all SQL BUG-41220

Static Type mismatch in SELECT-FROM-SELECT SQL Queries

SELECT-FROM-SELECT queries have a mismatch in static type when order of the columns are different.

all SQL BUG-47366

ODBC connection incorrectly results in a SQL-NOCOLUMN error

An ODBC connection from Cognos or other BI/ODBC based tools can result in the error "SQL-NOCOLUMN: Column not found: table".

all search BUG-46705

Root field with advanced-stemming makes large json document insert extremely slow

Root field with advance-stemming makes a large json document insert extremely slow.

windows(32-bit) SQL BUG-47083

ODBC Setup not working with 9.0.1 ODBC 32-bit Driver on Windows 7

When attempting to install the ML ODBC driver mlsqlodbc-1.3-2-i686.msi on a Windows 7 32 bit system the installation fails with the error: The routines for the MarkLogic SQL ODBC driver could not be loaded due to system error code 126: The specified module could not be found. (C:\Program Files\MarkLogicOdbcDriver\0902\bin\mlsqlodbcw.dll)

all search BUG-46418

cts:parse does not support value sequences after LT, LE, NE, GE, GT

cts:parse allows value sequences after EQ, but not the other comparison operators. Example: Given "label" is bound to a range index cts:parse of "label LT (this that)" will return a parse error, while cts:parse of "label EQ (this that)" will be OK.

all MarkLogic REST API BUG-47480

JavaScript transforms after MarkLogic Server upgrade fail with XDMP-UNEXPECTED

The REST API supports transforms for reading and writing documents including documents matched by search. On upgrade from an earlier MarkLogic release, transforms are upgraded for compatibility with the latest REST API framework code. Previously, JavaScript transforms were mistakenly upgrade in the same way as XQuery transforms. As a result, requests using JavaScript transforms after upgrade failed with an XDMP-UNEXPECTED error. Now, upgrade correctly maintains JavaScript transforms as JavaScript so requests using upgraded JavaScript transforms do not return the error.

all SQL BUG-47300

Distinct aggregate SQL Query incorrect

SQL Query result could be incorrect when distinct aggregate is used against large dataset

linux(64-bit) mlcp BUG-46783

mlcp command gives argument list too long error

Using a wildcard for an input_file_pattern expands and can create an error for a too-long argument list.

all adminGUI BUG-46463

Forest's configuration upper and lower bound fields do not reflect database assignment policy

In the Admin UI, forest's configuration upper and lower bound fields are only relevant for range assignment policies. Fields in "Forest Configuration" page of admin UI are now disabled if the assignment policy associated with the database is not "range".

all MarkLogic REST API BUG-46860

UDFs returning maps for REST API values requests

A values request in the REST API can query a range index for values lists including executing a C++ UDF (User Defined Function) to aggregate over the matched values. Previously, if the UDF returned a map instead of an atomic value, the REST API used only the value of the first key in the map. Now the REST API correctly returns the map.

all xdmp BUG-47054

Resource cleanup

In rare circumstances, the XQuery evaluator does not release resources resulting in a slow memory leak.

all security BUG-46501

Keystore State

Keystore state now available in Admin UI and detected keystore errors logged.

all Optic API BUG-46611

incorrect cast for JavaScript number literals in the Optic API

The SJS (Server-Side JavaScript) implementation of the Optic API accepts JavaScript number literals and casts integers to an XML Schema data type for execution by the engine. Previously, the API incorrectly cast integer literals to the xs.int data type, which caused casting errors for integers larger than 2147483647. Now, the API correctly casts integer literals to the xs.long data type, supporting JavaScript integer literals to the largest JavaScript value (9007199254740991).

all SQL BUG-47056

Selection of column with nulls causes a segmentation fault

Under some circumstances selection of a nullable string column in SQL or in cts:value-tuples may cause a segmentation fault.

all Geospatial BUG-47414

Geospatial Region Index setting "ignore" invalid values does not work for certain errors

Documents with invalid values get inserted into the database despite the Geospatial Region Index setting to "ignore" invalid values.

all mlcp BUG-46897

Wrong namespace of attributes imported with aggregate XML files by mlcp

When mlcp users import aggregate XML files, if there is default namespace defined but some attributes are not in the default namespace, those attributes are actually ingested in database with the default namespace.

linux(64-bit) SQL BUG-44470

Error in SQL queries containing an Union inside Exists clause

All the expressions selected in the union query should have equal number of columns. The check for number of columns selected were wrong if the union query is nested inside an exists. Thus resulting in an unexpected error.

all SQL BUG-45699

SQL select with unqualified view name doesn't throw an error.

When there are views with the same name in multiple schema, then selected the view without a schema name doesn't throw error and resolves to a random schema.

OS X JSON BUG-47133

JavaScript: cts.jsonPropertyValueQuery() with number doesn't return document

For certain values, cts.jsonPropertyValueQuery() involving a number doesn't return document in JavaScript.

all Common API BUG-46723

Metering memory metrics

Meter the size of used huge pages, total and free system memory size, expose huge pages size and system free memory size to monitoring history board on Linux; Meter total and free system memory, expose system free memory to monitoring history board on Windows.

all Geospatial BUG-46902

Geospatial region queries involving circles are slow

A cts:geospatial-region-query involving a cts:circle may exhibit unacceptable performance.

linux(64-bit) SQL BUG-45886

Ordering by variable in group by

Order by clauses using variables from group by sometimes cause incorrect ordering of results.

all MarkLogic REST API BUG-46693

multiple path indexes for a range constraint in the Search API

The query options for the Search API can define constraints for range indexes. Multiple range indexes with the same data type can supply values for a single constraint. Previously, if a single constraint specified multiple path range indexes, only one of the path range indexes was used for the query. Now, the query correctly uses all of multiple path range indexes when specified by a single constraint.

all search BUG-46585

Missing annotation in relevance trace for field value query

The relevance trace for a cts:search query with a field value query in it has the key, but not the annotation telling you what the key means.

TitleResults for “How to create a CRG?”Also Available inAlert