Are there impacts of using 4.x clients with a 5.x server?
2 answers
There will always be an extra overhead of using any client that is not exactly the same version as the client since the server needs to compare versions and provide appropriate serialization to the client, however a number of performance related defects have been identified and resolved between 4.0.5 and 5.0.2, in the 5.0.2 all of the major performance bottlenecks have been resolved.
Fixed in 5.0.2
295511: Reduce Lock Contention in a mixed client (N-1) environment
APAR PI22153
Fixed in 5.0.1
324298: Too much synchronization on ComponentConfigurationRegistry.ensureMapsAreInitialized()
APAR PI22170
Fixed in 5.0
206501: bottleneck in ComponentRegistry.getComponentDescriptorForServiceUri
APAR PI19783
Fixed in 4.0.6
289275: Performance impacted 50% by using 3.0.1 RTC client against RTC 4.0.5 server
APAR PI06466
APAR PI22153
Fixed in 5.0.1
324298: Too much synchronization on ComponentConfigurationRegistry.ensureMapsAreInitialized()
APAR PI22170
Fixed in 5.0
206501: bottleneck in ComponentRegistry.getComponentDescriptorForServiceUri
APAR PI19783
Fixed in 4.0.6
289275: Performance impacted 50% by using 3.0.1 RTC client against RTC 4.0.5 server
APAR PI06466
Consequently, while supported, it is not recommended to use 4.x clients with either 5.0 or 5.0.1 if it can be avoided. Either update your server to 5.0.2 or update clients to match your server to avoid these issues.
Meanwhile, as I mentioned above, there will always be an overhead if the client and server are not exactly the same version, so for best results it's always advisable to have clients and servers on precisely the same version.