[OSM-dev] Errors with populateCurrentTables=yes on refresh based on partial dataset

Timo Juhani Lindfors timo.lindfors at iki.fi
Tue Jun 1 23:38:34 BST 2010


Hi,

Andreas Kalsch <andreaskalsch at gmx.de> writes:
> Using populateCurrentTables=yes on refresh will make Osmosis stop. When 
> I use populateCurrentTables=no, then all is OK, but then I don't have 
> updated data in the current tables. What can I do about that?

> Caused by: org.postgresql.util.PSQLException: ERROR: insert or update on 
> table "current_way_nodes" violates foreign key constraint 
> "current_way_nodes_node_id_fkey"
>    Detail: Key (node_id)=(204308) is not present in table "current_nodes".
>      at 

I think I hit the same problem. Have you found any solution? Could I
somehow remove references to nodes that are not inside the bounding
box I am trying to mirror?

sudo aptitude install postgresql-8.4 postgresql-client-8.4 postgresql-contrib-8.4 osmosis bzip2
wget http://download.geofabrik.de/osm/europe/finland.osm.bz2
sudo -u postgres psql -c "CREATE DATABASE osm ENCODING = 'UNICODE';"
sudo -u postgres psql -c "CREATE USER osm PASSWORD 'osm';"
sudo -u postgres psql osm -c "GRANT ALL ON SCHEMA PUBLIC TO osm;"
zcat /usr/share/doc/osmosis/examples/contrib/apidb_0.6.sql.gz | sudo -u postgres psql osm -f -
bzcat finland.osm.bz2 | osmosis --read-xml file=- --write-apidb password=osm user=osm dbType=postgresql
osmosis --read-replication-interval-init
wget -O state.txt http://toolserver.org/~mazder/replicate-sequences/?2010-05-30T00:00:00Z
osmosis --read-replication-interval --simplify-change --write-xml-change changes.osc.gz
osmosis --read-xml-change file=changes.osc.gz --write-apidb-change password=osm user=osm dbType=postgresql

fails with

1.6.2010 22:30:58 org.openstreetmap.osmosis.core.Osmosis run
INFO: Osmosis Version 0.34
log4j:WARN No appenders could be found for logger (org.java.plugin.ObjectFactory).
log4j:WARN Please initialize the log4j system properly.
1.6.2010 22:30:59 org.openstreetmap.osmosis.core.Osmosis run
INFO: Preparing pipeline.
1.6.2010 22:30:59 org.openstreetmap.osmosis.core.Osmosis run
INFO: Launching pipeline execution.
1.6.2010 22:30:59 org.openstreetmap.osmosis.core.Osmosis run
INFO: Pipeline executing, waiting for completion.
1.6.2010 22:31:31 org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskManager waitForCompletion
SEVERE: Thread for task 1-read-xml-change failed
org.openstreetmap.osmosis.core.OsmosisRuntimeException: Unable to insert current way node with way id=4332984 and node id=26369792.
        at org.openstreetmap.osmosis.core.apidb.v0_6.impl.ChangeWriter.write(ChangeWriter.java:755)
        at org.openstreetmap.osmosis.core.apidb.v0_6.impl.ActionChangeWriter.process(ActionChangeWriter.java:56)
        at org.openstreetmap.osmosis.core.container.v0_6.WayContainer.process(WayContainer.java:60)
        at org.openstreetmap.osmosis.core.apidb.v0_6.ApidbChangeWriter.process(ApidbChangeWriter.java:67)
        at org.openstreetmap.osmosis.core.xml.v0_6.impl.ChangeSourceElementProcessor$ChangeSinkAdapter.process(ChangeSourceElementProcessor.java:134)
        at org.openstreetmap.osmosis.core.xml.v0_6.impl.WayElementProcessor.end(WayElementProcessor.java:116)
        at org.openstreetmap.osmosis.core.xml.v0_6.impl.OsmChangeHandler.endElement(OsmChangeHandler.java:94)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:604)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1759)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2915)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:741)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:392)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:195)
        at org.openstreetmap.osmosis.core.xml.v0_6.XmlChangeReader.run(XmlChangeReader.java:107)
        at java.lang.Thread.run(Thread.java:636)
Caused by: org.postgresql.util.PSQLException: ERROR: insert or update on table "current_way_nodes" violates foreign key constraint "current_way_nodes_node_id_fkey"
  Detail: Key (node_id)=(26369792) is not present in table "current_nodes".
        at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2062)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1795)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:479)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:367)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:360)
        at org.openstreetmap.osmosis.core.apidb.v0_6.impl.ChangeWriter.write(ChangeWriter.java:752)
        ... 20 more
1.6.2010 22:31:31 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:85)
        at org.openstreetmap.osmosis.core.Osmosis.main(Osmosis.java:30)
        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:616)
        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)

best regards,
Timo Lindfors




More information about the dev mailing list