db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Torsten Heftrich-Zoth (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2074) Several times exception from derby implementation was thrown (were unable to eproduce and check if it caused by any our work)
Date Wed, 17 Jun 2009 11:50:07 GMT

    [ https://issues.apache.org/jira/browse/DERBY-2074?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12720633#action_12720633
] 

Torsten Heftrich-Zoth commented on DERBY-2074:
----------------------------------------------

It seems to me after some experimenting that this item is related to synchronization and multithreading.
In my scenario the error does not occur when I use the debug version or activate the proposed
logging. The error occurs not on my development machine but on an 8-core server. Additionally
the error occurs more often when this server is nearly idle.
As explanation I may add, that in our application two servlets are initializing nearly at
the same time and are executing the same expensive statement nearly simultaneously. When only
one servlet is activated the errors also does never occur.
For now it seems I could solve the problem for us. I introduced some synchronization into
our code which forces the two servlets to initialize after one another. 
I saved the setup which produces the error, so if you wish me to test some changes to derby
or produce some log output for you, give me a hint.


> Several times exception from derby implementation was thrown (were unable to eproduce
and check if it caused by any our work)
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2074
>                 URL: https://issues.apache.org/jira/browse/DERBY-2074
>             Project: Derby
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 10.1.3.1
>         Environment: WinXP Professional, Java 1.5.0_06
>            Reporter: Kovylin Alexandr
>            Priority: Minor
>
> 12:34:45,323 ERROR [pool-1-thread-3] history.helpers.HistoryDataAccessHelper - failed
to read measurements, filter = (fromTime=Mon Nov 06 12:34:00 MSK 2006, toTime=Mon Nov 13 12:34:00
MSK 2006, , properties=2-6-2-value) org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback;
uncategorized SQLException for SQL [SELECT COUNT(DISTINCT sshis.measurement_time) FROM sshis_property_measurement
sshis INNER JOIN sstmp_filter_3 filtertbl ON sshis.property_id = filtertbl.property_id WHERE
sshis.measurement_time >= ? AND sshis.measurement_time < ?]; SQL state [XJ001]; error
code [0]; Java exception:':
>  java.lang.NullPointerException'.; nested exception is
> org.apache.derby.impl.jdbc.EmbedSQLException: Java exception: ': java.lang.NullPointerException'.
> java.lang.NullPointerException
>         at java.util.Hashtable.put(Unknown Source)
>         at org.apache.derby.impl.store.access.RAMAccessManager.registerAccessMethod(Unknown
Source)
>         at org.apache.derby.impl.store.access.RAMAccessManager.findMethodFactoryByImpl(Unknown
Source)
>         at org.apache.derby.impl.store.access.RAMTransaction.createSort(UnknownSource)
>         at org.apache.derby.impl.sql.execute.DistinctScalarAggregateResultSet.loadSorter(Unknown
Source)
>         at org.apache.derby.impl.sql.execute.DistinctScalarAggregateResultSet.openCore(Unknown
Source)
>         at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.openCore(Unknown
Source)
>         at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(Unknown Source)
>         at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
Source)
>         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeQuery(Unknown Source)
>         at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:535)
>         at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:476)
>         at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:528)
>         at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:561)
>         at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:579)
>         at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:589)
>         at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:619)
>         at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:629)
>         at org.springframework.jdbc.core.JdbcTemplate.queryForInt(JdbcTemplate.java:656)
>         at com.meshnetics.wsn.ctrl.dispatcher.services.history.helpers.MeasurementsSaveGetHelper.getMeasurements(MeasurementsSaveGetHelper.java:81)
>         at com.meshnetics.wsn.ctrl.dispatcher.services.history.helpers.HistoryDataAccessHelper$7.doInTransaction(HistoryDataAccessHelper.java:315)
>         at com.meshnetics.wsn.ctrl.dispatcher.services.history.helpers.HistoryDataAccessHelper$7.doInTransaction(HistoryDataAccessHelper.java:314)
>         at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:117)
>         at com.meshnetics.wsn.ctrl.dispatcher.services.history.helpers.HistoryDataAccessHelper.getMeasurements(HistoryDataAccessHelper.java:313)
>         at com.meshnetics.wsn.ctrl.dispatcher.services.history.asyncread.MeasurementsReadTask.executeTask(MeasurementsReadTask.java:127)
>         at com.meshnetics.wsn.ctrl.dispatcher.services.history.asyncread.MeasurementsReadTask.run(MeasurementsReadTask.java:97)
>         at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
>         at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
>         at java.util.concurrent.FutureTask.run(Unknown Source)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>         at java.lang.Thread.run(Unknown Source)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message