Yes.  It is stuck as suggested.  See the bolded lines.

You can help avoid this by dumping additional entropy into the machine via
network traffic.  According to the man page for /dev/random you can cheat by
writing goo into /dev/urandom, but I have been unable to verify that by
experiment.

Is it really necessary to use /dev/random here?  Again from the man page,
there is a strong feeling in the community that only very long lived, high
value keys really need to read from /dev/random.  Session keys from
/dev/urandom are fine.

I wrote an adaptation of the secure seed generator that doesn't block for
Mahout.  It is trivial, but might be useful to copy:
http://svn.apache.org/repos/asf/mahout/trunk/math/src/main/java/org/apache/mahout/common/DevURandomSeedGenerator.java



On Mon, Jan 3, 2011 at 3:13 PM, Jon Lederman <[email protected]> wrote:

> I have attached the jstack <pid of namenode> output.  Does it appear to be
> stuck in SecureRandom as you noted as a possibility?  I am not sure whether
> this is indicated in the following output:
>
> ...
>
"main" prio=10 tid=0x000583c8 nid=0xf3f runnable [0xb729d000]
>   java.lang.Thread.State: RUNNABLE
> *        at java.io.FileInputStream.readBytes(Native Method)
> *        at java.io.FileInputStream.read(FileInputStream.java:236)
>        at java.io.BufferedInputStream.read1(BufferedInputStream.java:273)
>        at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
>        - locked <0x70e59ae8> (a java.io.BufferedInputStream)
>        at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
>        at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
>        at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
>        - locked <0x70e59970> (a java.io.BufferedInputStream)
>        at
> sun.security.provider.SeedGenerator$URLSeedGenerator.getSeedByte(SeedGenerator.java:469)
>        at
> sun.security.provider.SeedGenerator.getSeedBytes(SeedGenerator.java:140)
>        at
> sun.security.provider.SeedGenerator.generateSeed(SeedGenerator.java:135)
> *        at
> sun.security.provider.SecureRandom.engineGenerateSeed(SecureRandom.java:131)
> *        at
> sun.security.provider.SecureRandom.engineNextBytes(SecureRandom.java:188)
>
>

Reply via email to