I've already checked all other questions with NoNodeAvailableException, but neither was the same case and definitely the proposed solution won't work in this one.
We have Spring Boot API serving content from Cassandra 3.11.6 cluster which currently uses Java Driver 4.9.0 (in the past also older ones plus same thing happens with DBeaver which also uses the library).
The problem with NoNodeAvailableException occurs when the cluster is fully restarted. I'm not confident that it happens when the restart proceeds in rolling, graceful fashion, but when all nodes are eventually restarted a couple of times the driver apparently "gives up" and no longer tries to reconnect even though all nodes are UP/NORMAL in the nodetool (the errors_init_connection_total counter increases with every new request attempt).
It's definitely not a cluster issue, because simple app restart (or connection with other tool like DBeaver) work perfectly fine, it's just that the driver doesn't recover. For the same reasons I'm sure it's not a network issue, tried with both IP and domain endpoints with createUnresolved feature. It's also not connected to requests clutter - there were no more requests than those I could click manually in HTTP request tool.
I tried to manipulate all related properties in the application.conf which didn't help. Is there some kind of internal limit of cluster reconnections?