Currently we are potentially at risk by being bite for interleaving stream thread ids. It is because we share the same init config number when two stream instances happen to be scheduled under one JVM. This would be bad scenario because we could have different thread-ids throughout restarts, which invalidates static membership.
For example for once our thread id assigned were 1,2,3,4 for instance A and 5, 6, 7, 8 for instance B. On the restart of both instances, the same atomic update could be applied as 1,3,5,7 for A and 2,4,6,8 for B, which changes their group.instance.ids.