The original issue was the jobclient test did not send the requested resource type, when specified in the command line eg:
After some investigation, it turned out it only affects resource types with name containing '.' characters. And the root cause is regexp from the getRequestedResourcesFromConfig method.
This regexp explicitly forbids any dots in the resource type name, which is inconsistent with the default resource type for gpu and fpga, which are yarn.io/gpu and yarn.io/fpga respectively.