Skip to content

Continuous masking of masked variables above 4KiB

Release notes

{placeholder for release notes}

Problem

In !2979 (merged), we introduced a fix for masked variables above 4KiB, but it involved sometimes tailing the end of the variable. We discovered this was not a breaking change, as the previous masking implementation would also occasionally reveal masked variables, but in full, at any length, based on how a log line could be split across multiple Write() calls non-deterministically.

Proposal:

Remove the phrase transform and reliance on text/transform which has an internal 4 KiB buffer. Have an implementation that doesn't require a buffer, but instead counts how much of a phrase as been matched and act accordingly when it's either fully matched (write [MASKED]) or encounters a character that cannot be matched (write back all currently matched characters).

Tasks

  • New masking solution: !3482 (merged)
  • Conduct regression testing
  • Conduct performance testing
Edited by Arran Walker