@@ -849,13 +849,19 @@ private void processColumnFilters(NavigableSet<byte[]> columnFilters,
849
849
for (Map .Entry <byte [], NavigableSet <byte []>> entry : familyMap .entrySet ()) {
850
850
if (entry .getValue () != null ) {
851
851
for (byte [] columnName : entry .getValue ()) {
852
- String columnNameStr = Bytes .toString (columnName );
853
- columnNameStr = Bytes .toString (entry .getKey ()) + "." + columnNameStr ;
854
- columnFilters .add (columnNameStr .getBytes ());
852
+ byte [] family = entry .getKey ();
853
+ byte [] newQualifier = new byte [family .length + 1 /* length of "." */ + columnName .length ];
854
+ System .arraycopy (family , 0 , newQualifier , 0 , family .length );
855
+ newQualifier [family .length ] = 0x2E ; // 0x2E in utf-8 is "."
856
+ System .arraycopy (columnName , 0 , newQualifier , family .length + 1 , columnName .length );
857
+ columnFilters .add (newQualifier );
855
858
}
856
859
} else {
857
- String columnNameStr = Bytes .toString (entry .getKey ()) + "." ;
858
- columnFilters .add (columnNameStr .getBytes ());
860
+ byte [] family = entry .getKey ();
861
+ byte [] newQualifier = new byte [family .length + 1 /* length of "."*/ ];
862
+ System .arraycopy (family , 0 , newQualifier , 0 , family .length );
863
+ newQualifier [family .length ] = 0x2E ; // 0x2E in utf-8 is "."
864
+ columnFilters .add (newQualifier );
859
865
}
860
866
}
861
867
}
@@ -2180,7 +2186,7 @@ private BatchOperation buildBatchOperation(String tableName, List<? extends Row>
2180
2186
byte [] newQualifier = new byte [family .length + 1 /* length of "." */ + oldQualifier .length ];
2181
2187
System .arraycopy (family , 0 , newQualifier , 0 , family .length );
2182
2188
newQualifier [family .length ] = 0x2E ; // 0x2E in utf-8 is "."
2183
- System .arraycopy (oldQualifier , 0 , newQualifier , family .length +1 , oldQualifier .length );
2189
+ System .arraycopy (oldQualifier , 0 , newQualifier , family .length + 1 , oldQualifier .length );
2184
2190
KeyValue newKV = modifyQualifier (kv , newQualifier );
2185
2191
batch
2186
2192
.addOperation (buildMutation (newKV , INSERT_OR_UPDATE , true , put .getTTL ()));
@@ -2226,13 +2232,16 @@ private BatchOperation buildBatchOperation(String tableName, List<? extends Row>
2226
2232
for (KeyValue kv : keyValueList ) {
2227
2233
singleOpResultNum ++;
2228
2234
if (isTableGroup ) {
2229
- KeyValue new_kv = modifyQualifier (kv ,
2230
- (Bytes .toString (family ) + "." + Bytes .toString (kv
2231
- .getQualifier ())).getBytes ());
2235
+ byte [] oldQualifier = kv .getQualifier ();
2236
+ byte [] newQualifier = new byte [family .length + 1 /* length of "." */ + oldQualifier .length ];
2237
+ System .arraycopy (family , 0 , newQualifier , 0 , family .length );
2238
+ newQualifier [family .length ] = 0x2E ; // 0x2E in utf-8 is "."
2239
+ System .arraycopy (oldQualifier , 0 , newQualifier , family .length + 1 , oldQualifier .length );
2240
+ KeyValue newKV = modifyQualifier (kv , newQualifier );
2232
2241
if (disExec ) {
2233
- batch .addOperation (buildDeleteQueryAndMutate (new_kv , DEL , true , Long .MAX_VALUE ));
2242
+ batch .addOperation (buildDeleteQueryAndMutate (newKV , DEL , true , Long .MAX_VALUE ));
2234
2243
} else {
2235
- batch .addOperation (buildMutation (new_kv , DEL , true , Long .MAX_VALUE ));
2244
+ batch .addOperation (buildMutation (newKV , DEL , true , Long .MAX_VALUE ));
2236
2245
}
2237
2246
} else {
2238
2247
if (disExec ) {
0 commit comments