Description
test HadoopCommandLineTest.testHiveCommandLine reproducibly fails due to failed assertion:
java.lang.AssertionError at org.apache.ignite.internal.processors.hadoop.impl.v2.HadoopV2TaskContext.readExternalSplit(HadoopV2TaskContext.java:505) at org.apache.ignite.internal.processors.hadoop.impl.v2.HadoopV2TaskContext.getNativeSplit(HadoopV2TaskContext.java:483) at org.apache.ignite.internal.processors.hadoop.impl.v1.HadoopV1MapTask.run(HadoopV1MapTask.java:75) at org.apache.ignite.internal.processors.hadoop.impl.v2.HadoopV2TaskContext.run(HadoopV2TaskContext.java:257) at org.apache.ignite.internal.processors.hadoop.taskexecutor.HadoopRunnableTask.runTask(HadoopRunnableTask.java:201) at org.apache.ignite.internal.processors.hadoop.taskexecutor.HadoopRunnableTask.call0(HadoopRunnableTask.java:144) at org.apache.ignite.internal.processors.hadoop.taskexecutor.HadoopRunnableTask$1.call(HadoopRunnableTask.java:116) at org.apache.ignite.internal.processors.hadoop.taskexecutor.HadoopRunnableTask$1.call(HadoopRunnableTask.java:114) at org.apache.ignite.internal.processors.hadoop.impl.v2.HadoopV2TaskContext.runAsJobOwner(HadoopV2TaskContext.java:569) at org.apache.ignite.internal.processors.hadoop.taskexecutor.HadoopRunnableTask.call(HadoopRunnableTask.java:114) at org.apache.ignite.internal.processors.hadoop.taskexecutor.HadoopRunnableTask.call(HadoopRunnableTask.java:46) at org.apache.ignite.internal.processors.hadoop.taskexecutor.HadoopExecutorService$2.body(HadoopExecutorService.java:186) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) at java.lang.Thread.run(Thread.java:745)
problem is that org.apache.ignite.internal.processors.hadoop.impl.v2.HadoopV2TaskContext is loaded by the Job class loader if the class loader is "shared" (see org.apache.ignite.internal.processors.hadoop.HadoopJobProperty#JOB_SHARED_CLASSLOADER), and this is true by default. But the assertion in the test expects this to be task class loader, what can be true, but is false by default.