Hi,

I am using an embedded DirectoryService instance from trunk. If I start the service and inject my test data with ACIs they work correctly. E.g. users can access the data allowed by the ACIs. If I stop the server and start it again they can't. If I connect to the server as the admin user I can see that my data is still there and the subEntries are visible they just don't seem to be being interpreted.

I remember seeing a message on these forums that this was a bug in 1.5.7 but had been fixed on trunk. I am using the following code to start the service:

        InstanceLayout instanceLayout = new InstanceLayout(workingDir);
        instanceLayout.mkdirs();
        initSchemaPartition(instanceLayout.getPartitionsDirectory());
        
        directoryService = new DefaultDirectoryService();
        directoryService.setSchemaManager(schemaManager);
        directoryService.setInstanceId(instanceId);
        directoryService.setInstanceLayout(instanceLayout);

        directoryService.setAccessControlEnabled(true);
        directoryService.setAllowAnonymousAccess(false);
     
        Partition systemPartition = createPartition("system", ServerDNConstants.SYSTEM_DN);
        directoryService.setSystemPartition(systemPartition);

        directoryService.setDenormalizeOpAttrsEnabled(true);

        Partition ratPartition = createPartition(partitionId, partitionDn);
        addIndex(ratPartition, "objectClass", "ou", "uid");

        SchemaPartition schemaPartition = directoryService.getSchemaService().getSchemaPartition();
        schemaPartition.setWrappedPartition( schemaLdifPartition );
        schemaPartition.setSchemaManager( schemaManager );
        
        directoryService.startup();

        directoryService.addPartition(ratPartition);

Is there something more I need to do to reload the ACI cache?

Thanks,

Mike Adamson