[ 
https://issues.apache.org/jira/browse/GEODE-9450?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dan Smith resolved GEODE-9450.
------------------------------
    Resolution: Won't Fix

Closing this issue because geode-for-redis was removed in GEODE-10278

> StringBytesGlossary has a large number of MakeImmutable annotations
> -------------------------------------------------------------------
>
>                 Key: GEODE-9450
>                 URL: https://issues.apache.org/jira/browse/GEODE-9450
>             Project: Geode
>          Issue Type: Improvement
>          Components: redis
>            Reporter: Darrel Schneider
>            Priority: Minor
>
> All of the byte array constants in StringBytesGlossary are annotated with 
> MakeImmutable. This annotation indicates that changes need to be made.
> We could just change the annotation to Immutable but then we would still have 
> static fields that could actually be mutated.
> In the case of StringBytesGlossary it seems like some of the byte array 
> constants in it could be encapsulated into an Enum constant. The Enum 
> constructor would take a byte array and store it the instance. But it would 
> not have methods that allow other classes to get a reference to the byte 
> array. Instead it could just have a "boolean equalsIgnoreCaseBytes(byte[])" 
> and any other comparison methods needed and only those methods would need to 
> be coded correctly to not modify the array. This would work fine for all the 
> redis keywords we need to identify. Instead of passing a byte array to the 
> constructor we could probably just use Enum.getName() in the constructor and 
> call stringToBytes on it.
> But other constants in StringBytesGlossary are used for output to be sent 
> back the the client (for example see bPING_RESPONSE). For those we probably 
> should just mark the as Immutable.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to