mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

neil_a_wilson
11.43.2007 ba04f8f7aeeea23a2b27dd68294d882e98481882
refs
author neil_a_wilson <neil_a_wilson@localhost>
Tuesday, September 11, 2007 03:43 +0200
committer neil_a_wilson <neil_a_wilson@localhost>
Tuesday, September 11, 2007 03:43 +0200
commitba04f8f7aeeea23a2b27dd68294d882e98481882
tree 970512b79453956c5ea7e567ea9a3870eab1c77d tree | zip | gz
parent c2749f503284eaf9f2ca124128ccc005663a2053 view | diff
Make a number of relatively simple changes to provide basic performance
improvements, including:

- Replace occurrences of StringBuffer with StringBuilder. As of Java 5,
StringBuilder is almost always a better choice than StringBuffer because it
provides all the same methods but doesn't have the synchronization overhead.

- Update the JE backend DN2URI class (which is responsible for keeping track of
smart referrals in the database) to keep track of whether there are any
referrals in the underlying database so that it doesn't go to the DB if it
can be certain that there aren't any referrals to get.

- Update the JE backend ImportJob class to provide a simple cache for parent ID
lookups so that it can avoid the need to go to the underlying DB to get the
entry ID for a parent entry if it's contained in the cache.

- Update the salted password storage scheme variants so that they use an
instance of java.util.Random rather than java.security.SecureRandom to
generate the salt. There really isn't a need for a cryptographic-quality
random number generator for salt generation, and the java.util.Random
implementation is much faster than the java.security.SecureRandom
implementation.

- Update the DN class to return a reference to the precomputed NULL_DN instead
of creating a new DN with zero RDN components when decoding DNs from strings
or octet strings. Also, use LinkedList rather than ArrayList for temporary
storage of RDN values to avoid the hit of allocating memory that we may not
need.


- Update the Entry class to cache the result of LDIFImportConfig.typesOnly(),
which has been observed to slightly improve MakeLDIF performance.

- If Java 6 is available, then prefer using it to set file permissions over
Runtime.exec() on UNIX systems. Even though it's potentially less
fine-grained than using exec to call chmod, it's faster and safer to use the
Java methods if they're available.
27 files modified
336 ■■■■ changed files
opends/src/build-tools/org/opends/build/tools/GenerateMessageFile.java 1 ●●●● diff | view | raw | blame | history
opends/src/build-tools/org/opends/build/tools/MessagePropertyKey.java 2 ●●● diff | view | raw | blame | history
opends/src/guitools/org/opends/guitools/statuspanel/StatusLog.java 2 ●●● diff | view | raw | blame | history
opends/src/quicksetup/org/opends/quicksetup/QuickSetupLog.java 2 ●●● diff | view | raw | blame | history
opends/src/quicksetup/org/opends/quicksetup/installer/Installer.java 2 ●●● diff | view | raw | blame | history
opends/src/quicksetup/org/opends/quicksetup/upgrader/RemoteBuildManager.java 8 ●●●● diff | view | raw | blame | history
opends/src/quicksetup/org/opends/quicksetup/util/Utils.java 6 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/admin/client/cli/DsFrameworkCliServerGroup.java 6 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/backends/jeb/DN2URI.java 85 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/backends/jeb/ImportJob.java 53 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/core/NetworkGroup.java 4 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/core/NetworkGroupNamingContexts.java 4 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/core/RootDseWorkflowTopology.java 4 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/core/WorkflowTopologyNode.java 4 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/extensions/SaltedMD5PasswordStorageScheme.java 6 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/extensions/SaltedSHA1PasswordStorageScheme.java 8 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/extensions/SaltedSHA256PasswordStorageScheme.java 6 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/extensions/SaltedSHA384PasswordStorageScheme.java 6 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/extensions/SaltedSHA512PasswordStorageScheme.java 8 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/loggers/debug/DebugStackTraceFormatter.java 4 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/loggers/debug/TextDebugLogPublisher.java 2 ●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/types/DN.java 33 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/types/Entry.java 9 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/types/FilePermission.java 17 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/util/StaticUtils.java 2 ●●● diff | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/core/NetworkGroupTest.java 38 ●●●● diff | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/core/WorkflowTopologyTest.java 14 ●●●● diff | view | raw | blame | history