04 Sep, 2007
4 commits
-
- remove obsolete methods, fields and messages. - aggregate filters evaluation for config phases. - simplify filters evaluation and error reporting. - use a single set of filter messages. git-svn-id: https://svn.forgerock.org/opendj/trunk@2938 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
Standard secure args are now part of dsconfig CLI. it' also include the following dsconfig interface changes: use -z instead of -Z for --unit-size short option use -m instead of -M for --unit-time short option (consistency with --unit-size short option) git-svn-id: https://svn.forgerock.org/opendj/trunk@2935 41b1ffd8-f28e-4786-ab96-9950f0a78031 -
message that explains why the entry should not be imported/exported. OpenDS Issue Number: 2218 git-svn-id: https://svn.forgerock.org/opendj/trunk@2933 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
specified set of attributes (optionally only for entries below a specified set of base DNs) are 7-bit clean. OpenDS Issue Number: 261 git-svn-id: https://svn.forgerock.org/opendj/trunk@2932 41b1ffd8-f28e-4786-ab96-9950f0a78031
03 Sep, 2007
15 commits
-
This change adds the server side support for constraints. As part of this change I refactored the ServerManagementContext so that it supports a similar API to the client ManagementContext API. This will make it easier for constraint implementations to perform checks. git-svn-id: https://svn.forgerock.org/opendj/trunk@2931 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2930 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2928 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
This change removes all the ugly hard-coded error strings from the admin framework exception classes and replaces them with nicer and at times more user friendly messages stored in I18N property files. In particular, the server side decoding error messages have been improved. git-svn-id: https://svn.forgerock.org/opendj/trunk@2927 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
handler, which can be used to terminate client connections if an attempt to write data to the client has been blocked for too long. This will generally occur if the client has become unresponsive or there is a network outage. OpenDS Issue Number: 139 git-svn-id: https://svn.forgerock.org/opendj/trunk@2926 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2923 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…ix for a given base DN and throw an exception informing of it. git-svn-id: https://svn.forgerock.org/opendj/trunk@2922 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2921 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
Improve the error messages to be displayed to the user when the uninstall fails.Fix a infinite loop that occurred when the user provided a protocol not configured in the server to access the registration information. Fix a bug that prevented the uninstall to proceed when the user specified forceOnError and an error accessing the remote servers configuration occurred. Fix a bug that occurred when the user specified to use start TLS and it was not configured in the server (this bug applies to both the uninstaller and status command-lines). git-svn-id: https://svn.forgerock.org/opendj/trunk@2920 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2919 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
This change provides a client-side framework for enforcing arbitrary constraints between managed objects and their properties. This framework enables us to (not exhaustive): 1) support referential integrity between managed objects (required by issue 1449) 2) support dependencies between properties (e.g. if A is true then B is mandatory). This is useful for optional features like SSL configuration 3) support constraints between properties (e.g. integer property A must always be less than integer property B) A subsequent change will provide server-side support. git-svn-id: https://svn.forgerock.org/opendj/trunk@2918 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…ior for referential integrity attribute property. git-svn-id: https://svn.forgerock.org/opendj/trunk@2916 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
Fix a bug in that made the progress bar to go back. Use LinkedHashSets instead of HashSets in SuffixesToReplicateOptions and return a copy of these Sets. This is done to be sure that the ADS is the last suffix to be initialized. Use a customized message when we are initializing the ADS suffix instead of displaying the suffix (the user might be surprised by the fact that a base DN (s)he never chose is being initialized). git-svn-id: https://svn.forgerock.org/opendj/trunk@2915 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
Use the provided host name and port by the user to represent the server. git-svn-id: https://svn.forgerock.org/opendj/trunk@2914 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
New configuration attributes: - ds-cfg-referential-integrity-attribute-type Specify attribute types that referential integrity will be checked on; this is a mandatory attribute -ds-cfg-referential-integrity-base-dn Specify base DN that will limit scope of reference check; if not specified the server's public naming contexts are used - ds-cfg-referential-integrity-update-interval Specify update interval for background referential integrity processing; if update interval > 0 plugin performs background processing; default is 0 -ds-cfg-referential-integrity-log-file Specify log file location for update records when background processing is enabled; default is <instance>/logs/referint The plugin is disabled by default: dn: cn=Referential Integrity,cn=Plugins,cn=config objectClass: top objectClass: ds-cfg-plugin objectClass: ds-cfg-referential-integrity-plugin cn: Referential Integrity ds-cfg-plugin-class: org.opends.server.plugins.ReferentialIntegrityPlugin ds-cfg-plugin-enabled: false ds-cfg-plugin-type: postOperationDelete ds-cfg-plugin-type: postOperationModifyDN ds-cfg-plugin-type: subordinateModifyDN ds-cfg-referential-integrity-attribute-type: member ds-cfg-referential-integrity-attribute-type: uniqueMember git-svn-id: https://svn.forgerock.org/opendj/trunk@2913 41b1ffd8-f28e-4786-ab96-9950f0a78031
02 Sep, 2007
11 commits
-
implementations to provide default values for the conflict-behavior property. git-svn-id: https://svn.forgerock.org/opendj/trunk@2912 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
create a tight infinite loop if the method is still running after the database has been closed, repeatedly catching and logging exceptions. This change adds a break statement after logging the message so that it will exit from the loop. The exception being caught was: com.sleepycat.je.DatabaseException: (JE 3.2.29) Attempt to use non-open Environment object(). at com.sleepycat.je.Environment.checkHandleIsValid(Environment.java:1147) at com.sleepycat.je.Environment.beginTransactionInternal(Environment.java:731) at com.sleepycat.je.Environment.beginTransaction(Environment.java:720) at org.opends.server.replication.server.ReplicationDbEnv.beginTransaction(ReplicationDbEnv.java:381) at org.opends.server.replication.server.ReplicationDB$ReplServerDBCursor.<init>(ReplicationDB.java:363) at org.opends.server.replication.server.ReplicationDB$ReplServerDBCursor.<init>(ReplicationDB.java:314) at org.opends.server.replication.server.ReplicationDB.openDeleteCursor(ReplicationDB.java:205) at org.opends.server.replication.server.DbHandler.trim(DbHandler.java:384) at org.opends.server.replication.server.DbHandler.run(DbHandler.java:335) at java.lang.Thread.run(Thread.java:619) git-svn-id: https://svn.forgerock.org/opendj/trunk@2911 41b1ffd8-f28e-4786-ab96-9950f0a78031 -
git-svn-id: https://svn.forgerock.org/opendj/trunk@2910 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…nd replace them with a single managedObjectExists method. This will be more useful and more simple for dependency call-backs. git-svn-id: https://svn.forgerock.org/opendj/trunk@2909 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…r replication tests. Fixed an NPE in ServerHandler that occurred in one run of the unit tests git-svn-id: https://svn.forgerock.org/opendj/trunk@2908 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
… sensible default values. These defaults were taken from the current config.ldif default configuration. git-svn-id: https://svn.forgerock.org/opendj/trunk@2907 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…s displayed by default in dsconfig list-xxx operations. git-svn-id: https://svn.forgerock.org/opendj/trunk@2906 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
-
* 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
4 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
-
…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
6 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