In the current XML loader, the behavior is that, the XMLLoaderBufferedPositionedInputStream reads the entire XML file without considering the split start and end locations.
Hence if there is an XML > block size, the MR will execute multiple mappers but in all the mappers the loaders will load the entire XML file.
ie If i have an XML of size 256mb and the block size is 128mb there will be two mappers , but because of the loader, both the mappers will read the entire file regardless of the split boundaries . This is functionally wrong. This is the reason why I marked it as unsplitable.