This should have started happening after
MAPREDUCE-2649 went in.
MAPREDUCE-2649, immediately on app-submission, the application was created and added to the list of apps. So if the client contacts the RM with a getApplicationReport() call, it returns the application which perhaps is still in NEW state.
MAPREDUCE-2649, application is created in RMAppManager but asynchronously. So the JobClient submits the app, contacts the RM immediately for the AppReport, gets a null, fails in YarnRunner.submitJob() (+248) itself.