[ 
https://issues.apache.org/jira/browse/LUCENE-2834?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12975223#action_12975223
 ] 

Uwe Schindler commented on LUCENE-2834:
---------------------------------------

Hi Robert,

patch looks theoretically fine, although I dislike the code duplication and the 
duplication of temp file code.

I dont understand the whole problem why you care of this additional thread. 
Just put this thread name on the rogue list and we are fine. The badest thing 
is interrupting this thread for no reason. The PKCS thread is generated on 
MacOSX, because its underlying security system is different from Windows or 
Linux. On Windows and MacOSX the PKCS system uses the trusted root certificates 
from the operating system and it seems that on MacOSX this needs some thread to 
handle the OS' PKCS library. Its as stupid as killing processes on Android 
phones as recreating them uses more resources than keep them running. If you 
start to kill this thread you can also kill all GC threads just for fun :-)

The reason why serialization starts the thread: Serialization uses hashing, too 
:-) - The PKCS thread is for me just a system thread with the difference that 
its started lazily when first accessed.

One thing: I don't like the empty catch blocks /* cannot happen */. Even if 
this is the case, please throw at least a RuntimException. Some user may stiull 
use a broken JVM where the charsets.jar file is lost :-) (ok, that should not 
happen, but I like it more to have that).

+1 for the UTF-8 fix (this will not break most lock file names, as filenames 
and hopefully index dir pathes are mostly ASCII)
-1 for MD5Digest code duplication
-1 for the temp file code dumplication

My opinion:
Lazy init the static MessageDigest class in FSDirectory. Its almost never used.

Will post an alternative patch soon (lazy init MessageDigest only when needed 
first, add fixed UTF-8 charset).

> don't spawn thread statically in FSDirectory on Mac OS X
> --------------------------------------------------------
>
>                 Key: LUCENE-2834
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2834
>             Project: Lucene - Java
>          Issue Type: Bug
>            Reporter: Robert Muir
>             Fix For: 3.1, 4.0
>
>         Attachments: LUCENE-2834.patch
>
>
> on the Mac, creating the digester starts up a PKCS11 thread.
> I do not think threads should be created statically (I have this same issue 
> with TimeLimitedCollector and also FilterManager).
> Uwe discussed removing this md5 digester, I don't care if we remove it or 
> not, just as long as it doesn't create a thread,
> and just as long as it doesn't use the system default locale.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to