On 15 Nov 2017, at 09:37, Junping Du <j...@hortonworks.com<mailto:j...@hortonworks.com>> wrote:
2. From recent classpath isolation work, I was surprised to find out that many of our downstream projects (HBase, Tez, etc.) are still consuming many non-public, server side APIs of Hadoop, not saying the projects/products outside of hadoop ecosystem. Our API compatibility test does not (and should not) cover these cases and situations. We can claim that new major release shouldn't be responsible for these private API changes. But given the possibility of breaking existing applications in some way, users could be very hesitated to migrate to 3.x release if there is no safe solution to roll back. The problem here is that it has historically been impossible to write a yarn app without using APIs marked as private. I'll cite UGI as an example, bit if you look at the distributed shell example, it's happy calliing things like NMClientAsyncImpl. We lack the moral high ground to tell other projects off