Can anyone give me any suggestions on how to debug this issue? A user is randomly seeing the following exception while connected to a Derby network server. I'm not sure what the exception means. It sounds like there may have been a network error? The user is connected locally to the server over a LAN. I don't think it's likely that the network connection was interrupted. Unfortunately, he can't reproduce it consistently.

The exception does not always occur at the same location in our code. The only common denominator seems to be a call to Derby's Connection.prepareStatement() method.

We've tried enabling tracing on the client but didn't see anything useful in the log.

I gave the user the Derby debug libs and had him work with the software until he cause the error again. The query being prepared in this instance is very simple, "SELECT * FROM strategylots WHERE objectid=?"

java.sql.SQLException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:46)
org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:362)
org.apache.derby.client.am.Connection.prepareStatement(Connection.java:426)
com.scs.database.sql.MoneyDatabaseSQLType.prepareStatement(MoneyDatabaseSQLType.java:2235)
com.scs.database.sql.MoneyDatabaseSQLType.getEntry(MoneyDatabaseSQLType.java:2382)
com.scs.money.transaction.InvestmentTransaction.getExplicitSlot(InvestmentTransaction.java:828)
com.scs.money.transaction.InvestmentTransaction.getStrategyLot(InvestmentTransaction.java:515)
com.scs.money.holding.Holding.recalculateStrategies(Holding.java:341)
com.scs.money.holding.Holding.doRecalulate(Holding.java:1260)
com.scs.money.holding.Holding.recalculateQuantity(Holding.java:851)
com.scs.money.holding.Holding.addByTransaction(Holding.java:1408)
com.scs.money.data.OptionTradeEntry.post(OptionTradeEntry.java:155)
com.scs.money.data.DataImportEntry.post(DataImportEntry.java:147)
com.scs.money.data.DataProcessPanel.doImport(DataProcessPanel.java:245)
com.scs.money.data.DataProcessPanel.access$000(DataProcessPanel.java:19)
com.scs.money.data.DataProcessPanel$1.process(DataProcessPanel.java:52)
com.scs.money.TaskedJob.process(TaskedJob.java:19)
com.scs.money.TaskedJob$1.processTask(TaskedJob.java:33)
com.scs.taskmanager.TaskManager.cycle(TaskManager.java:71)
com.scs.taskmanager.TaskManager.run(TaskManager.java:23)

Any help would be appreciated.

-Vic

Reply via email to