Feature Requests
Search the entire project
This project's trackers
This project's releases
Project
People
Skill
Advanced search
Log In
|
New Account
Home
My Page
Projects
Code Snippets
Project Openings
PL/Java
Summary
Activity
Tracker
Lists
Files
[#1011116] Need more detail on "An attempt was made to call a PostgreSQL backend function after an elog(ERROR) had been issued" exception
View Trackers
|
Feature Requests
|
Download .csv
|
Monitor
Date:
2011-11-13 12:48
Priority:
3
State:
Open
Submitted by:
Christian Meier (
cikic
)
Assigned to:
Nobody (None)
Category:
Group:
Summary:
Need more detail on "An attempt was made to call a PostgreSQL backend function after an elog(ERROR) had been issued" exception
Detailed description
Today a very common exception is this one
INFO: 13 Nov 11 13:43:06 org.postgresql.pljava.sqlj.Loader Failed to load class
java.sql.SQLException: An attempt was made to call a PostgreSQL backend function after an elog(ERROR) had been issued
at org.postgresql.pljava.internal.Oid._forSqlType(Native Method)
at org.postgresql.pljava.internal.Oid.forSqlType(Oid.java:72)
at org.postgresql.pljava.jdbc.SPIPreparedStatement.setObject(SPIPreparedStatement.java:200)
at org.postgresql.pljava.jdbc.SPIPreparedStatement.setInt(SPIPreparedStatement.java:106)
at org.postgresql.pljava.sqlj.Loader.findClass(Loader.java:309)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
This exception is horrible to debug ... could you please add the privious throwable stack as text message to the current stack trace at: "org.postgresql.pljava.sqlj.Loader.findClass"
Followup
Message
Date: 2011-11-13 16:13
Sender:
Christian Meier
In fact I would like do determinate the underlying exception
and clear them out. So that the transaction will "never" go
into an error state until I explicitly write to that stream.
Some Method .getError() .clearErrors() resetting the error
state would be useful too.
Date: 2011-11-13 14:55
Sender:
Johann Oskarsson
This is almost certainly caused by the classloader looking up in the sqlj schema for the specified class, which apparently does not work once the transaction is in an error state.
I'll try to make the error message at least a bit more helpful.
As for the error log, what exactly do you have in mind? Currently the log system is hard-coded to interact with Postgres' log mechanism.
Date: 2011-11-13 12:49
Sender:
Christian Meier
and/or could you add a public stream for elog(ERROR) so that
someone can overwerite this stream like you can do with
System.out / System.setOut();
Attached Files:
Changes:
Field
Old Value
Date
By
summary
Need more detail on "An attempt was made to call a PostgreSQL backend function after an elog(ERROR) had been issued" exception
2011-11-13 16:13
cikic
summary
Need more detail on "An attempt was made to call a PostgreSQL backend function after an elog(ERROR) had been issued" exception
2011-11-13 12:49
cikic