Issues fixed in MarkLogic Server 9.0-8
- Last Updated: April 6, 2026
- 8 minute read
- MarkLogic Server
- Documentation
Released: Dec 20, 2018
The following issues have been addressed in this release:
| Platform | Component | Bug ID | Details |
|---|---|---|---|
| all | Replication | BUG-50929 | Replica forest in mount-error state makes the database unavailable. Replica forest in mount-error state makes the database unavailable. |
| all | Admin API | BUG-51257 | /manage/v2/logs with filename The /manage/v2/logs with filename API call incorrectly conflates a date range query with a simple filename query. This resulted in the concatenation of several log files being returned. |
| all | Semantics | BUG-51183 | Sparql update performance Minor internal improvement to processing sparql updates containing both delete & insert. Improvement may not be observable when measuring total transaction time. |
| all | Query Console | BUG-51217 | Incorrect "Query result is too large" message After running a query that returns a large data set that is truncated, the notification bar shows "Query result is too large". If the query is then changed to return a shorter, non-truncated result, the notification bar incorrectly remains up showing "Query result is too large". |
| all | security | BUG-51232 | Certificate Chain Issuer Verification Chain certificate verification for external authentication |
| all | adminGUI | BUG-49813 | Security information consistency In rolling upgrade, security pages may show inconsistent information. |
| all | adminGUI | BUG-49607 | On port 8001, a 500 Internal server error is received Login with an authenticated but unauthorized user returns a 500 Internal Server Error instead of a 403 Forbidden Error. |
| all | Query Console | BUG-49302 | xdmp:spawn-function leading to connection lost with VPN Simple Query using xdmp:spawn-function leads to Query Run spinning for a while, and leading to VPN connection lost. Sample query: xquery version "1.0-ml"; let $x :=1 return xdmp:spawn-function(function() {xdmp:document-insert( fn:concat("/eee/doc", $x, ".xml"), <foo>{$x * 2}</foo>)}, <options xmlns="xdmp:eval"> <transaction-mode>update-auto-commit</transaction-mode> </options>) |
| all | SQL | BUG-50992 | right-sort-merge-join wrong result Some queries that uses right-sort-merge-join return wrong result |
| all | JavaScript | BUG-51136 | ldapSearch() results incorrect in JavaScript ldapSearch result does not support multiple values with the same key like "member". |
| linux(64-bit) | Replication | BUG-51234 | Clusters are unable to decouple if a super-database has a sub-database configured Local and foreign clusters are unable to decouple from each other if a super-database has a sub-database configured. |
| EC2 | Utility Computing | BUG-50422 | Additional EBS volumes use the default EBS Key When you're using encrypted volumes and specifying a KmsKeyId, that key will not be used for the additional volumes created by MarkLogic when the cluster starts up |
| all | adminGUI | BUG-49034 | Authenticated but unauthorized user returns 500 error Hitting an invalid path with an authenticated but unauthorized user returns a 500 error instead of a 403 error. |
| linux(64-bit) | JavaScript | BUG-51201 | Segmentation fault occurs with request cancellation. Segmentation fault(s) occur when active requests are either explicitly cancelled by some application and/or implicitly cancelled by the client. |
| all | Query Console | BUG-51216 | Query execution canceled message stuck on qconsole output After canceling a long-running query by clicking run multiple times, the output renders "Query execution canceled." and the output for subsequent non-canceled queries still shows "Query execution canceled.", where it should show query results. |
| all | Monitoring Dashboard | BUG-50938 | Meters is not honoring settings for raw Meters database doesn't retain and show data for 'performance metering retain raw' configuration for more than 8 days. |
| all | security | BUG-50838 | not possible to assert an App Server accepts client certificates only if the issuer is one of the selected CAs It is not possible to assert that an App Server accepts client certificates only if the issuer is one of the selected CAs. |
| all | Backup/Restore | BUG-50009 | Backup error message is unclear Backup error message does not include the name of the database involved. The message also uses abbreviations instead of whole words to refer to some items it lists. |
| OS X | Query Console | BUG-50975 | Query Console Workspaces dropdown doesn't scroll Having lots of workspaces means other workspaces, including the bottom file actions, cannot be selected because the dropdown doesn't scroll. |
| all | MarkLogic REST API | BUG-50096 | Putting App-Services into flash-backup mode using REST API causes Internal Server Error This is expected behavior because the Rest API is attempting to write some status information to the App-Services database however the action of putting the forest in flash-backup mode doesn’t allow updates resulting in the error message “can only read data”. The fix ensures the error message reported is more meaningful as to the cause of the problem. |
| all | xdmp | BUG-51140 | Spurious SVC-UTF8SEQ errors reported when a stack trace is automatically truncated with ellipses. Under some circumstances, while describing very large data structures as part of an exception trace (such as a stack trace describing a stack overflow), MarkLogic may throw a spurious SVC-UTF8SEQ error due to it's use of ellipses to truncate repeating elements. When this happens, this obscures the original error being reported by replacing the original exception with an SVC-UTF8SEQ exception instead. |
| all | MarkLogic REST API | BUG-51141 | QBE value queries on JSON boolean and range comparison causes a false negative result In some cases when a QBE (Query by Example) includes a range comparison and the JSON property which doesn't have a range index, with other value queries causes a false negative in the query results. |
| all | security | BUG-50955 | Change in behaviour in 9.0-7 when using Kerberos Authentication and LDAP Authorisation After upgrading to 9.0-7 from an earlier 9.0-5 or 9.0-6 server users that are authenticated using Kerberos and which use LDAP for Authorisation are unable to log in due to the LDAP Search filter using the full Kerberos Principal instead of just the username. |
| all | xdmp | BUG-47762 | ODBC TLS v1.1 or TLS v1.2 support ODBC driver does not support TLS v1.1 or TLS v1.2 |
| all | Encryption at REST | BUG-51408 | Encrypted scheduled backups purge prematurely When a scheduled backup is encrypted, it purges old backups when it starts, instead of when it finishes successfully. This is inconsistent with unencrypted scheduled backups, which purge old backups only after the new backup finishes. If a new backup fails for some reason, there is no old backup to rely on. Large backups can take a while to purge -- if purged when a backup starts the backup gets noticeably delayed. |
| all | Usage/Perf Metrics | BUG-50987 | Format change of elapsedTime in request logs The format of the elapsedTime property that is reported in the Request Log files changed from xs:dayTimeDuration to seconds (double). |
| all | Encryption at REST | BUG-50881 | Keystore Logging Messages On KMS failover MarkLogic logs, "Now connected to <host> for key store services." This log message has been changed to say "Connected to <host> for key store services." On a keystore configuration validation we also log this message. |
| windows(64-bit) | SQL | BUG-50510 | SQL queries with double-colons fail The double-colon cast syntax in SQL doesn't work. |
| all | Replication | BUG-50281 | Better diagnosis and repair facilities for Database Replication. Improved retry algorithm; Improved error messages in Error Logs. New builtin function xdmp.forestValidateReplicaIndex() provides index validation and repair functionality for replica database. |
| all | XQuery | BUG-50983 | Incorrect result for xdmp:describe of cts:collection-reference xdmp:describe on cts:collection-reference("nullable") results in an extraneous comma in the output. |
| linux(64-bit) | Optic API | BUG-50760 | Optic query with aggregate functions on decimal values were returning wrong results Optic queries containing aggregate/arithmetic functions on the decimal values were returning null for he aggregate column result. This is now fixed. Arithmetic operations on decimal datatypes will not overflow until we do not have any decimal digits to truncate. |
| all | security | BUG-50916 | MarkLogic doesn't support AWS KMS for encryption of S3 buckets For S3 encryption, MarkLogic only supports AES 256. It doesn't support AWS KMS and allow a customer to specify the key-id. |
| all | xdmp | BUG-50848 | POST request using /v1/documents REST API returns internal server error When inserting a Multi-part MIME document using the /v1/documents endpoint, the server returns internal server error if the preamble of the document contains just a CR/LF |
| all | xdmp | BUG-51055 | XDMP-BADDOCID during call to cts:classify with supports classifier cts:classify sometimes raises an XDMP-BADDOCID error due to an ongoing merge changing the Doc ID. |
| all | Validation | BUG-50776 | Schematron validation prints out unwanted characters in the output schematron:validate() prints out unwanted characters in the output when the JSON document to be validated has number, boolean or null nodes |
| all | xdmp | BUG-51309 | Server crashes with forests being retired and employed. When forests are repeatedly retired and employed within a short time interval, the server crashes with XDMP-TOOMANYSTANDS and XDMP-FOUNDSTANDS errors. |
| all | mlcp | BUG-51181 | mlcp connection to MarkLogic through load balancer mlcp cannot connect to MarkLogic Server through a load balancer by default without -restrict_hosts option. |
| all | Monitoring Dashboard | BUG-51083 | Monitoring History XSS Guard against cross-site scripting in Monitoring History |
| all | mlcp | BUG-51167 | Attributes in no namespace in Aggregates are ingested as in default namespace mlcp is creating documents with attributes in default namespace when no namespace is present for the attribute in input Aggregates XML document |
| all | security | BUG-50645 | Expired CRLs If MarkLogic only has expired CRLs for a CA, then we do not log a warning about expired CRLs when a client cert of the CA tries to connect to MarkLogic AppServer. |
| all | Replication | BUG-51360 | Bulk Replication Updates throttled While bulk replicating, updates are unnecessarily throttled. |
| all | search | BUG-50017 | cts:field-word-query raises XDMP-NOFIELD Executing a search with a cts:field-word-query raises XDMP-NOFIELD when called via xdmp:invoke-function against a different database. |
| Azure | Geospatial | BUG-51165 | MarkLogic throws XDMP-GEOREGIONIDX MarkLogic throws XDMP-GEOREGIONIDX with a Geospatial Region Index configured when attempting to ingest WKT multipart geometries |
| all | Tiered Storage | BUG-51178 | Read after write with Super/Sub databases After inserting a document into sub databases, super database cannot read the same document immediately. |
| all | Validation | BUG-50694 | Schematron validation generates incorrect XPath in the "location" attribute Schematron validation generates incorrect XPath for document nodes in the "location" attribute in the output |
| all | Common API | BUG-51224 | REST Management API : application server unintentional deletion Attempting to create an application server that already exists will cause the REST Management API to delete the existing application server. |
| all | Replication | BUG-51166 | xdmp.forestDatabaseReplicationSuspend and xdmp.forestDatabaseReplicationResume require admin privilege. xdmp.forestDatabaseReplicationSuspend and xdmp.forestDatabaseReplicationResume require admin privilege as the execute privileges for these two builtins do not exist in security.xml. |
| all | Encryption at REST | BUG-51238 | KMS Error Messages Add details to the Decrypt/Encrypt failed messages seen. |
| all | Search API | BUG-50809 | Search options in Search and REST APIs Previously, the search:check-options() function of the Search API and thus the /v1/search endpoint with validation enabled in the REST API didn't recognize the following search options within query options: "distance-weight=NUMBER" "lexicon-expand=(full|prefix-postfix|off|heuristic" "lexicon-expansion-limit=NUMBER" "limit-check|no-limit-check" As a result, these search options were ignored. Now, these search options are passed through to cts:search(). |
| all | search | BUG-51074 | False negatives in wildcarded query with punctuation With word searches and three character searches enabled (with positions), a wildcarded punctuation sensitive word query involving punctuation may produce false positives. Example: cts:word-query("an-example-here*",("case-insensitive","wildcarded")) |
| all | xdmp | BUG-50914 | AppServer hangs when a schema is imported Importing a schema with nested schema imports hangs the AppServer |
| all | Query Console | BUG-51231 | Query Console drag to highlight name moves tab Renaming a tab with drag to highlight using mouse lift the tab instead of highlighting text with Query Console in 9.0-7 |
| all | xdmp | BUG-51218 | XDMP-BADCHAR thrown when serializing high codepoints with text method Serialization (for example using xdmp:save) using the text method may throw the exception XDMP-BADCHAR for codepoints outside of the basic multilingual plane. Serialization of the same sequence using a different output method will succeed (the character will be escaped). |
| all | Replication | BUG-51173 | xdmp.forestCounts reports wrong reindex-refragment results In the event where a database is configured with stemmed searches and that database contains a field where stemmed searches is disabled, in a database replication scenario, xdmp.forestCounts reports wrong reindex-refragment results on the replica forest when queried against a different database. |
| all | xdmp | BUG-51249 | A stand is left unmergeable A stand can be left unmergeable during rebalancing until forest restart. |