[
https://issues.apache.org/jira/browse/DERBY-2074?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Knut Anders Hatlen updated DERBY-2074:
--------------------------------------
Summary: NullPointerException when two threads load sort factory
concurrently (was: Several times exception from derby implementation was
thrown (were unable to eproduce and check if it caused by any our work))
Thanks Kathey. I changed the summary to better describe the symptoms. As to the
indentation, if you view the patch with tab size 4, as it is used in the code,
I think the added code will line up with the surrounding code.
> NullPointerException when two threads load sort factory concurrently
> --------------------------------------------------------------------
>
> 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
> Assignee: Knut Anders Hatlen
> Priority: Minor
> Attachments: d2074-1a.diff, d2074-1b.diff, d2074-1b.stat,
> LoadSorter.java
>
>
> 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.