Skip to main content

What's New in MarkLogic 11

Release Notes

MarkLogic 11.2.0

MarkLogic 11.2.0 is a minor release that adds a number of new features and addresses a number of bugs and security vulnerabilities. For versions prior to MarkLogic 11.2.0, the full list of fixed bugs can be found on the Marklogic Support Portal at https://help.marklogic.com/Bugtrack/List. Starting with MarkLogic 11.2.0, fixed bugs will no longer be listed on the support portal as we are in the process of migrating to a new support system. The full list of bugs fixed in 11.2.0 is listed below. Also note that, due to migration to new systems, bugs may be listed with multiple IDs. IDs in each of the systems have been provided for reference. 

Fixed Bugs

Bug ID

Description

MLE-13750

When upgrading a foreign cluster that replicates the Security database from the local cluster, the cluster page on the admin UI of the foreign cluster will not display.

MLE-12739

The API documentation for the following functions is missing

  • sec:external-security-set-ldap-negative-cache-timeout()

  • sec:external-security-get-ldap-negative-cache-timeout()

MLE-12626

When installing MarkLogic 11.1.0 on Windows, the user will receive an unknown publisher warning due to expired certificate in the msi digital signature.

MLE-12501

Queries against system tables such as ‘sys_columns’ and ‘sys_tables’ are slow if there are a lot (e.g. 1000+) of TDEs deployed.

MLE-12476

In MarkLogic 11.1.0, if an op:eq condition is used in an sem:if condition to compare a collated TDE column against a plain string, an "XDMP-COMPARE: (err:XPTY0004) Items not comparable: sql:collated-string("false","[http://marklogic.com/collation/|http://marklogic.com/collation/]") = xs:string("false")" error will be thrown.

MLE-12395

Certain SPARQL queries that contain a 'bind exists' that refers to another ‘bind’ can produce inconsistent results.

MLE-12324

The sec:amps-change-modules-database() function does not correctly cast the database ID and throws an XDMP-COMPARE error.

MLE-10994

MLCP has the following vulnerabilities: CVE-2021-23413 and CVE-2020-23064

MLE-1747

CTS queries in JSON payloads are not correctly created by RMA in partition-query and alerting. When doing a PUT of a partition query with an array of CTS queries in JSON format via RMA, only the last query in the array of the queries will be stored in the database. 

When doing a POST of an alert rule or a PUT of alert rule properties with an array of CTS queries in JSON format, only the query in the array of the queries will be stored in the database.

MLE-1284

The Optic query optimizer sometimes produces incorrect cost numbers (such as NaN, Inf), potentially resulting in improper optimization of query plans.

MLE-1281

When estimated counts are low, the Optic query optimizer does not calculate the cost of GroupBy expressions correctly, potentially resulting in improper optimization of query plans.

MLE-853

BUG-60014

BUG-57826

The V8 engine causes segfaults under heavy load or overloaded infrastructure. Under heavy load, the V8 engine can timeout when instantiating JavaScript modules and cause MarkLogic to segfault.

MLE-832

The xdmp:set-request-limits() function does not set the values passed in via the map argument correctly.

MLE-807

POST /manage/v2/databases/{id|name}/partition-queries adds spurious namespace to element name. When posting certain queries via REST, there is an extra namespace added to the element name when using an element-range-query.

MLE-706

BUG-60178

The XDMP-FORESTTAKEN error reports incorrect host ID when the forest label is corrupt. If the forest label file is corrupt, the XDMP-FORESTTAKEN error may be thrown, incorrectly indicating that a host has taken over a forest. This hides actual error which is that the forest label file has been corrupted.

MLE-630

BUG-60265

BUG-57915

Restoring security db can break https app servers. When restoring a database backup that includes the Security database, if the backup of the Security database does not include certificate templates or external security configurations that are in use by Admin app server (they may have been added after the backup was taken), no warning that the Admin UI could become inaccessible is provided to the user.

MLE-623

BUG-60272

When accessing the MarkLogic 11 admin UI on clusters with large forests and contention for the list cache, the user may receive “List Cache Full” errors. This is due to increased list cache usage in the 11.0 and 11.1 Admin UI status pages.

MLE-564

The enter/return behavior of the MarkLogic 11.0 and 11.1 Admin UI stopped working. Submitting forms via an enter/return keypress does not properly submit the forms.

MLE-528

BUG-60378

Private keys are not stripped from support dump when requesting all versions of configuration files. The cleansing process that strips out private keys from support dumps does not strip out private keys when “Version” is set to “All”. The private key is only stripped from the “Latest” configuration files.

MLE-510

BUG-60396

The character "&" is being escaped as "&" in the query console "table" output

When running a SQL or SPARL query that outputs a table in query console, “&” characters are escaped as “&”.

MLE-508

xdmp:transaction-locks() times out in a cluster when transaction has no locks. When running xdmp:transaction-locks() against a cluster, if there are no transactions, the call will hang and eventually timeout.

MLE-480

In the Admin UI under the “Cluster”, “Keystore” configuration, attempts to change the audit log encryption setting will be ignored when logs encryption is on but there is no indication to the user that the field is not editable.

MLE-404

BUG-60510

In MarkLogic 11.0 and 11.1, when using the “Explore” feature in Query Console, the pagination component's first text box does not correctly show the current page number after opening a document and then returning to paginated list.

MLE-387

In MarkLogic 11.0 and 11.1, if the environment banner is enabled, sometimes the query buffer tabs will be hidden under the top-level main menu bar.

MLE-365

BUG-60553

BUG-58187

Journal Archiving on incremental backup does not recover when the disk corruption occurs. When there is a disk failure while archiving journals, journal archiving will not resume until a full backup is performed.

MLE-357

BUG-60565

If manual changes are made to the S3 bucket being used for MarkLogic backups (specifically, deleting a directory but not cleaning up all the resources within that directory), the backup to S3 may fail with the XDMP-NODIR error.

MLE-343

When using the Admin UI with a reverse proxy configuration, if an operation is performed that causes MarkLogic to restart, the page that waits for the restart will not be displayed correctly because it is attempting to access an absolute URL instead of a relative one.

MLE-330

In SQL and Optic, columns that are projected before an UNNEST will not be visible.

MLE-115

The columns of the system tables ‘sys_functions’ and ‘sys_collations’ are not visible in the 'sys_columns' table.

CVEs Addressed

CVE-2021-23413

CVE-2020-11022

CVE-2020-11023

CVE-2020-23064

CVE-2019-11358

MarkLogic 11.1.0

MarkLogic 11.1.0 is a minor release that adds a number of new features and addresses a number of bugs and security vulnerabilities highlighted here:

  • Automatic cache sizing will now allocate caches using the recommended ratios for hosts with up to 512 GB of RAM. Additional testing and tuning will be required to increase automatic calculation for hosts with more that 512 GB of RAM in later releases. 

  • Starting in MarkLogic 11.0.0, the Optic/SPARQL query plan viewer in Query Console shows the memory component of each step in the plan as "NaN". This is fixed in 11.1.0.

  • Fixed an issue where xdmp:logfile-scan() might only return part of the lines for log entries that have many lines.

  • Fixed an issue in the Admin Interface that causes replica databases when database encryption is enabled to report that the encrypted size is zero.

  • Fixed an issue in the Admin Interface that prevented the modules database from being set for the triggers in a database.

  • Fixed an issue in Query Console where Select all via [ctrl]+[A] was working incorrectly when selecting in the query buffer or results panel.

  • Fixed an issue in Query Console that prevented copying and pasting the documentation from the autocomplete pop-up.

  • Added support for backups to S3 buckets with object lock and compliance retention activated.

  • Added support for a new  "extension" option to xdmp:document-filter() and xdmp.documentFilter() that fixes an issue where the file type may not be detected correctly because the function does not know the file extension which otherwise comes from the document URI.

  • Fixed multiple issues with the segment assignment policy:

    • Fixed the issue that causes potential data loss when using segment policy and retired forests.

    • Fixed the issue that causes potential data loss when rebalancing with the segment policy.

    • Fixed the issue that causes an increase of deadlocks during rebalancing.

  • Improved error messages for XDMP-LEXVAL errors.

  • Improved error handling when too many values are passed into calls to cts:triple-range-query().

  • Fixed performance regression starting from 10.0-9 where an optimization for certain cts:triples() patterns that were added caused other triple range queries with cts:triples() queries to be slower.

  • The metrics for "external" join and sort are now available via the REST API /manage/v2/meters GET endpoint.

  • Added missing support for the cts.documentFormatQuery(), cts.documentRootQuery(), and cts.documentPermissionQuery() query constructors to Optic DSL.

  • Upgraded the libraries in XCC and mlcp to address multiple security vulnerabilities

    Notice

    Due to the Java version requirements of the updgraded 3rd party libraries, mlcp now requires JRE 11 or later. 

  • There is a known issue with mlcp loading compressed RDF files from zip archives where the individual RDF file is over 2 GB. This will be fixed in the next release.

To review the full list of bug fixes included MarkLogic 11.1.0, visit the BugTrack page on the MarkLogic Support Portal. Select the "From" version you would like to start with and set the "To" version to "11.1.0".

MarkLogic 11.0.3

MarkLogic 11.0.3 is a patch release that addresses a number of bugs and contains some performance improvements. The following are some of the highlights:

  • op.fromSearch() and op.fromSearchDocs() security constraints 

    • Starting with MarkLogic 10.0-6, Optic queries using either op.fromSearch()/op:from-search() or op.fromSearchDocs()/op:from-search-docs() operators may return more documents than theoretically accessible. This has been fixed in 11.0.3 as well as 10.0-6.6, 10.0-7.4, 10.0-8.5, 10.0-9.7, and 10.0-10.2.

  • The v1/search REST API with the "return-constraints" query option and JSON format now returns valid JSON even if there are multiple constraints

  • Fixed an issue where segfaults can happen when performing rolling upgrades to 11.0.0 on multiple clusters that have been coupled for database replication

  • Element Level Security fix

    • If multiple protected paths are protecting the same elements with different attribute values, some protected elements fail to be protected while some other protected elements fail to show up to users who should have access

  • Geospatial triples of type LINESTRING or POLYGON are now deduplicated correctly in SPARQL results

  • Performance improvement of region relate queries such as 'CONTAINS', 'WITHIN', 'CROSSES', 'OVERLAPS', 'EQUALS', 'DISJOINT', 'INTERSECTS', 'TOUCHES', 'COVERS', and 'COVERED BY' that are run while updates are occurring

  • Fixed an issue where users might encounter the error `curlCode: 28, Timeout was reached` when doing backups to s3 in very large clusters

  • Improved performance of SQL or Optic queries against sys_columns with query-based views

  • In a AWS Managed Cluster, EBS volumes are now mounted with 'nodev' flag and the /var/tmp/marklogic.host file is written with permissions of rw-rw-rw-

  • Fixed an issue where the server hangs when turning log encryption on when telemetry is enabled

  • Connections to AWS KMS, Azure KeyVault and other key management systems now support TLSv1.2

  • Fixed an issue where server-side JavaScript code referencing XQuery modules with the same name may have used the wrong module

  • The "property" query string parameter is now supported in the v2/forests REST API

  • Fixed multiple security vulnerabilities in XCC and mlcp:

    • CVE-2007-1157

    • CVE-2022-45688 

To review the full list of bug fixes included MarkLogic 11.0.3, visit the BugTrack page on the MarkLogic Support Portal. Select the "From" version you would like to start with and set the "To" version to "11.0.3".

MarkLogic 11.0.2

MarkLogic 11.0.2 is a patch release that addresses a number of bugs in MarkLogic 11.0.0. The following are some of the highlights:

  • Admin UI improvements

    • Performance improvements to the status pages for large clusters or databases with hundreds of forests

    • Improved form input validation for certificate templates

    • Report when there are hosts in the cluster on different patch versions

  • Performance improvements for Optic fromSearchDocs() and joinDocCols() 

  • Performance improvements for starting backups of databases with a large number of forests

  • The new health check REST endpoint is now configured correctly when upgrading from an earlier version

  • Performance and stability improvements for backups to S3

  • Addressed an error in PDF conversion

  • Fixed op.xpath() support for XPaths that start with ./ or ../

  • Addressed a SQL issue where LEFT JOIN with IS NULL condition on a nullable column unexpectedly returned no results

  • Addressed a SPARQL issue where certain queries with OPTIONAL clauses returned the wrong results

  • Added support for new AWS EC2 instance types

  • Addressed an issue with scheduling of weekly backups

  • Addressed an issue with serialization of CTS queries for Query-Based Views

To review the full list of bug fixes included MarkLogic 11.0.2, visit the BugTrack page on the MarkLogic Support Portal. Select the "From" version you would like to start with and set the "To" version to "11.0.2".

MarkLogic 11.0.0

MarkLogic 11.0.0 includes fixes for a number of existing bugs. The following are some of the highlights:

  • mlcp now handles splits with multi-byte content

  • AWS Managed Cluster capability now better handle EBS volume and ENI reattachment for failed instances

  • Reindexing is now triggered automatically when creating range indexes that use document properties

  • Search results are now correct for JSON documents with "lang" or "language" property

  • Libraries have been upgraded to address security vulnerabilities

To review the full list of bug fixes included MarkLogic 11.0.0, visit the BugTrack page on the MarkLogic Support Portal. Select the "From" version you would like to start with and set the "To" version to "11.0.0".