Is it a good idea to dynamically change the names of processing threads in Java?-Collection of common programming errors

We have a Java application that processes requests. Naturally, there is a thread pool with threads named with some insignificant names like “processor-1”, “processor-2” etc. We are wondering whether it’s a good idea to rename the processing thread each time it gets a request to a name that would indicate which request is being processed.

I have a feeling that something is wrong about it, but cannot think of a good reason. I can remember several cases of analyzing multi-threading issues from thread dumps and it was very important to me to know whether I see the same thread in two consecutive dumps or not. However, I realize that I could look at the thread ID instead. In log4j logs it’s a common practice to write the thread name and I remember many cases of filtering by it. But still I’m not sure I have a good “line of defense” here.

What is the common practice? Is it a good idea to keep renaming threads?

There are related questions like Renaming Threads in Java or Should threads in Java be named for easier debugging? but they do not address this specific issue.