diff --git a/CHANGES.txt b/CHANGES.txt index d12acc953c..3a9eb2be7d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -34,6 +34,7 @@ Merged from 2.0: * Fix IllegalStateException in CqlPagingRecordReader (CASSANDRA-7198) * Fix the InvertedIndex trigger example (CASSANDRA-7211) * Add --resolve-ip option to 'nodetool ring' (CASSANDRA-7210) + * reduce garbage on codec flag deserialization (CASSANDRA-7244) Merged from 1.2: * Add Cloudstack snitch (CASSANDRA-7147) * Update system.peers correctly when relocating tokens (CASSANDRA-7126) diff --git a/src/java/org/apache/cassandra/cql3/QueryOptions.java b/src/java/org/apache/cassandra/cql3/QueryOptions.java index 5801d55887..9c2876213f 100644 --- a/src/java/org/apache/cassandra/cql3/QueryOptions.java +++ b/src/java/org/apache/cassandra/cql3/QueryOptions.java @@ -278,14 +278,15 @@ public abstract class QueryOptions TIMESTAMP, NAMES_FOR_VALUES; + private static final Flag[] ALL_VALUES = values(); + public static EnumSet deserialize(int flags) { EnumSet set = EnumSet.noneOf(Flag.class); - Flag[] values = Flag.values(); - for (int n = 0; n < values.length; n++) + for (int n = 0; n < ALL_VALUES.length; n++) { if ((flags & (1 << n)) != 0) - set.add(values[n]); + set.add(ALL_VALUES[n]); } return set; }