NUTCH-3168 Sandbox Commons JEXL usage in crawl and index pipelines#909
Merged
lewismc merged 2 commits intoapache:masterfrom Apr 14, 2026
Merged
NUTCH-3168 Sandbox Commons JEXL usage in crawl and index pipelines#909lewismc merged 2 commits intoapache:masterfrom
lewismc merged 2 commits intoapache:masterfrom
Conversation
sebastian-nagel
approved these changes
Apr 13, 2026
Contributor
sebastian-nagel
left a comment
There was a problem hiding this comment.
+1 Looks good. Thanks, @lewismc!
Tested the CrawlDbReader with a handful JEXL expressions to filter the dumped CrawlDb.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR for NUTCH-3168.
Some unit tests validate basic/common Jexl expressions and some edge cases.
I decided to implement a brand new configuration property
nutch.jexl.disable.sandboxwhich allows users in trusted environments to bypass the sandbox. Another important design consideration was to maintain compatibility with ALL existing Jexl scripts users may have written prior to this patch.Finally, Jexl expression handling is standardized across pipelines so behavior is predictable and auditable.