hgs created ORC-1029:
------------------------
Summary: Could not load 'org.apache.orc.DataMask.Provider' when
using orc encryption and spark executor with multi cores!
Key: ORC-1029
URL: https://issues.apache.org/jira/browse/ORC-1029
Project: ORC
Issue Type: Bug
Components: Java
Affects Versions: 1.6.11
Environment: jdk1.8
spark 2.4.7
orc 1.6.11
Reporter: hgs
1.line 140 code int DataMask
public static DataMask build(DataMaskDescription mask,
TypeDescription schema,
MaskOverrides overrides) {
Iterator<Provider> iterator = LOADER.iterator();
LOG.info("hgs--"+Thread.currentThread().getName()+"---start........"
+mask.getName());
LOG.info("hgs--"+Thread.currentThread().getName()+"—start........");
{color:#FF0000}140{color} while(iterator.hasNext()){
LOG.info("hgs--"+Thread.currentThread().getName()+"--"+
iterator.next().getClass().getName());
}
LOG.info("hgs--"+Thread.currentThread().getName()+"---end........");
for(Provider provider: LOADER) {
DataMask result = provider.build(mask, schema, overrides);
if (result != null) {
return result;
}
}
throw new IllegalArgumentException("Can't find data mask - " + mask);
}
2. the stacktrace
21/10/19 17:30:35 ERROR executor.Executor: Exception in task 12.0 in stage
0.0 (TID 12)
java.util.NoSuchElementException
at sun.misc.CompoundEnumeration.nextElement(CompoundEnumeration.java:59)
at java.util.ServiceLoader$LazyIterator.hasNextService(ServiceLoader.java:357)
at java.util.ServiceLoader$LazyIterator.hasNext(ServiceLoader.java:393)
at java.util.ServiceLoader$1.hasNext(ServiceLoader.java:474)
at org.apache.orc.DataMask$Factory.build(DataMask.java:140)
at
org.apache.orc.impl.WriterImpl$StreamFactory.getUnencryptedMask(WriterImpl.java:443)
at
org.apache.orc.impl.writer.EncryptionTreeWriter.<init>(EncryptionTreeWriter.java:61)
at org.apache.orc.impl.writer.TreeWriter$Factory.create(TreeWriter.java:130)
at org.apache.orc.impl.writer.StructTreeWriter.<init>(StructTreeWriter.java:41)
at
org.apache.orc.impl.writer.TreeWriter$Factory.createSubtree(TreeWriter.java:181)
at org.apache.orc.impl.writer.TreeWriter$Factory.create(TreeWriter.java:133)
at org.apache.orc.impl.WriterImpl.<init>(WriterImpl.java:216)
at org.apache.orc.OrcFile.createWriter(OrcFile.java:1008)
at
org.apache.spark.sql.execution.datasources.orc.OrcOutputWriter.<init>(OrcOutputWriter.scala:48)
at
org.apache.spark.sql.execution.datasources.orc.OrcFileFormat$$anon$1.newInstance(OrcFileFormat.scala:123)
at
org.apache.spark.sql.execution.datasources.SingleDirectoryDataWriter.newOutputWriter(FileFormatDataWriter.scala:156)
at
org.apache.spark.sql.execution.datasources.SingleDirectoryDataWriter.<init>(FileFormatDataWriter.scala:142)
at
org.apache.spark.sql.execution.datasources.FileFormatWriter$.org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask(FileFormatWriter.scala:276)
at
org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1.apply(FileFormatWriter.scala:210)
at
org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1.apply(FileFormatWriter.scala:209)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
at org.apache.spark.scheduler.Task.run(Task.scala:123)
at
org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply(Executor.scala:408)
at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
21/10/19 17:30:35 ERROR executor.Executor: Exception in task 14.0 in stage 0.0
(TID 14)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)