We’ve encountered an unexpected behavior with Temporal signals that are not being encrypted, despite implementing a custom encryption algorithm within our data converter. This converter has been reliably encrypting and decrypting payload data, with the exception of a few signals.
The puzzling aspect of this issue is that it only occurs in our non-production environment. In our production environment, all data, including signals, is properly encrypted and decrypted as expected.
To investigate, I’ve added logging to both the Encode and Decode methods of our data converter. From these logs, it’s evident that data is indeed passing through the Encode function whenever a workflow signal is encountered.
However, upon inspecting the Temporal UI, we’ve noticed that the encoding type is listed as binary/plain
, which contradicts our expectations. We can confirm that the Encode method is being called, and the signal appears to be successfully encoded.
Furthermore, we’ve ensured that all applications are freshly deployed in our cluster, ruling out any possibility of legacy implementations causing interference.
We’re at a loss as to why this discrepancy exists between our non-production and production environments. Any insights or suggestions would be greatly appreciated.