directory-api mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jitesh dundas <jbdun...@gmail.com>
Subject Need Help with the LDAP API for large records
Date Wed, 16 Oct 2013 14:21:54 GMT
Hi All,

 I am a new user who is implementing Apache LDAP on one of our company's
servers. The records in the LDAP ( entries) come from a text file ( LDAP
dump) having 600000 records in it.

I have written a utility to insert it buyt it keeps failing with these
errors:-

[10:16:25] ERROR
[org.apache.directory.ldap.client.api.LdapNetworkConnection] - Bind failed
: timeout occurred
[10:16:25] ERROR
[org.apache.directory.ldap.client.api.LdapNetworkConnection] - The response
queue has been emptied, no response was found.
org.apache.directory.api.ldap.model.exception.LdapException: TimeOut
occurred
    at
org.apache.directory.ldap.client.api.LdapNetworkConnection.bind(LdapNetworkConnection.java:1089)
    at
org.apache.directory.ldap.client.api.AbstractLdapConnection.bind(AbstractLdapConnection.java:121)
    at
org.apache.directory.ldap.client.api.AbstractLdapConnection.bind(AbstractLdapConnection.java:106)
    at Main.getConnection(Main.java:38)
    at Main.main(Main.java:130)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at
org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)


Here is the code to add it:-

  public static void addEntryIntoSonarTestLdap(Entry labLdapEntry) throws
LdapException, IOException {
      //Sonar Ldap Connection Details
      Main client = new Main("altv0018.aldc.att.com", 10389, "admin",
"secret");

      List<WebphonePerson> webphonePersons = WebphoneFileReader.readFile();
      for(int i=6000; i<webphonePersons.size() ; i++){
          LdapConnection connection = client.getConnection();
          connection.setTimeOut(1000000);
          try {


                  //create the new entries to add.
                Entry sonarLdapEntry = new
DefaultEntry(labLdapEntry.getDn().toString().trim());//dn of the entry goes
here.
                sonarLdapEntry.add("objectClass","top");
                sonarLdapEntry.add("objectClass","inetOrgPerson");
                sonarLdapEntry.add("objectClass","person");
                sonarLdapEntry.add("objectClass","organizationalPerson");
                sonarLdapEntry.add("cn", webphonePersons.get(i).getUID());

sonarLdapEntry.add("sn",webphonePersons.get(i).getFirstName() + " " +
webphonePersons.get(i).getLastName());
                sonarLdapEntry.add("uid",webphonePersons.get(i).getUID());

sonarLdapEntry.add("userPassword","{AES256}MT3QA5xD8c1ZNy9EJSgW/Q==");
                connection.add(sonarLdapEntry);
                LOGGER.info("Sonar Test LDAP@Added User
sonarLdapEntry=>"+sonarLdapEntry.toString());
            } catch (Exception e) {
                // TODO Auto-generated catch block
                //e.printStackTrace();
                System.out.println("UID FAILED => "+
webphonePersons.get(i).getAttUID());
            }
                  //closing connections after every 1000 records added and
then opened again.
                  //to prevent memory issues.
                  if (i%1000 == 0){
                client.closeConnection(connection);
                connection = client.getConnection();
                  }
            }

    }

Any ideas on how to resolve it? We have the Java memory options set to
-Xms1024m -Xmx1024m

Thanks & Regards,
Jitesh Dundas

Phone - 732-357-6292

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message