Hello all, just started using diffkit to see if it will be useful for
our company.
I'm running under windows xp against postgres 8.3.5
I've been able to get diffkit working but only against a small table
of 1000 rows.
When i try to compare 2 identical tables with ~200,000 rows each, I
get a java.lang.OutOfMemoryError: Java heap space error.
The tables are defined as follows...
CREATE TABLE lhs
(
id integer NOT NULL,
adclaim integer NOT NULL,
adnumber integer NOT NULL,
adevent integer,
adclaimed numeric(15,2),
adsmsapproved numeric(15,2),
adapproved numeric(15,2),
adpaid numeric(15,2),
adbalance numeric(15,2),
addatepaid date,
adprogram character varying(15),
adsize double precision,
aduom character varying(15),
adunits double precision,
adfree1 character varying(20),
adfree2 character varying(20),
adfree3 character varying(20),
adfree4 character varying(20),
adfree5 character varying(20),
adfree6 double precision,
adfree7 double precision,
adfree8 date,
adfree9 date,
admediaseq integer,
adinvoice character varying(20),
adinsertdate date,
addays double precision,
adspots double precision,
admediaid character varying(15),
admedianame character varying(40),
admediacode character varying(15),
admediazip character varying(10),
admediaproduction numeric(15,2),
admediaprinting numeric(15,2),
admediaapvpct double precision,
admediareimpct double precision,
admediaadjpct double precision,
admediacommentcode character varying(15),
admediainvoiceamount numeric(15,2),
admediaineligamount numeric(15,2),
adprodseq integer,
adproduct character varying(15),
adprodheight double precision,
adprodwidth double precision,
adprodsize double precision,
adprodapvpct double precision,
adprodreimpct double precision,
adprodadjpct double precision,
adprodpricepoint numeric(15,2),
adprodcommentcode character varying(15),
adslick character varying(15),
adpromotion character varying(22),
adfun1 double precision,
adfundedby character varying(20),
adfundedbyid integer,
adonhold character varying(3),
adunpaid numeric(15,2),
priorapvid integer,
CONSTRAINT pkey_ad PRIMARY KEY (id, adclaim, adnumber)
)
WITH (
OIDS=FALSE
);
plan file
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="plan" class="org.diffkit.diff.conf.DKMagicPlan">
<property name="lhsDBTableName" value="lhs" />
<property name="rhsDBTableName" value="rhs" />
<property name="dbConnectionInfo"
ref="connectionInfo" />
<property name="keyColumnNames">
<list>
<value>id</value>
<value>adclaim</value>
<value>adnumber</value>
</list>
</property>
<property name="sinkFilePath" value="./test10.sink.diff" />
</bean>
</beans>
command line I'm using (i can't cut and paste from the command line so
I hope i didnt miss type it here)
java -jar ..\diffkit-app.jar -planfiles
test10.plan.xml,dbconnectioninfo.postgres.xml
and the result (pipped into a file so i know i didnt miss type)
DiffKit home->C:\Program Files\DiffKit
planfile(s)->test10.plan.xml
lhsSource->DKDBSource@3ef810[lhs,jdbc:postgresql://smsdev1:5432/
jrctest]
rhsSource->DKDBSource@100363[rhs,jdbc:postgresql://smsdev1:5432/
jrctest]
sink->DKFileSink@bcda2d[.\test10.sink.diff]
tableComparison-
>org.diffkit.diff.conf.DKAutomaticTableComparison@97d01f
ERROR[14:45:24.278]{main}(DKApplication.main:130)-null
java.lang.OutOfMemoryError: Java heap space
at
com.jdotsoft.jarloader.JarClassLoader.getJarBytes(JarClassLoader.java:
681) [diffkit-app.jar:na]
at
com.jdotsoft.jarloader.JarClassLoader.findJarClass(JarClassLoader.java:
344) [diffkit-app.jar:na]
at
com.jdotsoft.jarloader.JarClassLoader.loadClass(JarClassLoader.java:
551) [diffkit-app.jar:na]
at java.lang.ClassLoader.loadClass(Unknown Source) [na:1.6.0_22]
at
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.j
ava:
1817) [diffkit-app.jar:na]
at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:
257) [diffkit-app.jar:na]
at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.
java:
500) [diffkit-app.jar:na]
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2S
tatement.java:
374) [diffkit-app.jar:na]
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2State
ment.java:
254) [diffkit-app.jar:na]
at org.diffkit.util.DKSqlUtil.executeQuery(DKSqlUtil.java:400)
[diffkit-app.jar:na]
at org.diffkit.diff.sns.DKDBSource.createResultSet(DKDBSource.java:
219) [diffkit-app.jar:na]
at org.diffkit.diff.sns.DKDBSource.open(DKDBSource.java:134) [diffkit-
app.jar:na]
at org.diffkit.diff.engine.DKContext.open(DKContext.java:73) [diffkit-
app.jar:na]
at org.diffkit.diff.engine.DKDiffEngine.diff(DKDiffEngine.java:63)
[diffkit-app.jar:na]
at org.diffkit.diff.engine.DKDiffEngine.diff(DKDiffEngine.java:56)
[diffkit-app.jar:na]
at org.diffkit.diff.conf.DKApplication.doDiff(DKApplication.java:191)
[diffkit-app.jar:na]
at org.diffkit.diff.conf.DKApplication.runPlan(DKApplication.java:
172) [diffkit-app.jar:na]
at org.diffkit.diff.conf.DKApplication.main(DKApplication.java:110)
[diffkit-app.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:
1.6.0_22]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [na:
1.6.0_22]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[na:1.6.0_22]
at java.lang.reflect.Method.invoke(Unknown Source) [na:1.6.0_22]
at
com.jdotsoft.jarloader.JarClassLoader.invokeMain(JarClassLoader.java:
520) [diffkit-app.jar:na]
at org.diffkit.diff.conf.DKLauncher.main(DKLauncher.java:26) [diffkit-
app.jar:na]
Original issue reported on code.google.com by trur...@gmail.com on 20 Nov 2010 at 1:30
Original issue reported on code.google.com by
trur...@gmail.com
on 20 Nov 2010 at 1:30