This is my first post so apologies if I do not conform to standards.
I have a customer who is using a product that utilizes Postgres 8.2.5 inconjunction with Hibernate on an Apache Tomcat platform. The operating system Postgres is installed on is Windows 2003. The software is attempting to perform a bulk data load and is consistently failing. However, the same software / data runs perfectly well on another Windows 2003 environment - albeit with a different Microsoft Service pack installed. What I am trying to determine is if there is a bug in Postgres or Hibernate or there is an operating system issue. I have moved from Postgres version 8.1.9 where I first encountered this issue to version 8.2.5 in an attempt to resolve it but the problem still remains.
Hibernate version:
2.1.7
Operating System
Windows 2003 Server - Service Pack 2
JRE
1.5
Mapping documents:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<class name="net.novium.transact.domain.corporate.DiscoveredSoftwareAttribute" table="TRDISCSOFTWAREATT">
<id name="id" type="long" column="SWATTID" unsaved-value="-1">
<generator class="sequence">
<param name="sequence">TRDISCSOFTWAREATT_SEQ</param>
</generator>
</id>
<version name="versionNumber" column="VERSION" />
<property name="name" column="SWATTNAME" not-null="true" length="256" />
<property name="value" column="SWATTVALUE" not-null="true" />
<many-to-one name="organisationGroup" not-null="true">
<column name="SWATTGROUPID" />
</many-to-one>
<many-to-one name="discoveredSoftware" not-null="true">
<column name="SWATTSWID" />
</many-to-one>
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<!-- <class name="net.novium.transact.domain.corporate.DiscoveredSoftware" table="TRDISCSOFTWARE" lazy="true"> -->
<class name="net.novium.transact.domain.corporate.DiscoveredSoftware" table="TRDISCSOFTWARE" >
<id name="id" type="long" column="SWID" unsaved-value="-1">
<generator class="sequence">
<param name="sequence">TRDISCSOFTWARE_SEQ</param>
</generator>
</id>
<version name="versionNumber" column="VERSION" />
<many-to-one name="organisationGroup" not-null="true">
<column name="SWGRPID" />
</many-to-one>
<property name="uniqueId" column="UNIQUEID" not-null="true" />
<property name="notDeleted" type="short" column="SWACTIVE" not-null="true" length="5" access="field" />
<property name="creationDate" column="SWCREATED" not-null="true" length="26" />
<property name="createdBy" column="SWCREATEDBY" not-null="true" length="254" />
<property name="modificationDate" column="SWMOD" not-null="true" length="26" />
<property name="modifiedBy" column="SWMODBY" not-null="true" length="254" />
<property name="discoveredDate" column="SWDISCOVERED" not-null="false" length="26" />
<property name="removedDate" column="SWREMOVED" not-null="false" length="26" />
<property name="name" column="SWFILE" not-null="true" />
<property name="size" column="SWSIZE" not-null="true" />
<property name="version" column="SWVERSION" not-null="true" />
<property name="key" column="SWKEY" not-null="true" />
<many-to-one name="unit" column="SWUNIT" class="net.novium.transact.domain.corporate.Unit" not-null="false"></many-to-one>
<map name="attributes" lazy="true" inverse="true" cascade="all-delete-orphan">
<key>
<column name="SWATTSWID" />
</key>
<index column="SWATTNAME" type="string" />
<one-to-many class="net.novium.transact.domain.corporate.DiscoveredSoftwareAttribute" />
</map>
</class>
</hibernate-mapping>
Full stack trace of any exception that occurs:
2007-10-01 13:52:00,067 INFO net.novium.contact.datafeed.Datafeed - Engine : net.novium.contact.datafeed.inbound.engine.iTag.IFFDiscoveryCaptureEngine
2007-10-01 13:53:25,242 WARN net.sf.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: null
2007-10-01 13:53:25,242 ERROR net.sf.hibernate.util.JDBCExceptionReporter - Batch entry 0 insert into TRDISCSOFTWAREATT (VERSION, SWATTNAME, SWATTVALUE, SWATTGROUPID, SWATTSWID, SWATTID) values (0, Uninstall String, "C:\WINDOWS\$MSI31Uninstall_KB893803v2$\spuninst\spuninst.exe", 1, 5753, 25137) was aborted. Call getNextException to see the cause.
2007-10-01 13:53:25,242 WARN net.sf.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: XX000
2007-10-01 13:53:25,242 ERROR net.sf.hibernate.util.JDBCExceptionReporter - ERROR: could not write block 28 of relation 1663/25215/27819: Invalid argument
2007-10-01 13:53:25,242 WARN net.sf.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: null
2007-10-01 13:53:25,242 ERROR net.sf.hibernate.util.JDBCExceptionReporter - Batch entry 0 insert into TRDISCSOFTWAREATT (VERSION, SWATTNAME, SWATTVALUE, SWATTGROUPID, SWATTSWID, SWATTID) values (0, Uninstall String, "C:\WINDOWS\$MSI31Uninstall_KB893803v2$\spuninst\spuninst.exe", 1, 5753, 25137) was aborted. Call getNextException to see the cause.
2007-10-01 13:53:25,242 WARN net.sf.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: XX000
2007-10-01 13:53:25,242 ERROR net.sf.hibernate.util.JDBCExceptionReporter - ERROR: could not write block 28 of relation 1663/25215/27819: Invalid argument
2007-10-01 13:53:25,242 ERROR net.sf.hibernate.impl.SessionImpl - Could not synchronize database state with session
2007-10-01 13:53:25,242 ERROR net.sf.hibernate.impl.SessionImpl - Could not synchronize database state with session
2007-10-01 13:53:25,257 ERROR net.novium.transact.stuff.DbSession - Could not execute JDBC batch update
2007-10-01 13:53:25,257 ERROR net.novium.transact.stuff.DbSession - Batch entry 0 insert into TRDISCSOFTWAREATT (VERSION, SWATTNAME, SWATTVALUE, SWATTGROUPID, SWATTSWID, SWATTID) values (0, Uninstall String, "C:\WINDOWS\$MSI31Uninstall_KB893803v2$\spuninst\spuninst.exe", 1, 5753, 25137) was aborted. Call getNextException to see the cause.
2007-10-01 13:53:25,257 ERROR net.novium.transact.stuff.DbSession - ERROR: could not write block 28 of relation 1663/25215/27819: Invalid argument
2007-10-01 13:53:25,257 ERROR net.novium.transact.stuff.DbSession - Failed to commit transaction
net.sf.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
at net.sf.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:81)
at net.sf.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:70)
at net.sf.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:30)
at net.sf.hibernate.impl.BatcherImpl.convert(BatcherImpl.java:325)
at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:134)
at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2441)
at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2391)
at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2260)
at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:61)
at net.novium.transact.stuff.DbSession.commitTransaction(Unknown Source)
at net.novium.contact.xml.engine.XMLHibernateEngine.hibernateTransactionCommit(Unknown Source)
at net.novium.contact.xml.engine.inbound.iTag.XMLDiscoveredSoftwareEngine.processInboundDiscoveredSoftware(Unknown Source)
at net.novium.contact.datafeed.inbound.engine.iTag.IFFDiscoveryCaptureEngine.createXMLSoftware(Unknown Source)
at net.novium.contact.datafeed.inbound.engine.iTag.IFFDiscoveryCaptureEngine.start(Unknown Source)
at net.novium.contact.datafeed.inbound.ITagDiscoveryCaptureDatafeed.runDiscoveryPlugin(Unknown Source)
at net.novium.contact.datafeed.inbound.ITagDiscoveryCaptureDatafeed.processFeedFiles(Unknown Source)
at net.novium.contact.datafeed.inbound.ITagDiscoveryCaptureDatafeed.execute(Unknown Source)
Name and version of the database you are using:
Postgres 8.2.5
The generated SQL (show_sql=true):
This is shown in the full stack trace. See above.
So far, I have been trying to resolve this issue for two solid weeks to no avail. If there is any other information required that would aid someone in helping me then I will only be to happy to provide it. Any help or advice would be greatly appreciated!
Best regards
John
|