[ 
https://issues.apache.org/jira/browse/AMBARI-11327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Levas updated AMBARI-11327:
----------------------------------
    Attachment: AMBARI-11327_01.patch

* Manually ensuring the child records are removed before the parent record is, 
when removing the parent record. This is needed since the database's foreign 
key constraint and cascading rules have been removed - See AMBARI-10717.

Patch File [^AMBARI-11327_01.patch]

> DDL errors seen on a cluster while enabling Kerberos
> ----------------------------------------------------
>
>                 Key: AMBARI-11327
>                 URL: https://issues.apache.org/jira/browse/AMBARI-11327
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 2.1.0
>            Reporter: Robert Levas
>            Assignee: Robert Levas
>            Priority: Critical
>              Labels: kerberos
>             Fix For: 2.1.0
>
>         Attachments: AMBARI-11327_01.patch
>
>
> {noformat}
> 1 May 2015 00:18:53,950  INFO [Server Action Executor Worker 256] 
> KerberosServerAction:436 - Processing identities completed.
> 21 May 2015 00:18:56,754  INFO [qtp-ambari-agent-83] HeartBeatHandler:822 - 
> SET_KEYTAB called
> 21 May 2015 00:18:57,658  INFO [qtp-ambari-agent-83] HeartBeatHandler:822 - 
> SET_KEYTAB called
> 21 May 2015 00:18:57,926  INFO [qtp-ambari-agent-83] HeartBeatHandler:822 - 
> SET_KEYTAB called
> 21 May 2015 00:19:00,677  INFO [qtp-ambari-agent-83] HeartBeatHandler:822 - 
> SET_KEYTAB called
> 21 May 2015 00:19:12,502 ERROR [ambari-action-scheduler] ClusterImpl:2459 - 
> ServiceComponentHost lookup exception
> 21 May 2015 00:19:21,850 ERROR [ambari-action-scheduler] ClusterImpl:2459 - 
> ServiceComponentHost lookup exception
> 21 May 2015 00:19:21,870  INFO [Server Action Executor Worker 263] 
> KerberosServerAction:332 - Processing identities...
> 21 May 2015 00:19:21,873  INFO [Server Action Executor Worker 263] 
> DestroyPrincipalsServerAction:90 - Destroying identity, 
> [email protected]
> 21 May 2015 00:19:22,123 ERROR [Server Action Executor Worker 263] 
> AmbariJpaLocalTxnInterceptor:114 - [DETAILED ERROR] Rollback reason:
> Local Exception Stack:
> Exception [EclipseLink-4002] (Eclipse Persistence Services - 
> 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
> Internal Exception: java.sql.SQLIntegrityConstraintViolationException: 
> ORA-02292: integrity constraint 
> (AMBARICUSTOMUSER.FK_KRB_PR_HOST_PRINCIPALNAME) violated - child record found
> Error Code: 2292
> Call: DELETE FROM kerberos_principal WHERE (principal_name = ?)
>         bind => [1 parameter bound]
>         at 
> org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:331)
>         at 
> org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:900)
>         at 
> org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:962)
>         at 
> org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:631)
>         at 
> org.eclipse.persistence.internal.databaseaccess.ParameterizedSQLBatchWritingMechanism.executeBatch(ParameterizedSQLBatchWritingMechanism.java:149)
>         at 
> org.eclipse.persistence.internal.databaseaccess.ParameterizedSQLBatchWritingMechanism.executeBatchedStatements(ParameterizedSQLBatchWritingMechanism.java:134)
>         at 
> org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.writesCompleted(DatabaseAccessor.java:1836)
>         at 
> org.eclipse.persistence.internal.sessions.AbstractSession.writesCompleted(AbstractSession.java:4244)
>         at 
> org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.writesCompleted(UnitOfWorkImpl.java:5594)
>         at 
> org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.acquireWriteLocks(UnitOfWorkImpl.java:1646)
>         at 
> org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitTransactionAfterWriteChanges(UnitOfWorkImpl.java:1614)
>         at 
> org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.commitRootUnitOfWork(RepeatableWriteUnitOfWork.java:284)
>         at 
> org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitAndResume(UnitOfWorkImpl.java:1169)
>         at 
> org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.commit(EntityTransactionImpl.java:132)
>         at 
> org.apache.ambari.server.orm.AmbariJpaLocalTxnInterceptor.invoke(AmbariJpaLocalTxnInterceptor.java:91)
>         at 
> com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
>         at 
> com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52)
>         at 
> org.apache.ambari.server.orm.dao.KerberosPrincipalDAO$$EnhancerByGuice$$9e172ec6.remove(<generated>)
>         at 
> org.apache.ambari.server.serveraction.kerberos.DestroyPrincipalsServerAction.processIdentity(DestroyPrincipalsServerAction.java:107)
>         at 
> org.apache.ambari.server.serveraction.kerberos.KerberosServerAction.processRecord(KerberosServerAction.java:504)
>         at 
> org.apache.ambari.server.serveraction.kerberos.KerberosServerAction.processIdentities(KerberosServerAction.java:393)
>         at 
> org.apache.ambari.server.serveraction.kerberos.DestroyPrincipalsServerAction.execute(DestroyPrincipalsServerAction.java:64)
>         at 
> org.apache.ambari.server.serveraction.ServerActionExecutor$Worker.execute(ServerActionExecutor.java:504)
>         at 
> org.apache.ambari.server.serveraction.ServerActionExecutor$Worker.run(ServerActionExecutor.java:441)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: java.sql.SQLIntegrityConstraintViolationException: ORA-02292: 
> integrity constraint (AMBARICUSTOMUSER.FK_KRB_PR_HOST_PRINCIPALNAME) violated 
> - child record found
>         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440)
>         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
>         at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:837)
>         at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:445)
>         at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)
>         at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523)
>         at 
> oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
>         at 
> oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1010)
>         at 
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1315)
>         at 
> oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3576)
>         at 
> oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3657)
>         at 
> oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1350)
>         at 
> org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:890)
>         ... 23 more
> 21 May 2015 00:19:22,126 ERROR [Server Action Executor Worker 263] 
> AmbariJpaLocalTxnInterceptor:122 - [DETAILED ERROR] Internal exception (1) :
> java.sql.SQLIntegrityConstraintViolationException: ORA-02292: integrity 
> constraint (AMBARICUSTOMUSER.FK_KRB_PR_HOST_PRINCIPALNAME) violated - child 
> record found
>         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440)
>         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
>         at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:837)
>         at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:445)
>         at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)
>         at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523)
>         at 
> oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
>         at 
> oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1010)
>         at 
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1315)
>         at 
> oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3576)
>         at 
> oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3657)
>         at 
> oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1350)
>         at 
> org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:890)
>         at 
> org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:962)
>         at 
> org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:631)
>         at 
> org.eclipse.persistence.internal.databaseaccess.ParameterizedSQLBatchWritingMechanism.executeBatch(ParameterizedSQLBatchWritingMechanism.java:149)
>         at 
> org.eclipse.persistence.internal.databaseaccess.ParameterizedSQLBatchWritingMechanism.executeBatchedStatements(ParameterizedSQLBatchWritingMechanism.java:134)
>         at 
> org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.writesCompleted(DatabaseAccessor.java:1836)
>         at 
> org.eclipse.persistence.internal.sessions.AbstractSession.writesCompleted(AbstractSession.java:4244)
>         at 
> org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.writesCompleted(UnitOfWorkImpl.java:5594)
>         at 
> org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.acquireWriteLocks(UnitOfWorkImpl.java:1646)
>         at 
> org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitTransactionAfterWriteChanges(UnitOfWorkImpl.java:1614)
>         at 
> org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.commitRootUnitOfWork(RepeatableWriteUnitOfWork.java:284)
>         at 
> org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitAndResume(UnitOfWorkImpl.java:1169)
>         at 
> org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.commit(EntityTransactionImpl.java:132)
>         at 
> org.apache.ambari.server.orm.AmbariJpaLocalTxnInterceptor.invoke(AmbariJpaLocalTxnInterceptor.java:91)
>         at 
> com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
>         at 
> com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52)
>         at 
> org.apache.ambari.server.orm.dao.KerberosPrincipalDAO$$EnhancerByGuice$$9e172ec6.remove(<generated>)
>         at 
> org.apache.ambari.server.serveraction.kerberos.DestroyPrincipalsServerAction.processIdentity(DestroyPrincipalsServerAction.java:107)
>         at 
> org.apache.ambari.server.serveraction.kerberos.KerberosServerAction.processRecord(KerberosServerAction.java:504)
>         at 
> org.apache.ambari.server.serveraction.kerberos.KerberosServerAction.processIdentities(KerberosServerAction.java:393)
>         at 
> org.apache.ambari.server.serveraction.kerberos.DestroyPrincipalsServerAction.execute(DestroyPrincipalsServerAction.java:64)
>         at 
> org.apache.ambari.server.serveraction.ServerActionExecutor$Worker.execute(ServerActionExecutor.java:504)
>         at 
> org.apache.ambari.server.serveraction.ServerActionExecutor$Worker.run(ServerActionExecutor.java:441)
>         at java.lang.Thread.run(Thread.java:745)
> 21 May 2015 00:19:22,127  WARN [Server Action Executor Worker 263] 
> DestroyPrincipalsServerAction:119 - Failed to remove identity for 
> [email protected] from the Ambari database - Exception 
> [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): 
> org.eclipse.persistence.exceptions.DatabaseException
> {noformat}



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

Reply via email to