Powered by Zoomin Software. For more details please contactZoomin

MarkLogic Bug Fixes

Issues fixed in MarkLogic Server 9.0-7

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

Released: Sep 27, 2018

The following issues have been addressed in this release:

Platform Component Bug ID Details
all mlcp BUG-50663

MLCP ingestion transforms error cause subsequent document rejections

Errors in MLCP transforms during ingestion result in the rejection of subsequent documents.

all security BUG-50447

Admin UI throws SEC-BADPERMPROTECTEDPATH when creating a protected-path with a permission other than read

On Admin UI, if you try to create a protected-path with either insert, update, execute or node-update permission, it gives 'SEC-BADPERMPROTECTEDPATH' error.

linux(64-bit) adminGUI BUG-50164

multipart/form-data form on certificate-authority-forms.xqy sends a "file" part even if no file is chosen on the GUI

On certificate-authority-forms.xqy, if no file is chosen and its content is empty, a file part is still sent when the form is submitted.

all xdmp BUG-48907

Elasticity, HA and DR Performance improvement

Algorithm efficiency improvement with rebalancing and asynchronous replication. In certain circumstances, entire stands are copied. To disable stand copying for Database Replication, use trace event "DBRep no index". To disable stand copying for rebalancing, use trace event "Rebalancer No Stand Copy".

all security BUG-50492

HTTP server digest auth failure when multiple AWS load balancer are used

HTTP clients get Unauthorized failure when the HTTP request uses valid nonce from server and passes through a different ELB, because server doesn’t distinguish forwarded from non-forwarded clients

all adminGUI BUG-50347

Minor HTML presentation issue with accept-joiner-confirm.xqy

Layout is broken when adding hosts to the cluster.

all Semantics BUG-50461

Variable evaluation causes segmentation fault in XQuery/SPARQL query

In an XQuery let statement, under some circumstances running a call to a function (such as fn:count) immediately after binding the results of a sem:sparql call to a variable can result in a segmentation fault due to the fact that the binding (of the previous call) has not already taken place.

all SQL BUG-50210

Allow usage of fn:data function in TDE templates

fn:data has been added to TDE dialect and can now be called inside a template's `<val/>` element.

all adminGUI BUG-50353

appserver-status.xqy contains hard-coded 'http://' paths for stack and cancel links, so these break over SSL (https) connections

When attempting to cancel a long running query, or get the request stack (Configure > Default > App Servers > App Services > Status Tab > show more) over an SSL connection the URL will break away to http://

all BUG-50496

Flexrep Status Page not displayed

In the Admin UI, If a flexrep domain has a total number of documents that exceeds the maximum value for an xs:unsignedInt, Flexrep Status Page will not work.

all JavaScript BUG-50495

JS-OOM error with large objects

When multiple large objects are created with JS and they exceed 1GB, v8 will report a JS-OOM error.

all Search API BUG-50642

support for cached-incremental option in the Search API

The cached-incremental option executes range queries in parallel and caches results for better performance. Previously, the search:range-option in the Search API didn't support the cached-incremental value. Now, the cached-incremental value can be specified for range queries using the search:range-option.

all SQL BUG-49950

ODBC Driver Advanced Options page 2 is functional now

all xdmp BUG-50139

CPF Alerting Pipelines do not support JSON

CPF Alerting Pipelines previously did not provide support for JSON documents out of the box. This has now been addressed with this release of MarkLogic Server.

all xdmp BUG-50322

Adjust default in-memory sizes for new databases

Lowered maximum default in-memory-list-size from 512MB to to 256MB. Lowered maximum default in-memory-tree size from 128MB to 64MB

all security BUG-50501

Multiple Security Databases

Improved administration for multiple security databases.

all Config Management BUG-50361

Cluster Coupling in the Admin GUI may fail

In the Admin UI, Cluster configuration makes use of HTTP GET requests to connect the master and "foreign" clusters; this can lead to the generation of long URLs. Some browsers have restrictions on the length of a URL in a GET request, causing the process to fail.

linux(64-bit) xdmp BUG-49127

Log file rotation happens at wrong time on DST transition date.

On the date DST time makes the transition, the log file rotation happens at wrong time, for example at 23:00 of November 5, 2017 and 01:00 of March 13, 2017. Now it's fixed by using timezone information and system databases to determine if it is DST.

all MarkLogic REST API BUG-50324

numeric values in JSON query text and search responses in the REST API

When the REST API processes query text or search results containing a string value that resembles a serialized exponential double, INF, -INF, or NaN, the REST API attempts to treat the value as a number. This approach could result in XDMP-JSONCHAR errors on output. Now the REST API doesn't convert string values in results to numbers. In addition, the REST API doesn't convert a query text to a single numeric value.

all Replication BUG-48911

Database Replication: Index data out of sync on replica

When a replica database's index configuration is different from the index configuration on the master database, index data stored in the replica database may be out of sync from the master database. Previously, Index data was generated on the replica. Now, master Index data is replicated. Resource Impact is higher network utilization, but less work (cpu, io, memory) required on the replica. To keep the original behavior, use trace event "DBRep no index".

all Encryption at REST BUG-50467

Moving pem files and switching KMS

Moving pem files while using internal Key Management System prevents MarkLogic Server from coming online when switching back to external Key Management System.

all DMC BUG-50719

"Get Developer License" button throws error

Visiting http(s)://<hostname>:8001/license.xqy and clicking on "Get Developer License" throws an XDMP-CAST error.

linux(64-bit) Optic API BUG-50761

OPTIC API groupBy changes results

Using OPTIC API groupBy with two columns returns less data in some cases

all SQL BUG-49841

SQL Query with Externally Authenticated User

Externally authenticated users return no results from SQL query against ODBC AppServer.

all Geospatial BUG-50725

Geospatial region index gets dropped

Geospatial region index gets dropped after making a configuration change when there is document with a null value present in the database

linux(64-bit) Optic API BUG-50683

Optic groupby query false negatives

Optic query with memory data, groupBy & two columns, followed by select are returning false negatives

all Backup/Restore BUG-50226

Scheduled backup of database with no forests

In the event where a scheduled backup is run for a database with no forests an XDMP-NODIR exception can be observed in the ErrorLogs. This behaviour has been noted in cases where a forest is added before the backup starts.

all Config Management BUG-50473

Configuration Manager fails with sc:particles(sc:particles($sc)) -- Invalid coercion: () as schema-component()

In some cases, application server XML exported by Configuration manager fail to be imported with the ultimate exception message indicating an Invalid coercion: () as schema-component() exception.

OS X Common API BUG-48092

GET /manage/v2/logs misses a line

GET /manage/v2/logs doesn't return the last entry in each log file.

all Semantics BUG-50338

Long SPARQL DESCRIBE statement throws XDMP-STACKOVERFLOW

A SPARQL DESCRIBE statement containing a very large list of urns can cause a stack overflow while the statement is being iterated. This issue appears to be a regression that was introduced in the 9.0-3 release.

all mlcp BUG-50664

DHF MLCP Transform errors lead to failure of the rest of the batch

DHF MLCP Transform errors lead to failure of the rest of the batch

all xdmp BUG-50413

CPU bottleneck on NUMA

Unbalanced NUMA assignment of xdqp server session tasks limits cpu utilization

all Semantics BUG-50670

cts:triple-range-query with literal value repeating exactly 16 times returns unexpected results in some cases

cts:triple-range-query() containing a literal value repeating exactly 16 times in one of the subject, predicate or object position will return unexpected result when they are run withinin the context of a multi statement transaction containing atleast one more cts:triple-range-query().

all xdmp BUG-50379

xdmp.email sends invalid addresses

In prior releases of MarkLogic Server, a call to xdmp.email attempted to send emails even when the address was not fully formed. Now xdmp.email throws the expected "501 5.1.3 Invalid address" error for the message (in JSON format).

all Common API BUG-49833

Untis of geospatial-region-path-index defaults to miles with REST Management API

The units property of a payload that created a geospatial-region-path-index using REST Management API are ignored; the resulting region always uses miles.

linux(64-bit) Upgrade BUG-50600

segfault in xdmp::ForestCheckSchemaDBChangeTask::run

Server restarts with a segfault inside xdmp::ForestCheckSchemaDBChangeTask::run

all security BUG-50743

LDAP authentication fails with LDAP attribute set to mail

Add support for configuring an External Authentication profile using the "mail" and all other attributes.

all search BUG-50637

Query-plan annotations missing

In some cases, Search API will show a query plan without annotations.

all xdmp BUG-50462

SMTP relay API accepts out of range port values

When the port number is out of valid port range, SMTP relay API doesn't throw an error message and accepts it.

all SQL BUG-50533

SQL queries with cast on a column containing null value was failing with XDMP-CAST error

SQL queries with cast on a column to any data type containing null value was failing with XDMP-CAST error.

all Optic API BUG-50250

An error is raised when the value expression of an object node constructor returns the empty sequence.

An error is raised when the value expression of an object node constructor returns the empty sequence, rather than adding an object property with a null node as a value.

all adminGUI BUG-49876

Admin UI Backup Passphrase Length Warning

Length required for a passphrase to be valid is not described next to field on the database backup screen.

all Optic API BUG-49947

Optic API outer joins with null 'left' value return unexpected results

Outer joins in Optic API now use SQL joins rather than SPARQL join semantics.

all xdmp BUG-50786

"Unauthorized" thrown when http-* through proxy to HTTP url with digest authentication

An "Unauthorized" (401) HTTP exception is thrown when some of the standard http functions (such as xdmp:http-get and xdmp:http-post) are used through a proxy to an HTTP endpoint configured with digest authentication

OS X JavaScript BUG-50682

fn.head(Node.xpath()) returns a sequence if the result is of length 1

fn.head(Node.xpath()) returns a sequence if the result is of length 1

all Encryption at REST BUG-50427

mlecat space separated arguments

mlecat does not correctly read in space separated arguments.

all Optic API BUG-49381

XDMP-DOCNOTFOUND for where() on lexicon URIs after joinDoc() in the Optic API

Previously, the following sequence of operations produced a XDMP-DOCNOTFOUND error: 1. the fromLexicons() accessor on the URI lexicon 2. the joinDoc() operation on the URIs 3. the where() operation on the URIs Now, the rows are correctly filtered. IMPORTANT NOTE: While this sequence of operations now works, the workaround is in fact the best practice because more efficient.

all opsdirector BUG-49949

OpsDirector installation with LDAP fails

OpsDirector installation does not complete when Admin appserver is configured with LDAP for authentication and authorization

all Search API BUG-50541

support the eager and lazy options in the Search API

The cts.values() request has added the eager and lazy options. Using eager and lazy options in search:facet-option gives error message Invalid <facet-option>: eager

all xdmp BUG-50651

User cannot create multiple path indexes with different predicates

In cases where a user creates multiple path range indexes with different predicates (and which contain spaces/commas), the admin UI throws an exception (index already exists).

all SQL BUG-49957

Optic query containing a group by in a subquery of a join

Optic/SQL queries containing a group by in the subquery of a join clause was returning wrong/unexpected results when all the aggregated columns in the subquery are projected in the outer query's select clause.

all Optic API BUG-50258

op.sqlCondition() with SQL style timestamp

A SQL style timestamp literal used in op.sqlCondition() raises an error

all Query Console BUG-43455

Query Console: Refresh Firefox with multiple long-running queries going locks browser

Under some circumstances, where a large number of queries run concurrently within a Query Console session, refreshing the page in the browser (Firefox) can cause the browser to hang.

windows(64-bit) SQL BUG-50763

Performance improvement on a sequential scan on SQL queries

All the SQL queries involving a sequential scan of the data will show an improvement in performance, so - for example - queries that make use of the LIMIT statement should see improved performance in this release of MarkLogic Serer.

all Optic API BUG-49892

Add support for Temporal arithmetic in Optic API expressions

Previously, the arithmetic functions in the Optic API only accepted Numeric arguments. As a result, arithmetic with dates and durations failed. Now, the arithmetic functions support both Numeric and Temporal values.

all xdmp BUG-50333

XDMP-PATHRIDXNOTFOUND for a path index that contains function call

Adding path index that contains function call (supported by Restricted XPath) through Admin UI gives XDMP-PATHRIDXNOTFOUND

all security BUG-50297

LDAP User Authorization should have configurable option to allow and disable Nested Group Lookup

Previously, LDAP User Authorization would perform a nested lookup across the directory and under some circumstances this could add significant overhead to a request. In this release of MarkLogic Server, nested LDAP lookups can be disabled in the admin GUI so the nested group lookup when connecting to a LDAP server can be controlled more effectively.

all xdmp BUG-49784

Recurring merge blackouts crossing midnight not honored

Recurring merge blackouts are not honored if the duration of the blackout spans midnight.

all xdmp BUG-50050

Unordered near queries may be incorrect

Unordered near queries involving complex subqueries may fail to match when the matches to the subclauses are in fact out of order and the distance is close to the limit.

all documentation BUG-50547

mlcp with transform in another database or different root fails

Unable to run mlcp with transform module in another modules database or under different root

all documentation BUG-50730

Documentation: Windows service parameters for MarkLogic are reset on upgrades

The steps to upgrade MarkLogic on Windows include uninstalling the old version. Uninstalling the old version deletes the old Windows service parameters. Installing the new version initializes the service parameters to the default values. So changes to service parameters are lost on upgrade. This behavior has now been documented at http://docs.marklogic.com/guide/installation/procedures.

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