Issues fixed in MarkLogic Server 10.0-7
- Last Updated: April 6, 2026
- 6 minute read
- MarkLogic Server
- Documentation
Released: Jun 4, 2021
The following issues have been addressed in this release:
| Platform | Component | Bug ID | Details |
|---|---|---|---|
| all | Optic API | BUG-55996 | redaction on rows in the Optic API An Optic query can redact a column by rebinding a column to an expression. The expression can either transform the column values or generate replacement values in some other way including based on random numbers or UUIDs. The Optic API now provides helper functions to build column rebindings for common redaction cases including maskDeterministic(), maskRandom(), redactDatetime(), redactEmail(), redactIpv4(), redactNumber(), redactRegex(), redactUsSsn(), and redactUsPhone(). |
| all | Optic API | BUG-55842 | Optic bindAs() deprecated in favor of bind() The bindAs() operation adds a single column to a row. The new bind() operation takes multiple column definitions from as() and thus makes it possible to add multiple columns to a row and to use helper functions to define columns. |
| all | security | BUG-55249 | External Authenticate trace messages are not accurate in certain cases The External Authenticate trace message with "bad password" is overly specific when the cause is a general authentication failure |
| all | mlcp | BUG-55554 | MLCP dependencies have security vulnerablities The following dependencies which have security vunlnerabilities have been updated: - Apache Hadoop: from 2.6.0 to 2.7.2 - junit:junit: from 4.12.0 to 4.13.1 - com.thoughtworks.xstream:xstream: from 1.4.12 to 1.4.16 - org.apache.libthrift:libthrift: from 0.13.0 to 0.14.0 - com.google.guava:guava: from 11.0.2 to 25.0-jre. - commons-httpclient: from 3.1 to 4.2.3 - jackson-mapper-asl: removed |
| all | mlcp | BUG-55681 | XStream vulnerabilities in MLCP Recent vulnerabilities (CVE-2020-26258 and CVE-2020-26259) were addressed in the 1.4.15 build of XStream on 13th December 2020. As XStream is an MLCP dependency, this release contains the fixed XStream library. More information can be found at http://x-stream.github.io/ |
| all | mlcp | BUG-55899 | MLCP throws IOExceptions during scale-out events During scale-out events, MLCP throws IOExceptions if some of the splits have already finished importing. |
| all | adminGUI | BUG-55950 | SVC-EXTIME during Security upgrade Under some rare circumstances a security upgrade will exceed the current time limit (600 seconds) specified for the Admin App Server on port 8001 |
| all | Optic API | BUG-56490 | groupToArrays() and groupByUnion() in Optic The groupToArrays() operation in the Optic SJS library has been fixed to associate group rows with the correct group keys. The export of queries with the groupToArrays() and groupByUnion() operations in the Optic SJS library has been fixed to export correctly so the query can be imported or sent to the REST API. |
| all | Query Console | BUG-55719 | Query Console: Importing a workspace puts the list in random order Importing a workspace in Query Console puts the list in random order |
| all | Optic API | BUG-54865 | Query-Based Views in the Optic and REST APIs The Optic and REST APIs can now generate a QBV (Query-Based View) for persistence in the schemas database. The QBV is accessed in SQL or the Optic API in the same way as a view specified in a TDE. The Optic API produces the view with the generateView() method in SJS or the op:generate-view() function in XQuery. The /v1/rows endpoint of the REST API adds the generateView value to the enumeration of the output parameter. |
| all | Config Management | BUG-55958 | Deploy roles report OK, while role is not created In some situations /manage/v3 is reporting HTTP OK (200) for role deployment, while the role is not created because an underlying role does not exist. |
| all | Replication | BUG-55927 | Database Replication cycling between sync & async Database Replication replica forests get stuck cycling between the sync & async states. |
| all | Optic API | BUG-55908 | New operations op:exists-join() and op:not-exists-join() These are equivalent to SQL semi join and anti join. |
| all | Optic API | BUG-56429 | Optic import of random() and uuid() expressions Previously, an Optic import of a query using sem.random(), sem.uuid(), sql.rand(), or xdmp.random() expressions called the function when building the query. As a result, the random value was a constant in every row of the result. Now, the Optic import calls such functions when executing the query so the random value is different in every row. |
| all | SQL | BUG-56258 | Ambiguous column error with IBM Information Analyzer Binding a column in SQL selects, SPARQL, or Optic API with the same column name as an existing column results in ambiguous column error. |
| all | MarkLogic REST API | BUG-56327 | deadlock when reading document in multistatement transaction The REST API and thus the Java and Node.js APIs can read a document for a request that's part of a multi-statement transaction. The REST API locked the document for shared access and as a result, different multistatement transactions could become deadlocked when trying to upgrade the shared lock to an exclusive lock. |
| all | Common API | BUG-55937 | 500 error on /manage/v2/databases/database-name?view=status failure 500 error with message-code XDMP-AS on /manage/v2/databases/database-name?view=status failure when flexible replication is configured |
| all | SQL | BUG-55929 | SQL empty string Some SQL queries do not correctly distinguish empty strings |
| EC2 | DB Cloud & Cloud Infrastructure | BUG-55948 | Managed hosts in same AZ may mount incorrect data volume When two hosts in the same AZ are restarted at around the same time, it is possible that the hosts will inadvertently swap data volumes, causing XDMP-WRONGHOST errors. |
| linux(64-bit) | Semantics | BUG-55820 | Call to cts:triple-range-query() causing Bad malloc If too many values are passed to cts:triple-range-query(), a Critical error displaying "Bad malloc" may occur. |
| all | XCC/Java | BUG-56360 | XCC closes connections instead of reusing When XCC talks to load balancer/application gateway using HTTP 1.1, the keep-alive timeout header from the server is not forwarded. XCC will assign a zero timeout and close the connection, and the connection pool will not reuse connections. |
| all | DB Cloud & Cloud Infrastructure | BUG-55825 | loop on start: "let: not found" When starting, if the mlcmd initialization script is executed in the XSH shell environment, it get stuck in an infinite loop: ... Detecting eth1 from operating system ... Waiting for eth1 to be plugged in. Retry 1/20 ... [/opt/MarkLogic/mlcmd/scripts/init-config.xsh line: 137] let: not found |
| all | xdmp | BUG-55866 | Memory Leak when using Kerberos Authentication in 10.0-5.2 or later A memory leak occurs with every Kerberos authenticated login. |
| all | Backup/Restore | BUG-55599 | Forest should log error if label file has invalid journal archive path When forest label file has an invalid journal archive path, no Warning or Error is shown and the forest cannot be open the next time it is restarted. |
| all | xdmp | BUG-55792 | Forced reindexing slow In some circumstances, a forced reindexing can be slow |
| all | documentation | BUG-55789 | Examples in the POST /manage/v3 documentation do not work Some of the documentation examples for /manage/v3 gave errors |
| all | search | BUG-55928 | cts:collection-match() performance cts:collection-match() performs slow for large sets of documents (of the order of millions of documents) |
| all | SQL | BUG-55930 | LEFT OUTER JOIN in SQL or Optic with ORDER BY Not all query plans generated from a LEFT OUTER JOIN in SQL or Optic with ORDER BY returns correct results; When the bug occurs, no results are found, despite there being valid results. |
| all | Optic API | BUG-55814 | sampling in groupToArrays() As with groupBy(), the Optic groupToArrays() operation takes grouping keys and aggregates. Unlike groupBy(), the initial version of groupToArrays() only supported aggregate functions and not implicit sampling of columns. Now, the list of aggregates passed to groupToArrays() can include columns for implicit sampling. |
| all | MarkLogic REST API | BUG-56219 | language-baseline not supported in manage/v2/properties endpoint get and set of language-baseline are accepted by manage/v2/properties endpoint (GET/PUT) but have no effect |
| all | Monitoring Dashboard | BUG-55726 | Monitoring Dashboard: Numeric values in excel file exported in string format Monitoring Dashboard: Numeric values in excel file exported as string or "undefined" if not available |
| all | xdmp | BUG-55767 | HTTP request to the server errors out when a request header contains multiple encoded words The server responds to an HTTP request containing a request header that has multiple encoded words (E.g: ?UTF-8? Encoding) with a 400 error code. |
| all | xdmp | BUG-55800 | xdmp:email can't decode diacritic characters correctly xdmp:email can't decode diacritic characters correctly when user doesn't specify content-type. |
| all | JavaScript | BUG-53758 | JavaScript default app-server modules not supported JavaScript default modules index.sjs and default.sjs weren't invoked by default |
| all | Backup/Restore | BUG-54588 | Restore validation of App-Services forest from different cluster. Restore validation fails for restore operation of App-Services forest (by name) from a different cluster (by ID). |
| all | Optic API | BUG-55770 | support for namedGroup() in facetBy() The Optic API supports a facetBy() convenience for grouping to arrays. Previously, each facet had a system-assigned name. Now, the system-assigned name is a default that can be overridden by supplying a namedGroup() for the facet. |
| all | adminGUI | BUG-55748 | XDMP-TOOMANYARGS when changing modules database for triggers using Admin UI After restoring triggers from a different cluster, the modules database ids do not match anymore on the new cluster, which is expected. On Admin UI screen under Databases-{db-name}->Triggers, it provides a button to map the unknown id to a database from the current cluster. However, when this is clicked, XDMP-TOOMANYARGS is thrown. |
| all | security | BUG-55689 | AssertionConsumerServiceURL has "http://" or https://", and port irrespective of value in SAML Assertion host. If SAML Assertion host starts with "http://" or https://", AssertionConsumerServiceURL should not contain http:// or port information. |