Tim Dudgeon <[email protected]> writes:

> No joy. Seems like nothing extra is being logged.

>From the stack trace, cleanupOnError() seems to be called from this
catch block in GenericPreparedStatement.executeStatement():

    } catch (StandardException se) {
        /* Cann't handle recompiling SPS action recompile here */
        if (!se.getMessageId().equals(SQLState.LANG_STATEMENT_NEEDS_RECOMPILE)
                 || spsAction)
            throw se;
        statementContext.cleanupOnError(se);
        continue recompileOutOfDatePlan;

    }

It looks like the INSERT statement got a recompilation request. That's
not really an error, but an exception is raised to signal the condition
internally. The statement is supposed to be recompiled and retried
automatically after cleaning up the execution state. Unfortunately, the
trigger execution context doesn't seem to be prepared for this scenario,
and it fails with a NullPointerException in cleanup().

I've managed to reproduce the NPE in my environment, and I've filed
https://issues.apache.org/jira/browse/DERBY-6724 to track the issue.

Thanks,


-- 
Knut Anders

Reply via email to