yew1eb commented on issue #1602: URL: https://github.com/apache/auron/issues/1602#issuecomment-3511715714
> [@yew1eb](https://github.com/yew1eb) How about modifying the code using the method below? > > ``` > object Shims { > AuronAdaptor.initInstance(new SparkAuronAdaptor) > lazy val get: Shims = { > classOf[Shims].getClassLoader > .loadClass("org.apache.spark.sql.auron.ShimsImpl") > .newInstance() > .asInstanceOf[Shims] > } > } > ``` > > Would you like to test and verify it? cc [@richox](https://github.com/richox) @Tartarus0zm I tested your suggestion -- it doesn't work and still throws the same error. Since the `NativeShuffleExchangeExec.write` execution path does not use `Shims`, it does not trigger class loading. As a result, the side-effect `AuronAdaptor.initInstance(new SparkAuronAdaptor)` never runs. Thus, `AuronAdaptor.INSTANCE` remains null, and the NPE persists. We need a more reliable initialization mechanism. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
