I think that's OK to change, yes. I don't see why it's necessary to init log_ the way it is now. initializeLogIfNecessary() has a purpose though.
On Fri, Jun 17, 2016 at 2:39 AM, Prajwal Tuladhar <p...@infynyxx.com> wrote: > Hi, > > The way log instance inside Logger trait is current being initialized > doesn't seem to be thread safe [1]. Current implementation only guarantees > initializeLogIfNecessary() is initialized in lazy + thread safe way. > > Is there a reason why it can't be just: [2] > > @transient private lazy val log_ : Logger = { > initializeLogIfNecessary(false) > LoggerFactory.getLogger(logName) > } > > > And with that initializeLogIfNecessary() can be called without double > locking. > > -- > -- > Cheers, > Praj > > [1] > https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/internal/Logging.scala#L44-L50 > [2] > https://github.com/apache/spark/blob/8ef3399aff04bf8b7ab294c0f55bcf195995842b/core/src/main/scala/org/apache/spark/internal/Logging.scala#L35 --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@spark.apache.org For additional commands, e-mail: dev-h...@spark.apache.org