Add infosetWalkerSkipMin/Max tunables#885
Merged
stevedlawrence merged 1 commit intoapache:mainfrom Dec 5, 2022
Merged
Conversation
mbeckerle
approved these changes
Dec 2, 2022
Contributor
mbeckerle
left a comment
There was a problem hiding this comment.
+1
Suggest just adding doc that these tunables are really for an advanced test mode, not for user tuning.
| Daffodil periodically walks the internal infoset to send events to the configured | ||
| InfosetOutputter, skipping at least this number of walk attempts. Larger values | ||
| mean delayed InfosetOutputter events and more memory usage; Smaller values mean | ||
| more CPU usage. Set this value to zero to never skip any walk attempts. |
Contributor
There was a problem hiding this comment.
Suggest adding phrasing that this is specifically for an advanced testing behavior, and should not need to be adjusted by users ever.
Allows configuration of how often the InfosetWalker skips walk() calls. Setting to a value of zero disables skipping walk() calls. A value of zero is useful during testing to ensure the InfosetWalker isn't incorrectly removing infoset elements, which can lead to seemingly random null pointer exceptions. Add multiple tests to show that the InfosetWalker currently removes infoset elements that are still needed by separator logic, that this does not arise in a particular case with the default skip min/max values, and that disabling infoset removal works around the issue. DAFFODIL-2755
b962b3d to
8174373
Compare
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.
Allows configuration of how often the InfosetWalker skips walk() calls. Setting to a value of zero disables skipping walk() calls. A value of zero is useful during testing to ensure the InfosetWalker isn't incorrectly removing infoset elements, which can lead to seemingly random null pointer exceptions.
Add multiple tests to show that the InfosetWalker currently removes infoset elements that are still needed by separator logic, that this does not arise in a particular case with the default skip min/max values, and that disabling infoset removal works around the issue.
DAFFODIL-2755
Note, this does not fix 2755, just makes it easier to create a reproducible test to trigger the issue.