Hard to break

OpenDJ logo

Today I wanted to see how OpenDJ recovers after a crash. So I got the latest stable build of the OpenDJ SDK — see this Wiki page for more — and tried to to hit the server with some modify operations.

$ ./modrate -p 1389 -D cn=directory\ manager -w ******** \
-b "uid=%s,ou=people,dc=example,dc=com" -g "rand(names.txt)" \
"description:%s" -g "randStr(16)" -A -F -c 4 -t 4
-----------------------------------------------------------------
     Throughput                            Response Time
   (ops/second)                           (milliseconds)
recent  average  recent  average  99.9%  99.99%  99.999%  err/sec
-----------------------------------------------------------------
  69.8     70.6   7.541    7.541  105.678  105.678  105.678      0.0
  94.1     82.7   5.485    6.339  105.678  105.678  105.678      0.0
 100.8     88.7   5.108    5.875  104.155  105.678  105.678      0.0
 104.7     92.7   4.789    5.570  105.678  107.626  107.626      0.0
 137.7    101.7   3.658    5.054  104.155  107.626  107.626      0.0
 145.7    109.0   3.368    4.680  65.002  107.626  107.626      0.0
 146.7    114.3   3.385    4.443  63.154  107.626  107.626      0.0
 144.1    118.1   3.583    4.312  63.154  107.626  107.626      0.0

  16.7    106.8   2.980    4.289  63.154  107.626  107.626      0.0
^C

(The names.txt file I got from my Example.ldif file: `grep ^uid: ldif/Example.ldif | sed -e “s/uid: //” > ../opendj-client-tools/bin/names.txt`.)

The throughput dropped after I ran kill -9 `cat OpenDJ/logs/server.pid`. But the server started again without skipping a beat.

I guess this little netbook is just too weak to be a match for OpenDJ. Matt can probably do 100 times that many mods/sec on his laptop. Maybe he can really crash it properly.

Perhaps for large directories, start-ds will still take a while but only to preload cache rather than to recover the database.