You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Trejkaz (JIRA)" <ji...@apache.org> on 2008/11/01 14:11:44 UTC

[jira] Issue Comment Edited: (DERBY-3746) java.sql.SQLException: The exception 'java.lang.NullPointerException' was thrown while evaluating an expression.

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

trejkaz edited comment on DERBY-3746 at 11/1/08 6:11 AM:
---------------------------------------------------------

I don't think this really comes down to network vs. non-network.  It should come down to a "usable filesystem", and I haven't yet heard a good definition of what constitutes a "usable filesystem".  On the mailing list, it was suggested that reliable sync() and locking were the only requirements.  As far as I know CIFS and NFS can do both of these, which would suggest that it's just as safe to use a network as a locally attached disk.

Networks can go down temporarily, sure, but so can "directly" attached disks (e.g. eSATA, or hot-swappable drives.  What about USB and FireWire?)

So it seems to me this particular problem could very well occur if a directly attached disk disappeared and then later reappeared.  It's not really an issue of corruption at all... or so you'd hope, otherwise Derby wouldn't be resilient to a power outage either.


      was (Author: trejkaz):
    I don't think this really comes down to network vs. non-network.  It should come down to a "usable filesystem", and I haven't yet heard a good definition of what constitutes a "stable filesystem".  On the mailing list, it was suggested that reliable sync() and locking were the only requirements.  As far as I know CIFS and NFS can do both of these, which would suggest that it's just as safe to use a network as a locally attached disk.

Networks can go down temporarily, sure, but so can "directly" attached disks (e.g. eSATA, or hot-swappable drives.  What about USB and FireWire?)

So it seems to me this particular problem could very well occur if a directly attached disk disappeared and then later reappeared.  It's not really an issue of corruption at all... or so you'd hope, otherwise Derby wouldn't be resilient to a power outage either.

  
> java.sql.SQLException: The exception 'java.lang.NullPointerException' was thrown while evaluating an expression.
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3746
>                 URL: https://issues.apache.org/jira/browse/DERBY-3746
>             Project: Derby
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 10.3.1.4
>         Environment: SUSE LINUX 10, Embedded Derby
>            Reporter: vibhuti gupta
>
> Hi
>  
> Following exception occurs while running our application with embedded derby database. The application uses multithreading. This exception occurs while insert query is executed. The insert query is run using JDBC:
>  
> insert into sign (sign, month, day, offset, digest) values (?,?,?,?,?). 
>  
> The table for which insert query is fired is:
>  
> create table sign(ID  INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, sign varchar(32), month char(6) not null, day char(2) not null, offset bigint not null, digest varchar(32) for bit data not null)
>  
> There are multiple threads inserting data in database. I tried to search a lot on net but could not find any solution. We're using derby 10.3.1.4. Not sure about the root cause. It will be great if anybody provides some solution because it is creating lot of problems in our application.
>  
> -------------------------------------------------------------------------------------------------------------
>  
> Caused by: java.sql.SQLException: The exception
> 'java.lang.NullPointerException' was thrown while evaluating an expression.
>         at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown
> Source)
>         at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
>         at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown Source)
>         at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown
> Source)
>         at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown
> Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown
> Source)
>         at org.apache.derby.impl.jdbc.ConnectionChild.handleException(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.executeUpdate(Unknown Source)
>         at
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)
>         at
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)
>         at src.app.database.derby.Derby.insertData(Derby.java:132)
>         ... 17 more
> Caused by: java.sql.SQLException: The exception
> 'java.lang.NullPointerException' was thrown while evaluating an expression.
>         at
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
>         at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown
> Source)
>         ... 30 more
> Caused by: java.sql.SQLException: Java exception: ':
> java.lang.NullPointerException'.
>         at
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
>         at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown
> Source)
>         at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown
> Source)
>         at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
>         at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source)
>         at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown
> Source)
>         ... 27 more
> Caused by: java.lang.NullPointerException
>         at
> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(Unknown
> Source)
>         at
> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(Unknown
> Source)
>         at org.apache.derby.impl.store.raw.xact.Xact.openContainer(Unknown
> Source)
>         at
> org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.init(Unknown
> Source)
>         at org.apache.derby.impl.store.access.heap.Heap.open(Unknown Source)
>         at
> org.apache.derby.impl.store.access.RAMTransaction.openConglomerate(Unknown
> Source)
>         at
> org.apache.derby.impl.store.access.RAMTransaction.openConglomerate(Unknown
> Source)
>         at
> org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getSetAutoincrementValue(Unknown
> Source)
>         at
> org.apache.derby.impl.sql.execute.InsertResultSet.getSetAutoincrementValue(Unknown
> Source)
>         at
> org.apache.derby.impl.sql.execute.BaseActivation.getSetAutoincrementValue(Unknown
> Source)
>         at
> org.apache.derby.exe.acd89d8024x0119xf710x52e1x000002ea2ea00.e0(Unknown Source)
>         at org.apache.derby.impl.services.reflect.DirectCall.invoke(Unknown
> Source)
>         at
> org.apache.derby.impl.sql.execute.RowResultSet.getNextRowCore(Unknown Source)
>         at
> org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(Unknown
> Source)
>         at
> org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(Unknown
> Source)
>         at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown
> Source)
>         at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown
> Source)
>         ... 23 more
> ----------------------------------------------------------------------------------
>  
>  Also please find the output of sysinfo:
>  
> ------------------ Java Information ------------------
> Java Version:    1.6.0_01
> Java Vendor:     Sun Microsystems Inc.
> Java home:       C:\Java\jdk1.6.0_01\jre
> Java classpath:  .\config;.\lib\activation.jar;.\lib\aperture-1.0.1-beta.jar;
> .\lib\bcmail-jdk14-132.jar;.\lib\bcprov-jdk14-132.jar;.\lib\castor-0.9.3.21-xml.jar;
> .\lib\checkstyle-all-4.2.jar;.\lib\cjkanalyzer.jar;.\lib\commons-beanutils.jar;
> .\lib\commons-collections-3.0.jar;.\lib\commons-dbcp-1.2.1.jar;
> .\lib\commons-digester.jar;.\lib\commons-fileupload.jar;.\lib\commons-lang-2.0.jar;
> .\lib\commons-logging.jar;.\lib\commons-net-1.4.1.jar;.\lib\commons-pool-1.2.jar;
> .\lib\commons-validator.jar;.\lib\app.jar;.\lib\app_13.jar;.\lib\appsync.jar;
> .\lib\derby.jar;.\lib\derbyclient.jar;.\lib\derbynet.jar;.\lib\derbytools.jar;
> .\lib\displaytag-1.0-rc1.jar;.\lib\FontBox-0.1.0-dev.jar;
> .\lib\jakarta-regexp-1.2.jar;.\lib\javaee.jar;.\lib\jcharset.jar;
> .\lib\jcifs-1.2.17.jar;.\lib\jcommon-0.9.6.jar;.\lib\jfreechart-0.9.21.jar;
> .\lib\jtnef.jar;.\lib\junit.jar;.\lib\ldap.jar;.\lib\log4j-1.2.8.jar;
> .\lib\lucene-core-2.2.0.jar;.\lib\lucene-highlighter.jar;.\lib\mail.jar;
> .\lib\mysql-connector-java-3.0.9-stable-bin.jar;
> .\lib\openrdf-rdf2go-2.0.0-beta6.jar;.\lib\openrdf-sesame-2.0-beta6-onejar.jar;
> .\lib\org.semweb4j.rdf2go.api_4.4.7.jar;
> .\lib\org.semweb4j.rdf2go.impl.base_4.4.6.jar;.\lib\pd4ml.jar;
> .\lib\PDFBox-0.7.3.jar;.\lib\poi-3.0.1-FINAL-20070705.jar;.\lib\quartz-1.5.2.jar;
> .\lib\slf4j-api-1.3.0.jar;.\lib\slf4j-simple-1.3.0.jar;.\lib\SNMP4J.jar;
> .\lib\ss_css2.jar;.\lib\struts.jar;.\lib\textmining_v1.jar;
> .\lib\tm-extractors-0.4.jar;.\lib\truezip-6.jar;.\lib\xerces-2_6_2.jar;
> .\lib\windows\FPLibrary.jar
> OS name:         Windows XP
> OS architecture: x86
> OS version:      5.1
> Java user name:  vibhuti
> Java user home:  C:\Documents and Settings\vibhuti
> Java user dir:   D:\projects\src\app\dist\app
> java.specification.name: Java Platform API Specification
> java.specification.version: 1.6
> --------- Derby Information --------
> JRE - JDBC: Java SE 6 - JDBC 4.0
> [D:\projects\src\app\dist\app\lib\derby.jar] 10.3.1.4 - (561794)
> [D:\projects\src\app\dist\app\lib\derbytools.jar] 10.3.1.4 - (5617
> 94)
> [D:\projects\src\app\dist\app\lib\derbynet.jar] 10.3.1.4 - (561794
> )
> [D:\projects\src\app\dist\app\lib\derbyclient.jar] 10.3.1.4 - (561
> 794)
> ------------------------------------------------------
> ----------------- Locale Information -----------------
> ------------------------------------------------------

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