My guess is there was no ticket to log out of which is returning null.  I
should update it to return the anonymous user when none can be found.  The
alternative is to remove the null restriction.

Cheers,
Scott


On Mon, Feb 22, 2010 at 8:07 PM, Patrick Berry <[email protected]> wrote:

> I'll be doing more to verify this tomorrow, but I think I found a bug (or
> at least it's an issue if you use the create table script from the wiki).
>  If you hit the CAS logout URL directly, the database insert will fail:
>
> Exception in thread "pool-2-thread-1"
> org.springframework.dao.DataIntegrityViolationException:
> PreparedStatementCallback; SQL [Insert into COM_AUDIT_TRAIL(AUD_USER,
> AUD_CLIENT_IP, AUD_SERVER_IP, AUD_RESOURCE, AUD_ACTION, APPLIC_CD, AUD_DATE)
> Values(?, ?, ?, ?, ?, ?, ?)]; ORA-01400: cannot insert NULL into
> ("EAPP_CAS_SVC"."COM_AUDIT_TRAIL"."AUD_USER")
> ; nested exception is java.sql.SQLException: ORA-01400: cannot insert NULL
> into ("EAPP_CAS_SVC"."COM_AUDIT_TRAIL"."AUD_USER")
>
> at
> org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:228)
>  at
> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
> at
> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:607)
>  at
> org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:792)
> at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:850)
>  at
> org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:858)
> at
> org.springframework.jdbc.core.simple.SimpleJdbcTemplate.update(SimpleJdbcTemplate.java:237)
>  at
> org.inspektr.audit.support.JdbcAuditTrailManager$LoggingTask$1.doInTransactionWithoutResult(JdbcAuditTrailManager.java:96)
> at
> org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
>  at
> org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at
> org.inspektr.audit.support.JdbcAuditTrailManager$LoggingTask.run(JdbcAuditTrailManager.java:89)
>  at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>  at java.lang.Thread.run(Thread.java:637)
> Caused by: java.sql.SQLException: ORA-01400: cannot insert NULL into
> ("EAPP_CAS_SVC"."COM_AUDIT_TRAIL"."AUD_USER")
>
> at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
>  at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
> at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
>  at
> oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:219)
> at
> oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:970)
>  at
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1190)
> at
> oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3370)
>  at
> oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3454)
> at
> com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
>  at
> org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:798)
> at
> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)
>  ... 11 more
>
> Thoughts on bug vs database issue?
>
> --
> You are currently subscribed to [email protected] as: 
> [email protected]
>
> To unsubscribe, change settings or access archives, see 
> http://www.ja-sig.org/wiki/display/JSG/cas-dev
>
>

-- 
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-dev

Reply via email to