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]

Reply via email to