Repository navigation
MLE-27876: merge release 12.1.0 - #628
Conversation
MLE-27612: branching 12.1.0
MLE-27615: replace XCC jar
|
@copilot resolve the merge conflicts in this pull request |
There was a problem hiding this comment.
🟡 Changes recommended
Unresolved critical XML-security and mapper-failure handling issues remain, along with compatibility and workflow concerns.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Merges mlcp release 12.1.0 with MarkLogic 12.1 compatibility, dependency updates, security hardening, and robustness fixes.
Changes:
- Updates release metadata, Avro, documentation, and repository configuration.
- Adds request/header handling, validation, null-safety, and concurrency improvements.
- Adds XML/TLS hardening and updates numerous source headers and utilities.
File summaries
| File | Summary |
|---|---|
src/main/java/com/marklogic/tree/NodeKind.java |
Copyright header update. |
src/main/java/com/marklogic/tree/ExpandedTree.java |
Null-safe trace logging. |
src/main/java/com/marklogic/tree/CompressedTreeDecoder.java |
Copyright header update. |
src/main/java/com/marklogic/tree/Capability.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/ZipEntryInputStream.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/ValueReader.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/ValueInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/utilities/URIUtil.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/utilities/TextArrayWritable.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/utilities/StatisticalAssignmentPolicy.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/utilities/SegmentAssignmentPolicy.java |
License header added. |
src/main/java/com/marklogic/mapreduce/utilities/RestrictedHostsUtil.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/utilities/RangeAssignmentPolicy.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/utilities/QueryAssignmentPolicy.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/utilities/LegacyAssignmentPolicy.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/utilities/InternalUtilities.java |
Host validation and SSL error logging. |
src/main/java/com/marklogic/mapreduce/utilities/ForestInfo.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/utilities/ForestHost.java |
License header added. |
src/main/java/com/marklogic/mapreduce/utilities/BucketAssignmentPolicy.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/utilities/AssignmentPolicy.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/utilities/AssignmentManager.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/test/FCheck.java |
Directory-listing failure handling. |
src/main/java/com/marklogic/mapreduce/StreamLocator.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/SslConfigOptions.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/RegularBinaryDocument.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/PropertyWriter.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/package-info.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/NodeWriter.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/NodeReader.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/NodePath.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/NodeInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/MarkLogicOutputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/MarkLogicNode.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/MarkLogicInputSplit.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/MarkLogicInputFormat.java |
Header detection and response handling. |
src/main/java/com/marklogic/mapreduce/MarkLogicDocument.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/MarkLogicCounter.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/LinkedMapWritable.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/LargeBinaryDocument.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/KeyValueWriter.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/KeyValueReader.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/KeyValueOutputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/KeyValueInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/JSONDocument.java |
Transformer XXE restrictions. |
src/main/java/com/marklogic/mapreduce/InternalConstants.java |
License header added. |
src/main/java/com/marklogic/mapreduce/Indentation.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/Words.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/WordMatch.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/ValuesOrWordsFunction.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/Values.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/ValueOrWordMatchFunction.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/ValueMatch.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/ValueCooccurrences.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/Uris.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/UriMatch.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/Reference.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/PathReference.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/package-info.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/LexiconFunction.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/FieldWords.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/FieldWordMatch.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/FieldValues.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/FieldValueMatch.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/FieldValueCooccurrences.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/ElemValueCooccurrences.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/ElementWords.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/ElementWordMatch.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/ElementValues.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/ElementValueMatch.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/ElementAttributeWords.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/ElementAttributeWordMatch.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/ElementAttributeValues.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/ElementAttributeValueMatch.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/ElemAttrValueCooccurrences.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/CooccurrencesFunction.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/Collections.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/functions/CollectionMatch.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/ForestReader.java |
Parent-path validation. |
src/main/java/com/marklogic/mapreduce/ForestInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/ForestDocument.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/examples/ZipContentLoader.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/examples/RevisionGrouper.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/examples/package-info.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/examples/LinkCountValue.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/examples/LinkCountInProperty.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/examples/LinkCountInDoc.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/examples/LinkCountHDFS.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/examples/LinkCountCooccurrences.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/examples/LinkCount.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/examples/HelloWorld.java |
Handles missing XML root elements. |
src/main/java/com/marklogic/mapreduce/examples/ContentReader.java |
TLS and output-path updates. |
src/main/java/com/marklogic/mapreduce/examples/ContentLoader.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/examples/BinaryReader.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/DOMDocument.java |
Transformer security and null-safe text handling. |
src/main/java/com/marklogic/mapreduce/DocumentURIWithSourceInfo.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/DocumentURI.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/DocumentReader.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/DocumentInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/DatabaseDocument.java |
Empty-content fallback. |
src/main/java/com/marklogic/mapreduce/CustomContent.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/ContentWriter.java |
Constructor cleanup. |
src/main/java/com/marklogic/mapreduce/ContentType.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/ContentOutputFormat.java |
Header detection and response validation. |
src/main/java/com/marklogic/mapreduce/CompressionCodec.java |
Copyright header update. |
src/main/java/com/marklogic/mapreduce/BinaryDocument.java |
Copyright header update. |
src/main/java/com/marklogic/io/Decoder.java |
Corrects 64-bit shifts. |
src/main/java/com/marklogic/io/BiendianDataInputStream.java |
Copyright header update. |
src/main/java/com/marklogic/dom/TextImpl.java |
Copyright header update. |
src/main/java/com/marklogic/dom/ProcessingInstructionImpl.java |
Copyright header update. |
src/main/java/com/marklogic/dom/package-info.java |
Copyright header update. |
src/main/java/com/marklogic/dom/NodeListImpl.java |
Copyright header update. |
src/main/java/com/marklogic/dom/NodeImpl.java |
Namespace and node-equality fixes. |
src/main/java/com/marklogic/dom/ElementImpl.java |
Copyright header update. |
src/main/java/com/marklogic/dom/DocumentTypeImpl.java |
Copyright header update. |
src/main/java/com/marklogic/dom/DocumentImpl.java |
Null-safe namespace lookups. |
src/main/java/com/marklogic/dom/CommentImpl.java |
Null-safe namespace lookups. |
src/main/java/com/marklogic/dom/CharacterDataImpl.java |
Null-safe character-data handling. |
src/main/java/com/marklogic/dom/AttrImpl.java |
Null-safe namespace lookups. |
src/main/java/com/marklogic/dom/AttributeNodeMapImpl.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/ZipDelimitedJSONReader.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/Versions.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/utilities/ZipInputStream.java |
License header added. |
src/main/java/com/marklogic/contentpump/utilities/XMLUtil.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/utilities/XMLDocBuilder.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/utilities/ReflectionUtil.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/utilities/PermissionUtil.java |
Output-host validation. |
src/main/java/com/marklogic/contentpump/utilities/OptionsFileUtil.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/utilities/JSONDocBuilder.java |
Null-safe exception handling. |
src/main/java/com/marklogic/contentpump/utilities/IdGenerator.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/utilities/FileIterator.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/utilities/EncodingUtil.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/utilities/DocBuilder.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/utilities/DelimitedSplit.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/utilities/CSVParserFormatter.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/utilities/CommandlineOptions.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/utilities/CommandlineOption.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/utilities/AuditUtil.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/TransformWriter.java |
Null-safe error handling. |
src/main/java/com/marklogic/contentpump/TransformOutputFormat.java |
Output-host validation. |
src/main/java/com/marklogic/contentpump/ThreadManager.java |
Thread allocation and polling changes. |
src/main/java/com/marklogic/contentpump/StreamingDocumentReader.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/StreamingDocumentInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/SingleDocumentWriter.java |
Parent-path validation. |
src/main/java/com/marklogic/contentpump/SingleDocumentOutputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/SequenceFileValueType.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/SequenceFileValue.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/SequenceFileReader.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/SequenceFileKey.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/SequenceFileInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/RDFWritable.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/RDFReader.java |
Permission and response validation. |
src/main/java/com/marklogic/contentpump/RDFInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/OutputArchive.java |
Archive creation and rollover handling. |
src/main/java/com/marklogic/contentpump/MultithreadedMapper.java |
Runner synchronization and failure tracking. |
src/main/java/com/marklogic/contentpump/LocalJobRunner.java |
Poller startup and runner latches. |
src/main/java/com/marklogic/contentpump/InputType.java |
Role-map response validation. |
src/main/java/com/marklogic/contentpump/GzipDelimitedJSONReader.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/FileAndDirectoryInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/ExportOutputType.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileValue.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileReader.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileKey.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/examples/SimpleSequenceFileCreator.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/DocumentPathFilter.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/DocumentMetadata.java |
Null-safe format parsing. |
src/main/java/com/marklogic/contentpump/DocumentMapper.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/DelimitedTextInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/DelimitedJSONReader.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/DelimitedJSONInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/DatabaseTransformWriter.java |
Retry logging. |
src/main/java/com/marklogic/contentpump/DatabaseTransformOutputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/DatabaseContentWriter.java |
Constructor cleanup. |
src/main/java/com/marklogic/contentpump/DatabaseContentReader.java |
Response and permission robustness. |
src/main/java/com/marklogic/contentpump/DatabaseContentOutputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/DatabaseContentInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/ContentWithFileNameWritable.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/ContentPumpReporter.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/ContentPump.java |
Library-listing failure handling. |
src/main/java/com/marklogic/contentpump/CompressedRDFReader.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/CompressedRDFInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/CompressedDocumentReader.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/CompressedDocumentInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/CompressedDelimitedTextReader.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/CompressedDelimitedTextInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/CompressedDelimitedJSONInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/CompressedAggXMLReader.java |
XML security configuration. |
src/main/java/com/marklogic/contentpump/CompressedAggXMLInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/CombineDocumentSplit.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/CombineDocumentReader.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/CombineDocumentInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/ColumnDataType.java |
Trimmed parsing. |
src/main/java/com/marklogic/contentpump/ArchiveRecordReader.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/ArchiveOutputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/ArchiveInputFormat.java |
Copyright header update. |
src/main/java/com/marklogic/contentpump/AggregateXMLReader.java |
XML security configuration. |
src/main/java/com/marklogic/contentpump/AggregateXMLInputFormat.java |
Copyright header update. |
README.md |
Adds 12.1 release notes. |
pom.xml |
Sets version 12.1.0 and updates Avro. |
.gitignore |
Ignores VS Code metadata. |
.github/workflows/pr-workflow.yaml |
Removes JIRA validation workflow. |
.copyrightconfig |
Adds copyright validation configuration. |
Review details
Suppressed comments (4)
.github/workflows/pr-workflow.yaml:1
- Deleting this workflow removes the repository's JIRA-ID validation from every future pull request. The release merge does not document a policy change, so this would silently disable a repository guard; restore the workflow unless that change is intentional and separately approved.
src/main/java/com/marklogic/contentpump/LocalJobRunner.java:225 - The fixed-delay poller is scheduled here and
shutdownThreadPool()is called immediately afterward. With the default one-minute initial delay, short jobs shut down the scheduler before the first polling cycle, so auto-scaling does not run; longer jobs can get at most a single cycle before shutdown. Keep the scheduler alive through the polling period or start it earlier with a synchronization strategy that prevents the task-list race.
src/main/java/com/marklogic/mapreduce/examples/ContentReader.java:106 - This example now enables only TLSv1.3 and also creates a TLSv1.3-only SSLContext at line 111, although the release note removes TLSv1 and the connector still explicitly supports TLSv1.2 (
Command.java:2786-2789). Deployments limited to TLSv1.2 will fail with the documented example; use a generic TLS context with both secure protocols enabled, or document the TLSv1.3-only requirement.
src/main/java/com/marklogic/tree/NodeKind.java:2 - This merge rolls the copyright end year backward from 2020 to 2015, and the same regression appears across many other files (including 2024/2025 headers). Other touched files already use 2026, so the release should preserve each file's existing end year or update headers consistently rather than removing the record of later contributions.
- Files reviewed: 200/204 changed files
- Comments generated: 10
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…se-12.1.0 # Conflicts: # NOTICE.txt # README.md # pom.xml # src/lib/marklogic-xcc-12.0.1.jar Co-authored-by: yakov-feldman <168042411+yakov-feldman@users.noreply.github.com>
Done — I merged |
No description provided.