18 Jan, 2010
1 commit
-
Improve the code of windows service to poll the status of the server (whether is running or not). Improve some of the messages associated with the events that are sent to the windows service log. Improve the code that is in charge of starting the service (and the server) to help identify cases where the server startup is correctly launched but the startup itself fails (because for instance a port of the server is already in use). git-svn-id: https://svn.forgerock.org/opendj/trunk@6356 41b1ffd8-f28e-4786-ab96-9950f0a78031
24 Nov, 2009
1 commit
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@6190 41b1ffd8-f28e-4786-ab96-9950f0a78031
23 Sep, 2009
1 commit
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@5868 41b1ffd8-f28e-4786-ab96-9950f0a78031
16 Sep, 2009
1 commit
-
Important changes include: SR #17462 - Fix a bug that would allow the Total Memory Usage stat to become negative. This could prevent eviction from occurring, which could cause OutOfMemoryError for some applications. It is most likely to occur in an application with a large cache and frequent checkpoints, but it could occur in other scenarios as well. SR #17551 - Fix a bug that caused a NullPointerException during eviction when an exception occurs during logging, for example, an IOException when the disk is full. The NullPointerException masked the original exception (e.g., IOException). An example stack trace is below. git-svn-id: https://svn.forgerock.org/opendj/trunk@5843 41b1ffd8-f28e-4786-ab96-9950f0a78031
05 Jun, 2009
1 commit
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@5420 41b1ffd8-f28e-4786-ab96-9950f0a78031
06 May, 2009
1 commit
-
Update JE to version 3.3.81. git-svn-id: https://svn.forgerock.org/opendj/trunk@5322 41b1ffd8-f28e-4786-ab96-9950f0a78031
05 Dec, 2008
1 commit
-
http://www.oracle.com/technology/documentation/berkeley-db/je/changeLog.html git-svn-id: https://svn.forgerock.org/opendj/trunk@4718 41b1ffd8-f28e-4786-ab96-9950f0a78031
07 Nov, 2008
1 commit
-
…ing it configurable). The fix increases the number of tries used to figure out if the server is started or not. This is required in particular after reboot since the system can be really loaded. The user can modify the default tries value (100 tries with an interval of 5 seconds between tries) by setting the value of the OPENDS_WINDOWS_SERVICE_START_NTRIES environment variable (it must be a SYSTEM environment variable in order to be taken into account). git-svn-id: https://svn.forgerock.org/opendj/trunk@4592 41b1ffd8-f28e-4786-ab96-9950f0a78031
27 Oct, 2008
1 commit
-
Also added the license for both Jars to the legal-notices directory. Files were missing previously. mail.jar (javamail) is now revision 1.4.1 activation.jar (jaf) is now revision 1.1.1 git-svn-id: https://svn.forgerock.org/opendj/trunk@4533 41b1ffd8-f28e-4786-ab96-9950f0a78031
23 Oct, 2008
1 commit
-
- An updated version of the underlying database. BDB JE 3.3 is now used. - Attribute API refactoring providing a better abstraction and offering improved performances. - A new GUI called the Control-Panel to replace the Status-Panel: the specifications for this GUI are available on OpenDS Wiki and contains a link to a mockup. See <https://www.opends.org/wiki/page/ControlPanelUISpecification>. - Some changes in the replication protocol to implement "Assured Replication Mode". The specifications are on OpenDS Wiki at <https://www.opends.org/wiki/page/AssuredMode> and section 7 described some of the replication changes required to support this. Assured Replication is not finished, but the main replication protocol changes to support it are done. As explained by Gilles on an email on the Dev mailing list (http://markmail.org/message/46rgo3meq3vriy4a), with these changes the newer versions of OpenDS may not be able to replicate with OpenDS 1.0 instances. - Support for Service Tags on the platforms where the functionality is available and enabled. Specifications are published at <https://www.opends.org/wiki/page/OpenDSServiceTagEnabled>. For more information on Service Tags see <http://wikis.sun.com/display/ServiceTag/Sun+Service+Tag+FAQ>. - The Admin Connector service. In order to provide agentry of the OpenDS server at any time, a new service has been added, dedicated to the administration, configuration and monitoring of the server. An overview of the Admin Connector service and it's use is available on the OpenDS wiki <https://www.opends.org/wiki/page/ManagingAdministrationTrafficToTheServer> - Updates to the various command line tools to support the Admin Connector service. - Some internal re-architecting of the server to put the foundation of future developments such as virtual directory services. The new NetworkGroups and WorkFlow internal services which have been specified in <https://www.opends.org/wiki/page/BasicOperationRoutingThroughNetworkGroup> are now implemented. - Many bug fixes... This set of changes may have an impact on current clients and deployments, however it should be possible to upgrade existing 1.0 instances. Some of the changes impacting the clients include : - Scripts using the command line tools including dsconfig will need to be updated (usually to remove some no longer required options). git-svn-id: https://svn.forgerock.org/opendj/trunk@4531 41b1ffd8-f28e-4786-ab96-9950f0a78031
05 Jul, 2008
1 commit
-
The fix consists in setting the inheritance flag of tderr/stdout/stdin of the parent process to FALSE before creating the child process. git-svn-id: https://svn.forgerock.org/opendj/trunk@4423 41b1ffd8-f28e-4786-ab96-9950f0a78031
24 Jan, 2008
1 commit
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@3740 41b1ffd8-f28e-4786-ab96-9950f0a78031
02 Jan, 2008
1 commit
-
…release notes for changes: http://www.oracle.com/technology/documentation/berkeley-db/je/changelog.html Issue 2785. git-svn-id: https://svn.forgerock.org/opendj/trunk@3612 41b1ffd8-f28e-4786-ab96-9950f0a78031
28 Nov, 2007
2 commits
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@3502 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
Enable some Replication Server test that were disabled. git-svn-id: https://svn.forgerock.org/opendj/trunk@3501 41b1ffd8-f28e-4786-ab96-9950f0a78031
12 Sep, 2007
1 commit
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@3033 41b1ffd8-f28e-4786-ab96-9950f0a78031
02 Sep, 2007
2 commits
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2903 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
* Test methods are no longer interleaved between classes. All test methods in a class are run together, with @BeforeClass and @AfterClass methods called immediately before and after the methods are run. As part of this fix, you are now required to include sequential=true in every class level @Test annotation. If you don't do this, the build will complain. * Added a TestCaseUtils.restartServer() method that will do an in core restart of the directory server during the tests. This can be used in a @BeforeClass method to ensure that the tests start with a clean directory server, and also in an @AfterClass method to cleanup after a test that makes a lot of configuration changes. So if you introduce a new test that runs fine in isolation but fails when run with other tests, you could try calling TestCaseUtils.restartServer() in its @BeforeClass method. The TestCaseUtils.restartServer() method will reinitialize the server and reload the original test configuration, but it's not quite the same as creating a completely new process. Specifically, it cannot undo any changes that were made to static member variables of a class. I've fixed a handful of places in the server where this was a problem, but there might be more lurking. If you write a test that changes static member variables of a class, please make sure that it cleans up after itself in an @AfterMethod or @AfterClass test. * The tests now use significantly much less memory. I saw a peak of only 80MB. There were two main problems. 1) TestNG holds on to all parameters and results for the whole test, and 2) since the test classes themselves live for the duration of the tests, their member variables were holding onto a lot of garbage. The in-core restart made this problem much worse because we ended up with lots of copies of the Schema, ConfigEntryS, etc. I've introduced some hacks to fix this. Basically the code uses devious methos to go in and null out the parameters and member variables after the test has run. If you're curious about the details of how we've addressed this take a look at the comments in DirectoryServerTestCase. From now on, all test classes must inherit directly or indirectly from DirectoryServerTestCase. The build will fail if they don't. * Upgrade to TestNG b5.7. There is a fix in this release that helps our tests to run in order, and I've had to make a couple of more fixes, which they will eventually put back into the trunk. * In classes with a class-level @Test annotation, TestNG treats any public method (except @Before/After* methods) as a test method. The build now points this out and asks you to either add a specific @Test annotation to the method or change the method to be non-public. I've fixed up several places where a test wasn't annotated and others where a non-test method was being treated as a test method. * The tests now report progress as they run. Run 'build testhelp' to see details on how to control the output. I've also added some new test properties, mainly to make debugging the tests easier * test.remote.debug.port: This test property allows you to remotely attach a debugger to the unit tests. If you provide a valid port value, the unit tests will not start to run until the debugger is attached. * testng.verbosity0to5: This test property controls the debugging output of TestNG. This output is useful to check the order in which test methods are invoked or other details on what TestNG is doing. Valid values are integer values from 0 (no output) to 5 (maximum output). Since this implicitly sets -Dorg.opends.test.suppressOutput=false, other stderr/stdout output generated by the unit tests will also be displayed. * org.opends.test.copyClassesToTestPackage=true: This test property copies the classes into the test server root. This enables you to run the server tools on the test server. It can slow down the test startup so the files are no longer copied by default. Thanks to Neil for trying out these changes and to him and Bo for helping me track down some of the memory leaks. git-svn-id: https://svn.forgerock.org/opendj/trunk@2902 41b1ffd8-f28e-4786-ab96-9950f0a78031
18 Jul, 2007
1 commit
-
With the new user access control of Vista, even if we are administrators we are not allowed to do certain operations (such as writing in the service registry) in some circumstances. For instance if we launch net start <service_name> from a normal command prompt this will fail systematically. In order to be able to execute these "privileged" operations we have different alternatives: Execute the binary that will do the operations using the "Run as Administrator" option in Vista (or launching them from a command prompt that has been started using that same option). Add a manifest to the binary informing that the binary requires administrator privileges. The first alternative is one of the workarounds for the bug, however it does not apply to the case of the Java Web Start Installer. The second alternative is in what consists the bug fix. A new binary has been created. This binary has a manifest informing that it requires administrator privileges. This binary will be used in Vista as a wrapper to call operations that require administrator privileges (modifying the registry in windows-services.bat command line and calling "net start" and "net stop"). If the user is running the setup, the status-panel using the "Run as Administrator" option or is using the command lines from a command prompt launched with that option the behavior in Vista does not change with the behavior in previous versions of Windows. If the UAC is enabled and the user is not using the "Run as Administrator" options, (s)he will be prompted for confirmation each time the registry is modified and the server is started or stopped as a service. The wrapper is called on any of the individual operations. An alternative would be to call the wrapper when we launch the setup or the status-panel but this generates some issues: 1. This does not work (directly) with the Java Web Start installer. 2. This would force users that are not administrators to provide administrator credentials even to install/run an OpenDS that does not require to do privileged operations (an OpenDS that does not run as a service). git-svn-id: https://svn.forgerock.org/opendj/trunk@2428 41b1ffd8-f28e-4786-ab96-9950f0a78031
12 Jun, 2007
1 commit
-
Changes since 3.2.21 Log File On-Disk Format Changes: None. New Features: None. General Environment Changes 1. Fixed a bug that causes a memory leak for applications when many Environment objects are opened and closed and the CurrentTransaction or TransactionRunner class is used. The problem was reported in this JE Forum thread [#15444] 2. Fixed a bug that prevents correct recovery of data records when duplicates are configured (DatabaseConfig.setSortedDuplicates(true)) for a deferred-write database (DatabaseConfig.setDeferredWrite(true)). When a crash occurs and duplicate data records are recovered that were flushed after the last checkpoint, the wrong key is used for those records. This bug does not occur when the environment is closed normally or a checkpoint is performed after writing data records. [#15474] 3. Fixed a bug that prevents Database.preload from working when duplicates are configured (DatabaseConfig.setSortedDuplicates(true)) for the database. When the preload method was called for a database for which duplicate records exist, an assertion would fire or a NullPointerException would be thrown, depending on whether assertions are enabled. [#15475] 4. Enhanced SerialBinding and the Direct Persistence Layer to use the current thread's context class loader when loading application classes. This allows the JE jar file to be deployed in application servers and other containers as a shared library rather than as an application jar. [#15447] 5. Fixed a bug that caused JE to incorrectly behave as if the cache was very full. The symptoms of this bug are: * Because the problem is a cumulative accounting error, symptoms appear after running for a long period of time. * JE slows down or methods fail to return. Thread dumps show that the com.sleepycat.je.evictor.Evictor class is active and looping. * Dumping EnvironmentStats shows that the adminBytes size (EnvironmentStats.getAdminBytes()) is unreasonably large and may be larger than the maximum cache size or the heap size. * The problem occurs more frequently when blocks of sequential records are deleted. [#15505] 6. Fixed a bug where the cache usage accounting could become inaccurate if the cache size was changed while the application is active (using Environment.setMutableConfig()) and there are outstanding record locks. [#15505] 7. Fixed a bug that caused incorrect query results, and possibly errors during recovery, when a custom duplicate comparison method is configured and that method does not compare all bytes of its operands. A custom comparator should always compare all bytes of its operands and should return non-zero if they are unequal. When updating existing records, JE will detect this kind of incorrect comparator in order to prevent database inconsistency. The problem was reported in this JE Forum thread. [#15527] Direct Persistence Layer (DPL) None. API Changes: 1. Added the EnvironmentStats.getAdminBytes() and getLockBytes() methods, which return the amount of cache used for transactions, administrative structures such as log cleaning metadata, and locks. These values are a subset of the value returned by Environment.getCacheDataBytes() and can provide more insight into how the cache is allocated between actual data and other objects. [#15505] 2. Added the EnvironmentStats.getTotalLogSize method. This new method returns the approximate total size of the JE log files in bytes. It could be used, for example, to detect that the log has exceeded an application disk space limit. [#15480] Utility Changes: None. Configuration, Documentation, Test and Build Changes: None. git-svn-id: https://svn.forgerock.org/opendj/trunk@2086 41b1ffd8-f28e-4786-ab96-9950f0a78031
08 May, 2007
1 commit
-
…h a space in it's path. There was also a similar, but more benign problem with log messages generated from start-ds.bat and stop-ds.bat. git-svn-id: https://svn.forgerock.org/opendj/trunk@1834 41b1ffd8-f28e-4786-ab96-9950f0a78031
07 May, 2007
2 commits
-
- debug("Deleting the service '%s'."); + debug("Deleting the service '%s'.", serviceName); Which was causing the process to core on uninstall. So I went through the other debug messages, and made a few more changes that most likely wouldn't have caused problems. For instance, - debug("doStartApplication: spawn failed. Sent command:"); - debug(command); + debug("doStartApplication: spawn failed. Sent command: '%s'", command); Technically, command could include a format directive (e.g. %s) in which case we'd have the same problem as debug("Deleting the service '%s'."), but this is unlikely. There are also a few other debug messages that I added to track down the real problem, and I've left them in. git-svn-id: https://svn.forgerock.org/opendj/trunk@1833 41b1ffd8-f28e-4786-ab96-9950f0a78031 -
…h stopping the server on Windows, and also adds a lot of debug logging to the service code, so we can track problems down in the future git-svn-id: https://svn.forgerock.org/opendj/trunk@1827 41b1ffd8-f28e-4786-ab96-9950f0a78031
04 May, 2007
1 commit
-
1. A char array was set to NULL wrongly which caused a core in the windows services code. This problem appeared almost systematically when the install path was long. 2. The windows services code got into an infinite loop when the server could not be started. 3. The windows services code was missing to unlock a file after testing if it could lock it. 4. Create specific loggers for Setup, Uninstall and StatusPanel applications. This avoids having duplicated and not very user friendly log lines on the output of these applications. 5. When we cannot launch the graphical applications store the stack trace we get in the log file associated with the application and inform the user about the existence of this file in the same message where we tell that we are falling back to the CLI mode. 6. Fix a refresh problem in the status panel. Now when the number of entries of the database increase the contents of the panel are automatically updated. 7. Modify the name of the Age of Oldest Missing Changes as mentioned by Brian. 8. Redirect some logging/debugging lines of the windows services to a file called windows-service in the logs directory. git-svn-id: https://svn.forgerock.org/opendj/trunk@1821 41b1ffd8-f28e-4786-ab96-9950f0a78031
26 Apr, 2007
1 commit
-
…f the start-ds.bat and stop-ds.bat scripts. git-svn-id: https://svn.forgerock.org/opendj/trunk@1718 41b1ffd8-f28e-4786-ab96-9950f0a78031
21 Mar, 2007
1 commit
-
Fix for issue 1384. git-svn-id: https://svn.forgerock.org/opendj/trunk@1484 41b1ffd8-f28e-4786-ab96-9950f0a78031
16 Mar, 2007
1 commit
-
Provide a new option in the windowsservice.bat command line to do a cleanup of a service. The option usage is: -c {serviceName} or --cleanupService {serviceName} Allows to disable the OpendS service and to clean up the windows registry information associated with the provided service name.o git-svn-id: https://svn.forgerock.org/opendj/trunk@1426 41b1ffd8-f28e-4786-ab96-9950f0a78031
15 Mar, 2007
1 commit
-
The following changes are targeted to be able to run OpenDS as a windows service. The idea is to be able to run OpenDS to run as a service and to be able also to disable this feature. The setup has been updated to run OpenDS as a service in windows (which is the standard behavior in this platform). The uninstall has also been updated to remove all references to OpenDS in the Registry and in the list of services once OpenDS has been uninstalled. A new executable (opends_service.exe) has been added to be able to perform all the tasks that require native code (registering/unregistering the service, sending events to the event log, etc.). Most of the code required by this executable is in the file service.c. The README file has been updated and a Makefile file provided to generate all the executables. A new command line has been added: windowsservice.bat. The usage of this command line is the following one: This utility may be used to configure OpenDS as a Windows service. Usage: windowsservice {options} where {options} include: -e or --enableService Enables OpenDS as a Windows service. -d or --disableService Disables OpenDS as a Windows service and stops the server -s or --serviceState Provides information about the state of OpenDS as a Windows service. -H or --help Display this usage information. The class associated with this command line (ConfigureWindowsService) uses opends_service.exe. ConfigureWindowsService is basically a wrapper that allows to have the messages displayed to the user in the Java code (and so to minimize what is done by the native code). Some changes have been made in the start-ds(.bat) and stop-ds(.bat) scripts by extending what the --checkStartability (in DirectoryServer class) and --checkStoppability (in StopDS class) do. I think that it is a good idea to have all the parsing of the arguments into the java code (specially considering the limitations of the .bat files). So I have moved most of the parsing to the java code so that the is the java code that provides a return code to the scripts to tell them what to do (start the server in detach mode, stop the server using a system call, stop the server using protocol, etc.). In the particular case of how start-ds.bat and stop-ds.bat have been updated to manage the case where the server must be started using the system call 'net start <service_name>' and 'net stop <service_name>'. --checkstoppability and --checkstartability tell whether the server must be stopped/started directly with a system call (or stopped using LDAP protocol) or using the Windows Service system. If it is the latter the bat files use two new auxiliary classes (StopWindowsService and StartWindowsService). These classes figure out the service name associated with the OpenDS instance and call net stop (or net start) using that service name. When net start/net stop are called start-ds.bat (or stop-ds.bat) are called. The Windows Services have been configured to call start-ds.bat and stop-ds.bat with some particular options (--windowsNetStart and --windowsNetStop) to identify the case where we must start/stop the server directly (and so not having an infinite recursive loop of calls to net start/net stop). In order to have the same user experience when the server is configured to run as a service and when is not the tool class WaitForDelete has also been updated to write its output to a file. This has been done because piping from the standard output to a file in the context of a Windows Service call does not seem to work properly. So now WaitForDelete has a new option --outputFile. setup --cli on windows has a new option '-n' or '-noWindowsService' to allow not to enable the windows service. When run in interactive mode and this options is not specified the user will systematically be asked whether to enable the windows service or not. git-svn-id: https://svn.forgerock.org/opendj/trunk@1418 41b1ffd8-f28e-4786-ab96-9950f0a78031
01 Mar, 2007
1 commit
-
…atically instrumented by AspectJ. Non instrumented debug method calls are updated to use the new debug framework methods. However, the new debug logging framework is not yet active as the Aspects are not weaved in. After this revision, debug logging will be disabled in the server until the new AOP framework is complete. - Removed debugEnter and debugConstructor from all source files. - Removed CLASS_NAME static string for debug purposes. - Removed old debug logging framework. - Added new debug logging frameworking using AOP. - Added AspectJ binary and libraries. - Change all modified files copyrights to include 2007. git-svn-id: https://svn.forgerock.org/opendj/trunk@1280 41b1ffd8-f28e-4786-ab96-9950f0a78031
22 Feb, 2007
1 commit
-
…if LDAP port' and 'cannot stop server through status panel'). The goal of these changes is to be able to have exactly the same user interface in Windows and Unix to stop the server. In windows we force the user to provide LDAP credentials even if the command is going to be run locally. The goal is to allow to stop the server using only system credentials (as we do in UNIX) when the user does not provide arguments when calling stop-ds.bat. In order to do this I have written some native code. This native code is called when we start the server to: 1. Launch the java process and get the associated PID. 2. Create a server.pid file as we do for UNIX systems to store the PID of the process. The native code that stops the server reads the PID file contents and tries to stop the process associated with the PID. In order to allow the users to be able to build the product with independence of the platform, the binaries will be included with the source code. The code used to generate these binaries will also be provided. I have generated 1 executable called winlauncher.exe. The binaries will be committed in the source tree under lib (with activation.jar and mail.jar). They will also be installed under <server root>\lib. The native code is in the files winlauncher.c and winlauncher.h. These files are placed under the new directory build-tools/src/windows. I have tried to keep the native code simple and leave as much logic as I could into the batch files (for instance everything related to the discovery of the java binaries) so that the administrators can play with them. A README file has been also been included to explain how to generate the binaries. Extras: When we call start-ds from the command line, the server will not stop when the command prompt window is closed (unless start-ds was called to run in not-detached mode). The next step is to register DS as a service to avoid the server to be stopped when the user logs out. When we call setup (with no arguments) or the statuspanel the generated process (and windows) will no longer get killed when the command prompt window is killed. When the user double-clicks on the setup.bat or the statuspanel.bat files, the command prompt window only appears briefly. Today when we do this a command prompt window stays open until we close setup or the status panel window. git-svn-id: https://svn.forgerock.org/opendj/trunk@1216 41b1ffd8-f28e-4786-ab96-9950f0a78031
17 Dec, 2006
1 commit
-
OpenDS Issue Number: 1083 git-svn-id: https://svn.forgerock.org/opendj/trunk@890 41b1ffd8-f28e-4786-ab96-9950f0a78031
28 Jun, 2006
1 commit
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2 41b1ffd8-f28e-4786-ab96-9950f0a78031