dlmarion commented on code in PR #5627:
URL: https://github.com/apache/accumulo/pull/5627#discussion_r2138264260
##########
server/base/src/main/java/org/apache/accumulo/server/manager/state/TabletStateChangeIterator.java:
##########
@@ -90,17 +96,17 @@ public void init(SortedKeyValueIterator<Key,Value> source,
Map<String,String> op
}
}
- private Set<KeyExtent> parseMigrations(String migrations) {
+ static Set<KeyExtent> decodeMigrations(String migrations) {
if (migrations == null) {
return Collections.emptySet();
}
try {
Set<KeyExtent> result = new HashSet<>();
- DataInputBuffer buffer = new DataInputBuffer();
byte[] data = Base64.getDecoder().decode(migrations);
- buffer.reset(data, data.length);
- while (buffer.available() > 0) {
- result.add(KeyExtent.readFrom(buffer));
+ DataInputStream input =
+ new DataInputStream(new GZIPInputStream(new
ByteArrayInputStream(data)));
Review Comment:
Yeah, that would be the way to access it I think. Specifically,
```
CompressionAlgorithm algo =
Compression.getCompressionAlgorithmByName("zstd");
```
However, it's also dependent on the Hadoop native libraries being built and
installed on each server. If `zstd` is used on the Manager, but missing from
one TabletServer, then the scan will fail and there is no way to no apriori.
Maybe we shouldn't use zstd after all.
--
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]