in src/main/java/org/apache/datasketches/server/ResetHandler.java [43:83]
protected JsonObject processQuery(final JsonObject query) {
if (!query.has(QUERY_NAME_FIELD)) {
throw new IllegalArgumentException("Query missing sketch name field");
}
final String key = query.get(QUERY_NAME_FIELD).getAsString();
if (!sketches.contains(key)) {
throw new IllegalArgumentException("Invalid sketch name: " + key);
}
synchronized (key.intern()) {
final SketchStorage.SketchEntry se = sketches.getSketch(key);
switch (se.family_) {
case UNION:
((Union) se.sketch_).reset();
break;
case KLL:
se.sketch_ = new KllFloatsSketch(se.configK_);
break;
case FREQUENCY:
((ItemsSketch<String>) se.sketch_).reset();
break;
case HLL:
((HllSketch) se.sketch_).reset();
break;
case CPC:
((CpcSketch) se.sketch_).reset();
break;
case RESERVOIR:
((ReservoirItemsSketch<String>) se.sketch_).reset();
break;
case VAROPT:
((VarOptItemsSketch<String>) se.sketch_).reset();
break;
}
}
// nothing to return from reset calls
return null;
}