02 Sep, 2007
7 commits
-
…s displayed by default in dsconfig list-xxx operations. git-svn-id: https://svn.forgerock.org/opendj/trunk@2906 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…for enumerated properties. git-svn-id: https://svn.forgerock.org/opendj/trunk@2905 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
- [Issue 2031] provide core JE configurable attributes for FileSystemEntryCache - fixes to entry cache config manager for proper configuration, re-configuration, error reporting. git-svn-id: https://svn.forgerock.org/opendj/trunk@2904 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
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
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2901 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
configuration into a ".startok" file whenever it starts successfully. The start-ds script and DirectoryEnvironmentConfig class have been updated to expose an option to try to start the server using this "last known good" configuration rather than the active config file. OpenDS Issue Number: 1945 git-svn-id: https://svn.forgerock.org/opendj/trunk@2900 41b1ffd8-f28e-4786-ab96-9950f0a78031
01 Sep, 2007
5 commits
-
whether the server should maintain a configuration archvie, and if so the maximum number of archived configurations that it should keep. By default, the archive will be enabled and will be configured to keep an unlimited number of previous configurations. This needs to be controlled via a directory environment property rather than a configuration option, since first part of configuration archive processing happens before the server has read and processed the configuration. The DirectoryEnvironmentConfig class provides methods for interacting with these settings. git-svn-id: https://svn.forgerock.org/opendj/trunk@2899 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
entries use the extensibleObject object class, and to ensure that none of the schema elements use non-numeric OIDs. git-svn-id: https://svn.forgerock.org/opendj/trunk@2898 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…is able to enable, disable and initialize suffixes. The latest modifications introduced by Scott in the class Installer are also included in this commit. git-svn-id: https://svn.forgerock.org/opendj/trunk@2897 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
With this set of changes, when a program using Installer#updateADS (e.g., ./setup) configures a new instance into an existing topology, the new instance's ads-truststore is "seeded" with the instance key public-key certificate entries in the ADS-based truststore. Thus, when replication is intitialized for the new instance's suffixes (those to be updated from the existing topology; e.g., cn=admin data), the new instance's replication client connection establishment will "trust" the existing instances in the topology. Note that the key infratructure for this change is implemented in ADSContext and ServerDescriptor, but only utilized in Installer (hence by setup GUI and the webstart installer). I need to discuss some of the cases in the nascent ReplicationCliMain#updateConfiguration. These changes also contain some miscellaneous cleanup - mostly to get rid of IDEA warnings. git-svn-id: https://svn.forgerock.org/opendj/trunk@2896 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
Update schema and config files with OIDs issued by Neil. git-svn-id: https://svn.forgerock.org/opendj/trunk@2895 41b1ffd8-f28e-4786-ab96-9950f0a78031
31 Aug, 2007
15 commits
-
configuration. This also includes allocating object classes for each of these types. This will help make it easier for users to create new instances of these kinds of configuration objects because they will not need to know the fully-qualified name of the Java class that implements the associated logic. git-svn-id: https://svn.forgerock.org/opendj/trunk@2894 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
This change refactors the client APIs so that it is now possible to easily implement features that require direct access to properties and managed objects (e.g. dependency/constraint enforcement call-backs - issue 1451). Previous to this change an application would have to drill down from the root managed object in order to find the required managed object and its properties. This change is required by issue 1451 (dependency support), which in turn is required by issue 1449 (aggregation support). Description: ------------ This change splits the client API into two: * org.opends.server.admin.client: this contains APIs which client applications such as dsconfig should use to interact with the admin framework * org.opends.server.admin.client.spi: (new package) this contains the APIs which driver implementations (e.g. JNDI driver) should use as a basis for their implementation. This package includes a Driver class which is intended for use by ManagedObject implementations as well as dependency call-backs. In addition, I have refactored the LDAPManagedObject implementation so that code that is likely to be used by other driver implementations is pushed up into an AbstractManagedObject and the Driver base class. Testing: -------- All unit tests pass and basic walk-through of dsconfig interactive mode also works fine. git-svn-id: https://svn.forgerock.org/opendj/trunk@2893 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…es the error notification. git-svn-id: https://svn.forgerock.org/opendj/trunk@2892 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2891 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…alueEditor package private and make several DSConfig inner classes and methods class private. git-svn-id: https://svn.forgerock.org/opendj/trunk@2890 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
encoding data in the database itself, and re-enable compact encoding by default in the configuration. By storing the compact schema encoding data in the database (a separate copy for each backend), we have eliminated the potential problems in backup/restore and binary copy initialization if there are dependencies on an external schematokens.dat file. OpenDS Issue Number: 2158 git-svn-id: https://svn.forgerock.org/opendj/trunk@2889 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
Use the proper confirmation message when the user did not ask to start the server. git-svn-id: https://svn.forgerock.org/opendj/trunk@2888 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
Fix for issue 2191 git-svn-id: https://svn.forgerock.org/opendj/trunk@2887 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
Fix for issue 2206 git-svn-id: https://svn.forgerock.org/opendj/trunk@2886 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…wn before the entry cache has been created. git-svn-id: https://svn.forgerock.org/opendj/trunk@2885 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
… was intended to be exposed as a new script but in order to avoid the negativity of having a command devoted to undoing the upgrade and to avoid more scripts in the top-level directory, I've exposed the functionality as 2 new options in the existing upgrade script. I will update the Wiki with documentation for these new options soon. In order to support custom return codes for quicksetup applications I've overhauled the class formerly called ApplicationReturnCode, converting the inner enum to static instances of a new class ReturnCode. This change touched lots of file in a minor way. Also addressed here: - Interactivity for both the upgrade and reversion operations - Additional work needed to tie the reverter into the version issue (flag day) notification framework. - issue 2170 - upgrader emits NoClassDefFoundError following usage git-svn-id: https://svn.forgerock.org/opendj/trunk@2884 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
Follow-on to commit r2858. ADSContext#updateServer is called by Installer#updateADS (via registerOrUpdateServer) in the case the server entry already exists in ADS. With this commit, updateServer checks 'cn=instance keys,cn=admin data' for an entry with the instance key public-key certificate of the server being (re)registered (or otherwise updated and the instance-key certificate server property is supplied). If the entry exists, it is used. Otherwise, a new entry is created. The new routine ADSContext#registerInstanceKeyCertificate contains the code common to registerServer and updateServer. Note that the updateServer is not fully tested since I cannot figure out how to re-register an existing instance (i.e., unregister, but not uninstall, an instance; then re-register the instance so the existing instance-key entry is reused). M src/ads/org/opends/admin/ads/ServerDescriptor.java M src/ads/org/opends/admin/ads/ADSContext.java git-svn-id: https://svn.forgerock.org/opendj/trunk@2883 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
When the replication code replay a modify operation on an entry that contain historical information for an attribute that is not defined in the schema, the modify operation is not replayed because an AssertionError is thrown by AttributeValue constructor. This fixes the problem by avoiding the AssertionError git-svn-id: https://svn.forgerock.org/opendj/trunk@2882 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2881 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2880 41b1ffd8-f28e-4786-ab96-9950f0a78031
30 Aug, 2007
13 commits
-
…orrupt. The index now uses the useNoOverwrite method to insert a new key to prevent the race condition. Fix for issue 2180 git-svn-id: https://svn.forgerock.org/opendj/trunk@2879 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…ange listener on shutdown. Fixed for issue 2183 git-svn-id: https://svn.forgerock.org/opendj/trunk@2878 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…, only one database handle is opened per database container. git-svn-id: https://svn.forgerock.org/opendj/trunk@2877 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…ts' response from the server following an attempt to add an entry to the configuration, the server entry and the to-add entry are compared. If their user attributes are identical then the error is ignored and the upgrade proceeds. If not then an error is shown to the user as before. git-svn-id: https://svn.forgerock.org/opendj/trunk@2876 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
Be more explicit in the confirmation message about the fact that the authentication is only required if there are other servers replicating data. Be also explicit about the fact that clicking on 'No' in this dialog does not cancel the uninstall. git-svn-id: https://svn.forgerock.org/opendj/trunk@2875 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…or pass. The result was that some functional test cases were inconclusive. git-svn-id: https://svn.forgerock.org/opendj/trunk@2874 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
2. fix testcase_Postamble issue- forgot to close file handlers git-svn-id: https://svn.forgerock.org/opendj/trunk@2873 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
… XML log is malformed git-svn-id: https://svn.forgerock.org/opendj/trunk@2872 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2871 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
referenced method couldn't be found. git-svn-id: https://svn.forgerock.org/opendj/trunk@2870 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2869 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2868 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…otation for generated packages: @org.opends.server.types.PublicAPI( stability=org.opends.server.types.StabilityLevel.VOLATILE, mayInstantiate=false, mayExtend=false, mayInvoke=true) git-svn-id: https://svn.forgerock.org/opendj/trunk@2867 41b1ffd8-f28e-4786-ab96-9950f0a78031