Issues fixed in MarkLogic Server 9.0-10
- Last Updated: April 6, 2026
- 8 minute read
- MarkLogic Server
- Documentation
Released: Jul 25, 2019
The following issues have been addressed in this release:
| Platform | Component | Bug ID | Details |
|---|---|---|---|
| all | Encryption at REST | BUG-52678 | xdmp:keystore-validate-export( ) doesn't work xdmp:keystore-validate-export( ) doesn't work |
| all | xdmp | BUG-51891 | Segmentation fault in xdmp::ScratchExpandedTreeStorage::addBinaryNode Segmentation fault during the insert of a binary document |
| all | SQL | BUG-52105 | SQL Optimize: cast(column as Y)= X and column is not null Queries containing filters of the form AND X is (not) NULL should now be optimized. |
| all | Common API | BUG-51841 | Fix bug in handling of zip files containing certificates Previously, if a zip file contained anything that wasn't a certificate, the upload would fail. Now, non-certificate entries are simply ignored. |
| all | MarkLogic REST API | BUG-52249 | The REST Management API logs endpoint ignores the host parameter Irrespective of the host specified, the logs endpoint only lists the log files on the current host. This defect has been corrected. |
| all | xdmp | BUG-52642 | Segmentation fault in contentbuf::error accessing s3 MarkLogic may segfault processing an error condition while accessing s3. |
| all | security | BUG-51586 | External Security config does not have test button External Security config does not have test button to verify Configuration. Now new External Security Config can be verified without requiring any AppServer to connect to External Config. |
| all | xdmp | BUG-51667 | xdmp:plan doesn't show query annotation for xdmp:directory query When xdmp:plan() is called for evaluating xdmp:directory query, the query plan only shows the query key and doesn't show the query annotation. |
| all | SQL | BUG-52326 | Reindexer information in the Admin GUI incorrectly reports that reindexing has completed In some rare cases, after making a modification to a TDE view can cause the Admin GUI to falsely report that reindexing has run to completion, whereas an attempt to project that view yields an "SQL-TABLEREINDEXING: Table is being reindexed" exception message. After this fix, the Admin GUI will correctly report the current state of the reindexer. |
| all | Entity Services | BUG-51900 | Entity services model with "iri" datatype generates invalid TDE template If an entity services model includes a property with the datatype "iri", the TDE generated from it may be invalid. |
| all | Bi-Temporal | BUG-52003 | Temporal updates combined with node updates may create duplicate documents Performing a temporal update and a non-temporal node update in the same statement may create duplicate documents. |
| all | Entity Services | BUG-51589 | Entity Services generates poor templates when nested entities are involved The templates generated by Entity Services do not work properly when nested entities are involved and need to be edited by hand to make them work. |
| linux(64-bit) | Semantics | BUG-51871 | SPARQL CONSTRUCT intermittently returns a different count when ORDER BY is used A SPARQL CONSTRUCT statement could occasionally return an extra triple when it returned results that were sorted using an ORDER BY |
| all | Search API | BUG-52368 | Search API requests without use of server fields Previously, the Search API controlled diagnostic output by checking for a debug flag in a server field. Under rare conditions, when invoked repeatedly in a loop, the Search API used to throw an xdmp-get-server-field privilege error regardless of whether the debug flag was set or not. Now, the Search API uses a trace event to control diagnostic output, so the Search API never needs the xdmp-get-server-field privilege. |
| all | MarkLogic REST API | BUG-50036 | Cannot configure multiple, external KMS servers with the REST Management API The new functions for supporting HA on external KMS servers were not supported by the REST Management API. This has been fixed. |
| all | Monitoring Dashboard | BUG-52562 | Aggregate Memory Parameters Incorrect in Monitoring History In the Monitoring History page, some hourly and daily aggregate memory parameters are incorrect. Forest Memory, Unclosed Stand Memory, Cache Memory, Registered Query Memory are all affected. |
| all | Backup/Restore | BUG-51873 | Scheduled Incremental Backups made using the Admin GUI include the timezone offset whereas the XQuery API does not Scheduled backups created using the Admin GUI were storing the timezone offset. This resulted in issues when a time shift (e.g. Daylight Savings) occurred as the backups would suddenly run at a different time due to the timezone offset. |
| linux(64-bit) | Geospatial | BUG-52272 | MarkLogic server hangs during ingestion in geospatial point index MarkLogic server hangs during ingestion of really large invalid longitude in geospatial point index |
| all | SQL | BUG-52454 | Triple index universally quantified not equals operator In cases where a constructed SQL statement contains a WHERE NOT clause, MarkLogic would need to rely on filtering in order to achieve the result. In this bugfix, a universally quantified NOT EQUALS operator has been introduced which optimises these expressions |
| all | Geospatial | BUG-52107 | Geospatial Region Index with NaN coordinates causes XDMP-CORRUPT error at merge time Ingestion of geometries with NaN coordinates in the Geospatial Region Index causes XDMP-CORRUPT error at merge time |
| all | Query Console | BUG-51548 | Query console displays incorrect line number in Javascript error stack trace Query console displays incorrect line numbers in the error stack trace for Javascript queries in certain cases |
| EC2 | Utility Computing | BUG-51837 | Additional nodes in AWS AZ are missing volume Name When creating more than one node in an availability zone, only the first node assigns Volume Names. |
| all | Semantics | BUG-52722 | SPARQL with external bindings slow SPARQL queries under MarkLogic 9 may perform slower then under MarkLogic 8 in some circumstances when passing external bindings into the query. |
| all | Optic API | BUG-52383 | Optic API op.groupConcat does not take separator into account Optic API op.groupConcat does not take separator character "|" into account when using SJS |
| all | Encryption at REST | BUG-51515 | Provide a warning in Admin UI when converting from External to Internal KMS after changing from External KMS to internal, the external KMS is still needed to decrypt the journals. Appropriate warnings and description have been added to the admin UI and documentation. |
| EC2 | Utility Computing | BUG-51954 | Add support for m5ad and r5ad instances. Support has been added for the following instances: m5ad.large m5ad.xlarge m5ad.2xlarge m5ad.4xlarge m5ad.12xlarge m5ad.24xlarge r5ad.large r5ad.xlarge r5ad.2xlarge r5ad.4xlarge r5ad.12xlarge r5ad.24xlarge |
| EC2 | Utility Computing | BUG-52350 | Remove AWS region us-gov-west-1 from Cloud Formation templates Amazon Cloud Formation Templates have not been tested or validated to run in the AWS region us-gov-west-1. |
| linux(64-bit) | adminGUI | BUG-50175 | Task server display Task Server Display chart broken for some ldap users |
| all | adminGUI | BUG-51761 | Support dump missing details of multiple hosts in a cluster When creating a support dump with a cluster scope, the output contained "401 unauthorized" messages where detailed information regarding other hosts in the cluster should have been. |
| all | adminGUI | BUG-48462 | blank certificate downloaded from UI Certificate template when certificate template generated by pki:insert-template() blank certificate file gets downloaded from UI Certificate template page when certificate template is generated by pki:insert-template() |
| Azure | Utility Computing | BUG-51428 | Use Azure Application Gateway instead of Azure Load Balancer in Azure Solution Template Use Azure Application Gateway to support cookie-based session affinity. |
| all | Monitoring Dashboard | BUG-52221 | Monitoring history refresh button removes the time span/Period selection Observed Behavior: When timespan/period is refreshed in monitoring history, selection defaults to Raw irrespective of time span selection before refresh. Expected Behavior: Time span selection should not default to Raw when monitoring history is refreshed and it should preserve time span selection. |
| linux(64-bit) | search | BUG-51800 | preserve spaces as is within suggestions The REST API uses the Search API to provide suggestions. Previously, the Search API quoted a suggested value containing a space but normalized such spaces, replacing multiple contiguous spaces with a single space and thus failing to match the exact value in a string range index. Now the Search API preserves spaces in a suggestion value without changes. |
| all | MarkLogic REST API | BUG-52248 | The REST Management API logs endpoint ignores the host parameter Irrespective of the host specified, the logs endpoint always returns logs from the current host. This defect has been fixed. |
| all | security | BUG-51554 | Certificates signed outside of MarkLogic cannot be imported using the Admin GUI User could not import certificates signed outside of MarkLogic using the Admin GUI. There is now an option to upload a private key, which makes this possible. |
| all | Common API | BUG-52074 | POST to /manage/v2/databases/Triggers/triggers throws XDMP-ARGTYPE A POST to /manage/v2/databases/[id-or-name]/triggers with property-content throws XDMP-ARGTYPE. |
| all | security | BUG-51966 | Support for ECDH key exchange ECDH key exchange support now available with this release |
| all | security | BUG-52513 | Upgraded to OpenSSL 1.0.2s MarkLogic internal libraries have been upgraded to OpenSSL 1.0.2s |
| linux(64-bit) | xdmp | BUG-52231 | XDMP-MEMORY: Memory exhausted during merge During merge, forest gets XDMP-MEMORY: Memory exhausted and goes offline due to very large string values in triples |
| all | Entity Services | BUG-52222 | Entity services generates range index specifications with collations for non-string types When generating database settings from a model, Entity Services includes a collation property, even for non-string datatypes. |
| all | Search API | BUG-52462 | vulnerability in searchable-expression The Search API provides the searchable-expression element in query options for setting the first argument to cts:search() The Search API evaluates this string, thus creating an opportunity for injection attacks though mitigated by the privileges of the roles of the user executing the query. The search:check-options() function now validates that the text of the searchable expression is a single expression and thus guards against injection attacks. Adopters accepting query options from external sources should either use search:check-options() or, in the REST API, leave the validate-options property with its default value of true. |
| windows(64-bit) | MarkLogic REST API | BUG-52461 | Windows REST API bulk write with transform Bulk write with a transform in the REST API fails on Windows |
| linux(64-bit) | search | BUG-52042 | Document not identified in cts:reverse-query Under some circumstances a cts:reverse-query failed to identify a document that described a cts:not-query immediately after the document had been inserted. |
| all | xdmp | BUG-51284 | HTTPRequest Error trace event New HTTPRequest Error trace event for reporting headers of requests with code=401 failures |
| all | SQL | BUG-51810 | SQL query with DISTINCT could return wrong number of results Certain SQL queries containing a DISTINCT clause could return fewer results than expected. |
| linux(64-bit) | MarkLogic REST API | BUG-51988 | grouping or negation operator after constraint causes REST API to throw a 500 error Previously, the Search API threw a data type error (causing the REST API to throw a 500 error) if the query text for a suggestion request provided the grouping or negation operator immediately after a constraint. Now, the Search API ignores the operator during suggestion in the same way that the Search API ignores invalid query text during search. |
| all | Backup/Restore | BUG-52643 | Restore from S3 fails with SVC-S3SOCERR: SVC-SOCRECV: Connection reset by peer Network connections sometimes get unexpectedly reset by S3 while MarkLogic is reading from it. If this happens while copying a file from S3, MarkLogic treats the connection reset as a file copy error, which results in a forest/database restore failure. MarkLogic now treats S3 file copy connection resets as retryable errors, so transient S3 connection resets are recoverable. |
| linux(64-bit) | Stemming and Tokenization | BUG-51920 | Complex fields with range indexes and tokenizer overrides segfault tokenizer Given a field defined with a range index and tokenizer overrides, inserting, reindexing, refragmenting, replicating, or rebalancing a document has an instance of the field that involves multiple child elements may cause a segmentation fault in the tokenizer. |
| linux(64-bit) | search | BUG-52029 | Segmentation fault in entity extraction When the matches from a call to cts:entity-extract include matches with the same starting and ending location as well as the same keyword, a segmentation fault may arise. |
| all | adminGUI | BUG-51930 | Cluster failure upon force deleting hosts. Unusable cluster after removing a "dead" host from the cluster because replica forests are not properly deleted when force-deleting hosts. |
| all | Common API | BUG-51777 | Some manage/v2/external-security parameters ignored When POSTing a payload to /manage/v2/external-security, some parameters are ignored. For example: setting ldap-nested-lookup to false is ignored. |
| all | SQL | BUG-52103 | SQL not optimizing "AND X is (not) NULL Queries containing filters of the form AND X is (not) NULL should now be optimized. |
| all | SQL | BUG-52101 | SQL Optimizer is not optimizing OR operator Under some conditions, an SQL SELECT with nested AND/OR statements are optimized for a probable push down to index filtering. |
| all | security | BUG-52330 | amp role not updated upon inherited role update. amp roles are not updated when inherited role is updated. |
| all | security | BUG-52417 | Large number of roles & MarkLogic Security database performance Accessing resources in the security database, using either ReST API calls or the Admin GUI, could take multiple seconds if the Security database contained a very large number of roles (thousands). |
| all | xdmp | BUG-52150 | host-status doesn't report keystore status. xdmp:host-status does not detail information about the keystore. With this fix xdmp:host-status will show the status and reason for the status of its keystore. |