Bug#785257: osmosis: ClassCastException when reading from pgsnapshot
Toby Speight
T.M.Speight.90 at cantab.net
Wed May 13 21:17:34 UTC 2015
Package: osmosis
Version: 0.43.1-4
Severity: normal
I recently dropped my pgsimple database and created a new pgsnapshot
database. But although osmosis successfully writes to it (both
initially and every night using replication), a read fails:
/--------
| $ osmosis -q --read-pgsimp database=osm --dataset-dump --write-null
| log4j:WARN No appenders could be found for logger (org.springframework.jdbc.datasource.DataSourceTransactionManager).
| log4j:WARN Please initialize the log4j system properly.
| log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
| May 13, 2015 5:30:03 AM org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskManager waitForCompletion
| SEVERE: Thread for task 1-read-pgsql failed
| java.lang.ClassCastException: java.util.HashMap cannot be cast to org.openstreetmap.osmosis.hstore.PGHStore
| at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.EntityRowMapper.mapCommonEntityData(EntityRowMapper.java:80)
| at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.NodeRowMapper.mapRow(NodeRowMapper.java:30)
| at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.NodeRowMapper.mapRow(NodeRowMapper.java:17)
| at org.openstreetmap.osmosis.pgsnapshot.common.RowMapperRowCallbackListener.processRow(RowMapperRowCallbackListener.java:46)
| at org.springframework.jdbc.core.JdbcTemplate$RowCallbackHandlerResultSetExtractor.extractData(JdbcTemplate.java:1493)
| at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:446)
| at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:396)
| at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:456)
| at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:460)
| at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.EntityDao.getFeaturelessEntity(EntityDao.java:178)
| at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.EntityDao.iterate(EntityDao.java:227)
| at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.EntityDao.iterate(EntityDao.java:256)
| at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.PostgreSqlDatasetContext.iterate(PostgreSqlDatasetContext.java:208)
| at org.openstreetmap.osmosis.dataset.v0_6.DumpDataset.process(DumpDataset.java:48)
| at org.openstreetmap.osmosis.pgsnapshot.v0_6.PostgreSqlDatasetReader.run(PostgreSqlDatasetReader.java:53)
| at java.lang.Thread.run(Thread.java:745)
|
| May 13, 2015 5:30:03 AM org.openstreetmap.osmosis.core.Osmosis main
| SEVERE: Execution aborted.
| org.openstreetmap.osmosis.core.OsmosisRuntimeException: One or more tasks failed.
| at org.openstreetmap.osmosis.core.pipeline.common.Pipeline.waitForCompletion(Pipeline.java:146)
| at org.openstreetmap.osmosis.core.Osmosis.run(Osmosis.java:92)
| at org.openstreetmap.osmosis.core.Osmosis.main(Osmosis.java:37)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
| at java.lang.reflect.Method.invoke(Method.java:606)
| at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:328)
| at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238)
| at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:408)
| at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:351)
| at org.codehaus.classworlds.Launcher.main(Launcher.java:31)
\--------
Shell tracing /usr/bin/osmosis shows the final command as
/--------
| exec java -server -Xmx4G -Djava.io.tmpdir=/tmp/user/1000 -cp /usr/share/java/plexus-classworlds.jar -Dapp.home=/usr/share/osmosis -Dclassworlds.conf=/etc/osmosis/plexus.conf -Dlog4j.configuration=file:/etc/osmosis/log4j.properties org.codehaus.classworlds.Launcher -q --read-pgsimp database=osm --dataset-dump --write-null
\--------
My database was created using the SQL from
/usr/share/doc/osmosis/examples/pgsnapshot_schema_0.6*, and the table
definitions look reasonable - here's the nodes table:
/--------
| osm=# \d nodes
| Table "public.nodes"
| Column | Type | Modifiers
| --------------+-----------------------------+-----------
| id | bigint | not null
| version | integer | not null
| user_id | integer | not null
| tstamp | timestamp without time zone | not null
| changeset_id | bigint | not null
| tags | hstore |
| geom | geometry(Point,4326) |
| Indexes:
| "pk_nodes" PRIMARY KEY, btree (id)
| "idx_nodes_geom" gist (geom)
\--------
P.S. the log4j warnings start appearing once I use pgsnapshot operations,
and didn't with pgsimple - related to Bug #579206, perhaps?
-- System Information:
Debian Release: stretch/sid
APT prefers testing
APT policy: (900, 'testing'), (900, 'stable'), (400, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, armel
Kernel: Linux 3.16.7-ckt2-balti (SMP w/8 CPU cores; PREEMPT)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages osmosis depends on:
ii default-jre-headless [java6-runtime-headless] 2:1.7-52
ii libbatik-java 1.7+dfsg-5
ii libcommons-codec-java 1.10-1
ii libcommons-compress-java 1.9-1
ii libcommons-dbcp-java 1.4-5
ii libcommons-pool-java 1.6-2
ii libjpf-java 1.5.1+dfsg-4
ii libmysql-java 5.1.32-1
ii libnetty-java 1:3.2.6.Final-2
ii libosmpbf-java 1.3.3-3
ii libplexus-classworlds-java 1.5.0-5
ii libpostgis-java 2.1.7+dfsg-1
ii libpostgresql-jdbc-java 9.2-1002-1
ii libprotobuf-java 2.6.1-1
ii libspring-beans-java 3.2.13-1
ii libspring-context-java 3.2.13-1
ii libspring-core-java 3.2.13-1
ii libspring-jdbc-java 3.2.13-1
ii libspring-transaction-java 3.2.13-1
ii libxerces2-java 2.11.0-7
ii libxz-java 1.5-1
ii openjdk-6-jre-headless [java6-runtime-headless] 6b35-1.13.7-1
ii openjdk-7-jre-headless [java6-runtime-headless] 7u79-2.5.5-1~deb8u1
osmosis recommends no packages.
osmosis suggests no packages.
-- no debconf information
More information about the Pkg-grass-devel
mailing list