directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DIRSERVER-2144) Role Disappreared
Date Tue, 17 May 2016 14:35:12 GMT

    [ https://issues.apache.org/jira/browse/DIRSERVER-2144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15286727#comment-15286727
] 

Emmanuel Lecharny commented on DIRSERVER-2144:
----------------------------------------------

Outdated.

The latest trunk as an added command : {{java -jar UberMain.jar <path to your configuration>
REPAIR}} that should work.

There is a unit test class that check the repair process :

{noformat}
    /**
     * Tests the repair of an existing ApacheDS Service instance.
     *
     * @throws Exception
     */
    @Test
    public void repairTest() throws Exception
    {   
        // First start the server to initialize the example partition 
        Thread connectionVerificationThread = createServer();
        
        // Starting the connection verification thread
        // and waiting for the termination of it
        connectionVerificationThread.start();
        connectionVerificationThread.join();

        // Checking if verification is successful
        if ( !verified )
        {
            fail();
        }
        
        // Add a few entries to create a more complex hierarchy
        // We will have :
        // dc=example,dc=com
        //    ou=people
        //      ou=committers
        //        cn=emmanuel
        //        cn=kiran
        //        cn=stefan
        //        cn=radovan
        //      ou=pmcs
        //        cn=emmanuel
        //        cn=kiran
        //        cn=stefan
        //   ou=groups
        //     cn=users
        LdapConnection connection = createConnection();
        
        // First level
        Entry people = new DefaultEntry( 
            "ou=People,dc=example,dc=com",
            "objectClass: organizationalUnit",
            "objectClass: top",
            "ou: People"
            );
        
        connection.add( people );
        
        Entry groups = new DefaultEntry( 
            "ou=Groups,dc=example,dc=com",
            "objectClass: organizationalUnit",
            "objectClass: top",
            "ou: Groups"
            );
        
        connection.add( groups );
        
        // Second level
        Entry committers  = new DefaultEntry( 
            "ou=Committers,ou=people,dc=example,dc=com",
            "objectClass: organizationalUnit",
            "objectClass: top",
            "ou: Committers"
            );

        connection.add( committers );

        Entry pmcs  = new DefaultEntry( 
            "ou=Pmcs,ou=people,dc=example,dc=com",
            "objectClass: organizationalUnit",
            "objectClass: top",
            "ou: Pmcs"
            );

        connection.add( pmcs );

        Entry users  = new DefaultEntry( 
            "ou=Users,ou=people,dc=example,dc=com",
            "objectClass: organizationalUnit",
            "objectClass: top",
            "ou: Users"
            );

        connection.add( users );

        // Third level, committers
        Entry emmanuelCommitter  = new DefaultEntry( 
            "cn=emmanuel,ou=Committers,ou=people,dc=example,dc=com",
            "objectClass: person",
            "objectClass: top",
            "cn: emmanuel",
            "sn: Emmanuel Lecharny"
            );

        connection.add( emmanuelCommitter );

        Entry kiranCommitter  = new DefaultEntry( 
            "cn=kiran,ou=Committers,ou=people,dc=example,dc=com",
            "objectClass: person",
            "objectClass: top",
            "cn: kiran",
            "sn: Kiran Ayyagari"
            );

        connection.add( kiranCommitter );

        Entry stefanCommitter  = new DefaultEntry( 
            "cn=stefan,ou=Committers,ou=people,dc=example,dc=com",
            "objectClass: person",
            "objectClass: top",
            "cn: stefan",
            "sn: Stefan Seelmann"
            );

        connection.add( stefanCommitter );
        
        Entry radovanCommitter  = new DefaultEntry( 
            "cn=radovan,ou=Committers,ou=people,dc=example,dc=com",
            "objectClass: person",
            "objectClass: top",
            "cn: radovan",
            "sn: Radovan Semancik"
            );

        connection.add( radovanCommitter );

        // Third level, PMCs
        Entry emmanuelPmc = new DefaultEntry( 
            "cn=emmanuel,ou=Pmcs,ou=people,dc=example,dc=com",
            "objectClass: person",
            "objectClass: top",
            "cn: emmanuel",
            "sn: Emmanuel Lecharny"
            );

        connection.add( emmanuelPmc );

        Entry kiranPmc = new DefaultEntry( 
            "cn=kiran,ou=Pmcs,ou=people,dc=example,dc=com",
            "objectClass: person",
            "objectClass: top",
            "cn: kiran",
            "sn: Kiran Ayyagari"
            );

        connection.add( kiranPmc );

        Entry stefanPmc = new DefaultEntry( 
            "cn=stefan,ou=Pmcs,ou=people,dc=example,dc=com",
            "objectClass: person",
            "objectClass: top",
            "cn: stefan",
            "sn: Stefan Seelmann"
            );

        connection.add( stefanPmc );
        
        // Now, check that we have 13 entries
        int entryCount = 0;
        
        EntryCursor cursor = connection.search( "dc=example, dc=com","(ObjectClass=*)", SearchScope.SUBTREE,
"*" );
        
        while ( cursor.next() )
        {
            cursor.get();
            entryCount++;
        }
        
        assertEquals( 13, entryCount );

        // Stop the server
        uberjarMain.stop();

        // Try to repair it
        uberjarMain.repair( instanceDirectory.toString() );

        // Stop the server again
        uberjarMain.stop();
        
        // And restart it
        connectionVerificationThread = createServer();
        
        // Starting the connection verification thread
        // and waiting for the termination of it
        connectionVerificationThread.start();
        connectionVerificationThread.join();

        // Checking if verification is successful
        if ( !verified )
        {
            fail();
        }

        // Check the content
        connection = createConnection();

        entryCount = 0;
        
        cursor = connection.search( "dc=example, dc=com","(ObjectClass=*)", SearchScope.SUBTREE,
"*" );
        
        while ( cursor.next() )
        {
            cursor.get();
            entryCount++;
        }
        
        assertEquals( 13, entryCount );
    }
{noformat}

> Role Disappreared
> -----------------
>
>                 Key: DIRSERVER-2144
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-2144
>             Project: Directory ApacheDS
>          Issue Type: Bug
>    Affects Versions: 2.0.0-M16
>            Reporter: Siddharth Thakar
>
> I have very strange problem on my production environment.
> There was below entry present and lots of users were assigned to group GEBRUIKER, suddenly
group GEBRUIKER disappeared and all users belongs to that group no longer able to login to
the system.
> cn=GEBRUIKER,ou=roles,ou=groups,dc=lgronline,dc=nl
> When I try to create the group again it gives me error 
> #!ERROR ENTRY_ALREADY_EXISTS: failed for MessageType : ADD_REQUEST Message ID : 25  
  Add Request : Entry     dn[n]: cn=GEBRUIKER,ou=roles,ou=groups,dc=lgronline,dc=nl     objectclass:
organizationalRole     objectclass: top     cn: GEBRUIKER     description: ERR_250_ENTRY_ALREADY_EXISTS
cn=GEBRUIKER,ou=roles,ou=groups,dc=lgronline,dc=nl already exists!
> dn: cn=GEBRUIKER,ou=roles,ou=groups,dc=lgronline,dc=nl
> changetype: add
> Please someone help to resolve this issue.
> I even restored that /var/lib/apacheds-2.0.0-M16 directory from last month hoping that
user might have done some wrong and one month old restore will fix the issue, however issue
is still there, not getting any help online as well.
> SOS



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message