Mohit20057 opened a new pull request, #9167:
URL: https://github.com/apache/storm/pull/9167
## What is the purpose of the change
This PR addresses the **`storm-client — BlowfishTupleSerializer`** sub-task
of umbrella issue #8994 (*"inventory deprecated API and remove what is marked
for removal"*).
Following the guidelines outlined in #8994 (*"One sub-task per module or
coherent group, each independently reviewable and revertable"*), this change is
scoped strictly to the removal and decoupling of `BlowfishTupleSerializer`.
Remaining deprecation cleanups and inventory tasks from #8994 will follow in
separate, modular PRs.
### Summary of Changes:
1. **Core Removal (`storm-client`)**:
- Removed
`org.apache.storm.security.serialization.BlowfishTupleSerializer` (marked
`@Deprecated(since = "2.8.6", forRemoval = true)` due to 64-bit block Sweet32
vulnerability).
- Removed its dedicated test suite `BlowfishTupleSerializerTest`.
2. **Test Decoupling (`storm-client`)**:
- In `SerializationFactoryTest`: Decoupled the custom tuple serializer
registration test by introducing a lightweight `MockTupleSerializer` stub,
maintaining full test coverage for custom serializer loading without depending
on the deleted class.
3. **Credential Redaction Decoupling (`storm-server`)**:
- In `Nimbus.java`: Preserved redaction for legacy topology configs that
might still carry `topology.tuple.serializer.blowfish.key` via a private
constant `LEGACY_BLOWFISH_SECRET_KEY`, avoiding reference to the removed class
while preventing credential leaks.
- Updated `NimbusGetTopologyConfTest` and `NimbusGetTopologyPageInfoTest`
to use the decoupled constant.
4. **Documentation**:
- Updated `docs/SECURITY.md` to note that `BlowfishTupleSerializer` has
been removed and that Netty TLS (`storm.messaging.netty.tls.enable`) is the
standard for transport encryption.
---
## How was this tested
- Built and compiled `storm-client` and `storm-server`
- Checkstyle passed with **0 violations**
- Unit tests executed and passing:
- `SerializationFactoryTest`: 5/5 passed
- `NimbusGetTopologyConfTest`: 2/2 passed
- `NimbusGetTopologyPageInfoTest`: 1/1 passed
---
## Related Issue
Part of umbrella issue: #8994
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]