Issues fixed in MarkLogic Server 9.0-13
- Last Updated: April 6, 2026
- 7 minute read
- MarkLogic Server
- Documentation
Released: Jul 31, 2020
The following issues have been addressed in this release:
| Platform | Component | Bug ID | Details |
|---|---|---|---|
| linux(64-bit) | xdmp | BUG-54481 | Segmentation fault in Journal::writeJournal Under some circumstances, occasional segmentation faults are caused in Journal::writeJournal which will result in the MarkLogic process restarting. MarkLogic will recover any Journalled transactions after restarting. |
| all | adminGUI | BUG-54691 | Creating an external security object LDAP and attaching it to an App server with changing port to 50002, results in '500: Internal Server Error Creating an external security object LDAP and attaching it to an App server with changing port to 50002, results in '500: Internal Server Error |
| all | MarkLogic REST API | BUG-54285 | GET error on /v1/graphs when graph has triples The /v1/graphs endpoint of the REST API support the Graphs Protocol for writing and reading graphs of triples. Previously, if a GET request specified a graph with triples that was not written using the REST API, the endpoint responded with a RESTAPI-NODOCUMENT error. Now, if the triples existing, the GET request returns the triples regardless of whether or not the graph was written with the REST API. |
| all | Optic API | BUG-54763 | Export of query deserialized by cts.query() An Optic builder can specify a constraining cts.query in a where operation. Previously, if the cts.query was parsed by the SJS cts.query() function, an export() operation threw an error. Now, the export() operation succeeds, and the exported query plan can be re-imported later and executed. |
| all | Common API | BUG-54872 | Creating metadata fields with JSON does not work Attempting to create a metadata field with a JSON payload will fail because the metadata property is lost. |
| all | xdmp | BUG-54178 | XDMP-KEYMISMATCH errors Under some rare circumstances, certain documents become unreadable with XDMP-KEYMISMATCH errors; these are the result of corruption in a stands URIKeys or UniqKeys file. This can cause the rebalancer or reindexer to repeatedly fail until the issue is resolved. |
| all | Semantics | BUG-54398 | SPARQL query performance degradation in 9.0-11 Some SPARQL queries using VALUES are not optimized correctly |
| linux(64-bit) | xdmp | BUG-55162 | Segfault during call to xdmp::BalancedPositionTree::saveTraversal() for inMemoryRangeIndexes Under some rare cases a segmentation fault can take place in xdmp::BalancedPositionTree causing the MarkLogic process to restart. |
| all | Query Console | BUG-54770 | Unable to download binary files from Query Console using Explorer Unable to download binary files from Query Console using Explorer |
| all | MarkLogic REST API | BUG-54786 | Inconsistent REST treatment of partition-number value An invalid empty value for partition-number is exported by a REST GET, and an error is returned even though a POST of similar values succeeds. |
| OS X | xdmp | BUG-52935 | stackshot does not exist on newer macOS versions MarkLogic tries to run stackshot when it crashes on mac, unfortunately stackshot does not exist on macOS 10.11 and newer. |
| all | Monitoring Dashboard | BUG-53162 | Monitoring History: shortcut links show too small granularity by default Appropriate reporting period is not being set when clicking Shortcut links 1d, 1h, 30d in Monitoring History |
| all | MarkLogic REST API | BUG-54869 | /v1/rows limit when applying a mapping function The /v1/rows endpoint of the REST API can apply a mapping function to transform the result rows provided in the response. Previously, when applying the mapping function to more than 4096 rows, the request failed with a JS-FROM-LIMITEXCEEDED error. Now, the request can apply the mapping function to 262,144 rows in a single request. Regardless of whether the request applies a mapping function, if the query returns a large number of rows, the client should page over the result rows. |
| linux(64-bit) | xdmp | BUG-54697 | large negative xs:long values handled incorrectly When accessed from a node over XDQP, large negative values may change, or throw XDMP-WRITE error on writing a document, or throw XDMP-CANTDECODEQUERYKIND when searching with rolesets. |
| all | adminGUI | BUG-54349 | Admin GUI: Deleting a database field does not delete its correcponding field range indexes Deleting a database field through admin GUI does not delete its corresponding field range indexes |
| all | Semantics | BUG-54721 | SPARQL externally variables in group by SPARQL externally bound variables used in a group by cause XDMP-INTERNAL |
| linux(64-bit) | SQL | BUG-54516 | Segmentation fault under memory pressure and load Segmentation fault under memory pressure and load in OrderedCompositePlanIterator |
| all | Semantics | BUG-54781 | SPARQL Query XDMP-MEMCANCELED In some circumstances, SPARQL Query will failing with XDMP-MEMCANCELED; For the cases identified, SPARQL query optimizations are improved with this release; |
| linux(64-bit) | Semantics | BUG-54626 | SPARQL performance regression in query with != filters SPARQL performance in query with != filters is slower than in v8 |
| all | xdmp | BUG-51492 | Transient read-after-write failure under heavy load On a heavily loaded cluster a transient read-after-write failure can occur following an XDQP restart. |
| all | Utility Computing | BUG-54628 | Licence key change via AdminUI doesn't work on AWS Managed Cluster Changes done to the license key through the admin ui do not have any effect if there is a license key in the user data or /etc/marklogic.conf. |
| linux(64-bit) | xdmp | BUG-54724 | Segmentation fault caused when parsing External Variables over an XDBCInvoke Segmentation fault caused when parsing External Variables over an XDBCInvoke. When using Request.setNewVariables() on the client side, circumstances under which an empty value is bound to a variable as part of a sequence. The fix now handles this scenario. |
| all | documentation | BUG-54463 | Broken link to Adaptive Technology Resource Centre in accessibilityCheck option for xdmp.tidy (and xdmp:tidy) Broken link to Adaptive Technology Resource Centre in accessibilityCheck option for xdmp.tidy (and xdmp:tidy) |
| all | security | BUG-54683 | RPM SHA256 signature support MarkLogic Server rpm packages now include SHA256 signatures both in the header and payload. |
| all | xdmp | BUG-55002 | Rebalancer with Segment or Legacy Assignment Policy To correct a rare but significant bug in the Rebalancer, the Rebalancer may now take longer to complete when the database's forest assignment policy is set to 'legacy' or 'segment'. |
| all | adminGUI | BUG-54592 | Admin GUI: Prefilled random values in "Password" and "Confirm Password" fields An admin user attempting to change his password could append characters to the "Password" and "Confirm password" fields without emptying them beforehand. |
| all | search | BUG-54836 | Database refragmenting is stuck when fragment parent has commented out elements When an element configured as a fragment parent for a database has commented out elements in the document, any configuration changes to the database cause the reindex/refragment to be stuck. |
| all | xdmp | BUG-54877 | Segmentation fault in xdmp::Journal::writeJournal Occasional segmentation fault in xdmp::Journal::writeJournal |
| all | Entity Services | BUG-54876 | Entity Services conversion for JSON null nodes fails with an XDMP-CAST error Entity Services provides the es.instanceConverterGenerate() / es:instance-converter-generate() functions to generate a converter function for entity instances. If a JSON instance has a property with a JSON null value, the conversion function fails with an XDMP-CAST error. E.g.: [1.0-ml] XDMP-CAST: (err:FORG0001) xs:string(.) -- Invalid cast: () cast as xs:string |
| all | xdmp | BUG-53651 | Segmentation fault in JournalArchive::writeJournal Under some circumstances, occasional segmentation faults are caused in JournalArchive::writeJournal which will result in the MarkLogic process restarting. The backup will fail as a result of this and will need to be restarted. |
| linux(64-bit) | Query Console | BUG-53821 | Query Console keyboard lag Query Console users experience noticeable lag times between keypress and when it renders on screen when there are a large number of queries contained in the workspace, or when one or more of the queries is very large. |
| all | documentation | BUG-54903 | Documentation for xdmp:sql incorrectly states that the built-in should not be used in production In the document for xdmp:sql, the summary states that the function: Executes an ad hoc SQL query. This function is for testing your SQL views when data modeling; it is not intended to be used directly in applications. This is not true; xdmp:sql can be used in production. |
| all | JavaScript | BUG-54482 | [JavaScript] Repeated request headers missing in xdmp.httpGet result. Repeated request headers are missing in xdmp.httpGet result (for example: xdmp.httpGet('https://httpbin.org/response-headers?Set-Cookie=a&Set-Cookie=b') ); Only affects the javascript version of xdmp.httpGet |
| all | adminGUI | BUG-54595 | Admin GUI invalid coercion (XDMP-AS) where last-startup date is not available Under some rare circumstances, after making a host level change, the following exception may be encountered: XDMP-AS: (err:XPTY0004) let $last-startup as xs:dateTime := xdmp:host-status($host)/hs:last-startup -- Invalid coercion: () as xs:dateTime In /wait-server-restart.xqy on line 177 At present, the $last-startup value is required but there may be circumstances where there is no value returned. |
| all | SQL | BUG-54552 | "SELECT * from sys_tables" query not listing all views that a user has access to When a TDE schema has a mix of protected and unprotected views, the query "SELECT * from sys_tables" does not list unprotected views for a user that is expected to see unprotected views . |
| all | adminGUI | BUG-54567 | Query Console taking long time to retrieve properties for large documents Query Console taking long time to retrieve properties for large documents |
| all | Search API | BUG-54658 | datatype lookup for property name with underscore in JSON QBE When a JSON QBE uses a property with an undeclared datatype in a range query, QBE looks up the datatype of the range index for the property. Previously, if the name of the property contained an underscore, the look up used a name with two underscores and thus the lookup failed with an XDMP-ELEMRIDXNOTFOUND error. Now, the lookup uses a name with one underscore and succeeds if the range index exists. |
| all | Optic API | BUG-54250 | deduplication in op.fromTriples() and op:from-triples() The Optic API op.fromTriples() and op:from-triples() accessors take options to determine whether to remove duplicate triples. Checking for duplicate triples can slow down retrieval of triples even if there are no duplicate triples. |
| all | Utility Computing | BUG-54764 | Unable to deploy new MarkLogic Cluster using the existing VPC CloudFormation template The selection order of the subnets was not maintained by the AWS, and this leads to the creation of resources in different availability zones. So when ML gets initialized the volume attachment issue arises. In order to fix this, we have replaced the list of subnets parameter to individual parameters. In this way, we can maintain the order of selection corresponding to AZ's. |
| linux(64-bit) | SQL | BUG-54381 | sql.timestampdiff('SQL_TSI_SECOND') returns unexpected value. This change ensures that specifying SQL_TSI_SECOND correctly returns the difference in seconds. Prior to fixing the call would return the same result as a call to sql:timestampdiff('SQL_TSI_MINUTE', ... ) |
| all | Semantics | BUG-54868 | Correction in the namespace datatype of RDF boolean literal RDF boolean literal was stored in Xpath namespace, whereas the correct namespace with regards to the W3C spec should be http://www.w3.org/2001/XMLSchema#boolean |
| all | MarkLogic REST API | BUG-54680 | Get "/manage/v2/protected-collections" 404 Get "/manage/v2/protected-collections" will return 404 if we delete a role associated with any protected-collections |
| all | mlcp | BUG-54708 | MLCP fails with a mixed versioned cluster (during a rolling upgrade) During a rolling upgrade, if there is a mixed cluster that has 10.0-4 MarkLogic with lower versions (e.g. 10.0-3 with 10.0-4), running MLCP job with 10.0-4 MLCP may fail. |