Right now the external shuffle service uses Scala Tuple2. However, the Scala library won't be shaded into the yarn shuffle assembly jar. Then when the codes are called, it will throw ClassNotFoundException.
Right now it's safe because we disabled spark.reducer.maxReqSizeShuffleToMem by default. However, to allow using spark.reducer.maxReqSizeShuffleToMem for Yarn users, we should remove all usages of Tuples.