Druid Caching query anomaly


I mistakenly deleted one of the segment from the historical node( not through kill task, instead removing all smoosh and other files of a specific segment from the node manually).

Now when I’m querying( directly on the historical) for the data, I’m still getting results of that deleted hour segment.

I’ve disabled caching at historicals and passing “useCache”:false in query context. But still getting the results. How is the historical node giving me the data that I deleted.


Have you restarted the JVM? At least on Linux, if you delete an open file, the process that had it open will still have access to it as long as it stays running. So probably when the JVM restarts it’ll really be gone.


Ok, that explains that.

Another thing that is confusing is I have a realtime ingestion going on and a batch runs for the same after some time(when that hour realtime ingestion is over). So the segments must be overwritten. Now without restarting the JVM, will the historical give me realtime data or the newly updated data(because of batch ingestion) when I query for it.


In general you should expect to see the newly ingested batch data in this case.