[GeoNetwork-users] Can't create metadata and templates

Hi All,

I have GN 2.7 snapshot. I have managed to get the system setup but when
I do a search for metadata I get zero results. This also applies when I
am logged in as 'admin'.

I tried to create "New metadata" but I am told "No templates available,
import templates first". If I then go back and select a template in the
pick list eg. 'anzmeta' then select "Add templates"

I saw Andrea Peri's post in the archives about copying
WEB-INF/data/config

into the
DATA_DIRECTORY/config

but I don't have those directories.

I get the following in the catalina.out file when I try to load the
anzmeta template:

(See attached addAnzmetaTemplate.txt for output)

I still get the same error when I select "New metadata"

If I select 19139 metadata schema and then select "Add template" I get
the follow errors in the catalina.out file:

(See attached add19139Template.txt for output)

If I try to "Add sample metadata" for the 19139 schema I get the
following in the catalina.out file:

(See attached add19139SampleMetadata.txt for output)

and the message:

(See attached Screenshot.png for Error Message Box)

Have I broken my Postgis database? Can I fix it somehow? I don't want to
lose all the services metadata and harvesting configuration that I have
in the database.

Thanks.

John Hockaday

(attachments)

addAnzmetaTemplate.txt (1.33 KB)
add19139Template.txt (11.5 KB)
add19139SampleMetadata.txt (13.7 KB)
Screenshot.png

Hi All,

Sorry for cross posting.

I have tried to fix the "corrupt/invalid ignoring it. Error: Timer
already cancelled." error by doing the following:

sudo su - postgres
psql -d gndb
delete from metadatarating;
delete from validation;
delete from metadatacateg;
delete from operationallowed;
delete from metadata;

reindex database gndb force;

\q

I had to delete from the metadarating, validation, metadatacateg and
operationallowed because of links to the metadata table or each other.

I then start GN and tried to load just one services metadata record. The
catalina.out file showed this:

...

             </gmd:function>
            </gmd:CI_OnlineResource>
          </srv:connectPoint>
        </srv:SV_OperationMetadata>
      </srv:containsOperations>
    </srv:SV_ServiceIdentification>
  </gmd:identificationInfo>
&lt;/gmd:MD_Metadata&gt;</data>
  <group>11</group>
  <uuidAction>overwrite</uuidAction>
  <validate>on</validate>
  <file_type>single</file_type>
</request>
2012-05-31 14:13:41,911 ERROR [geonetwork.datamanager] - The metadata
document index with id=1 is corrupt/invalid - ignoring it. Error: null
java.lang.NullPointerException
        at
org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.<init>(SpatialIndexWriter.java:129)
        at org.fao.geonet.kernel.search.SearchManager
$Spatial.writerNoLocking(SearchManager.java:1529)
        at org.fao.geonet.kernel.search.SearchManager
$Spatial.writer(SearchManager.java:1515)
        at
org.fao.geonet.kernel.search.SearchManager.delete(SearchManager.java:835)
        at
org.fao.geonet.kernel.search.SearchManager.buildIndexDocument(SearchManager.java:721)
        at
org.fao.geonet.kernel.search.SearchManager.index(SearchManager.java:639)
        at
org.fao.geonet.kernel.DataManager.indexMetadata(DataManager.java:524)
        at org.fao.geonet.kernel.DataManager
$IndexMetadataTask.run(DataManager.java:340)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
2012-05-31 14:13:41,913 INFO [jeeves.service] - -> dispatching to
output for : metadata.insert.paste
2012-05-31 14:13:41,929 INFO [jeeves.service] - -> transforming
with
stylesheet : /data/jakarta/geonetwork-asdd/webapps/geonetwork/xsl/metadata-insert-results.xsl
2012-05-31 14:13:41,957 ERROR [geonetwork.datamanager] - The metadata
document index with id=1 is corrupt/invalid - ignoring it. Error: null
java.lang.NullPointerException
        at
org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.<init>(SpatialIndexWriter.java:129)
        at org.fao.geonet.kernel.search.SearchManager
$Spatial.writerNoLocking(SearchManager.java:1529)
        at org.fao.geonet.kernel.search.SearchManager
$Spatial.writer(SearchManager.java:1515)
        at
org.fao.geonet.kernel.search.SearchManager.delete(SearchManager.java:835)
        at
org.fao.geonet.kernel.search.SearchManager.buildIndexDocument(SearchManager.java:721)
        at
org.fao.geonet.kernel.search.SearchManager.index(SearchManager.java:639)
        at
org.fao.geonet.kernel.DataManager.indexMetadata(DataManager.java:524)
        at org.fao.geonet.kernel.DataManager
$IndexMetadataTask.run(DataManager.java:340)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
2012-05-31 14:13:42,854 INFO [jeeves.service] - -> end
transformation for : metadata.insert.paste
2012-05-31 14:13:42,854 INFO [jeeves.service] - -> output ended
for : metadata.insert.paste
2012-05-31 14:13:42,855 INFO [jeeves.service] - -> dispatch ended
for : metadata.insert.paste
Exception in thread "Timer-1" java.lang.NullPointerException
        at org.fao.geonet.kernel.search.SearchManager$Spatial
$Committer.run(SearchManager.java:1560)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)
2012-05-31 14:14:03,028 INFO [jeeves.request] -

2012-05-31 14:14:03,028 INFO [jeeves.request] - HTML Request (from
175.107.172.1) : /geonetwork/srv/en/metadata.show
2012-05-31 14:14:03,028 DEBUG [jeeves.request] - Method : GET
2012-05-31 14:14:03,028 DEBUG [jeeves.request] - Content type : null
2012-05-31 14:14:03,029 DEBUG [jeeves.request] - Accept :
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
2012-05-31 14:14:03,029 DEBUG [jeeves.request] - Session id is
C8678D2BE6E8F6FA3D2238FB96A32FAB
2012-05-31 14:14:03,029 INFO [jeeves.service] - Dispatching :
metadata.show
2012-05-31 14:14:03,029 DEBUG [jeeves.service] - -> parameters are :
<request>
  <id>1</id>
</request>
2012-05-31 14:14:03,118 INFO [jeeves.service] - -> dispatching to
output for : metadata.show
2012-05-31 14:14:03,129 ERROR [geonetwork.datamanager] - The metadata
document index with id=1 is corrupt/invalid - ignoring it. Error: Timer
already cancelled.
java.lang.IllegalStateException: Timer already cancelled.
        at java.util.Timer.sched(Timer.java:354)
        at java.util.Timer.schedule(Timer.java:170)
        at org.fao.geonet.kernel.search.SearchManager
$Spatial.writer(SearchManager.java:1514)
        at
org.fao.geonet.kernel.search.SearchManager.delete(SearchManager.java:835)
2012-05-31 14:14:03,129 INFO [jeeves.webapp.metadata.show] - Creating
default metadata tab
        at
org.fao.geonet.kernel.search.SearchManager.buildIndexDocument(SearchManager.java:721)
        at
org.fao.geonet.kernel.search.SearchManager.index(SearchManager.java:639)
        at
org.fao.geonet.kernel.DataManager.indexMetadata(DataManager.java:524)
2012-05-31 14:14:03,130 INFO [jeeves.webapp.metadata.show] - Creating
default metadata position
        at org.fao.geonet.kernel.DataManager
$IncreasePopularityTask.run(DataManager.java:3168)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
2012-05-31 14:14:03,137 DEBUG [jeeves.service] - Log search in asynch
mode - start.
2012-05-31 14:14:03,141 DEBUG [jeeves.service] - Log search in asynch
mode - end.
2012-05-31 14:14:03,162 DEBUG [jeeves.service] - Log search in asynch
mode - start.
2012-05-31 14:14:03,162 DEBUG [jeeves.service] - Log search in asynch
mode - end.
2012-05-31 14:14:03,169 DEBUG [jeeves.service] - Log search in asynch
mode - start.
2012-05-31 14:14:03,171 DEBUG [jeeves.service] - Log search in asynch
mode - end.
2012-05-31 14:14:03,259 INFO [jeeves.service] - -> transforming
with
stylesheet : /data/jakarta/geonetwork-asdd/webapps/geonetwork/xsl/metadata-show.xsl
2012-05-31 14:14:06,893 INFO [jeeves.service] - -> end
transformation for : metadata.show
2012-05-31 14:14:06,893 INFO [jeeves.service] - -> output ended
for : metadata.show
2012-05-31 14:14:06,893 INFO [jeeves.service] - -> dispatch ended
for : metadata.show

Where should I look next to fix this problem? Why does the "Timer
already cancelled" error keep on coming up when I have cleared all the
metadata and relations from the postgis database?

Any help would be much appreciated.

Thanks.

John H.

On Wed, 2012-05-30 at 17:19 +1000, john.hockaday wrote:

Hi All,

I have GN 2.7 snapshot. I have managed to get the system setup but when
I do a search for metadata I get zero results. This also applies when I
am logged in as 'admin'.

I tried to create "New metadata" but I am told "No templates available,
import templates first". If I then go back and select a template in the
pick list eg. 'anzmeta' then select "Add templates"

I saw Andrea Peri's post in the archives about copying
WEB-INF/data/config

into the
DATA_DIRECTORY/config

but I don't have those directories.

I get the following in the catalina.out file when I try to load the
anzmeta template:

(See attached addAnzmetaTemplate.txt for output)

I still get the same error when I select "New metadata"

If I select 19139 metadata schema and then select "Add template" I get
the follow errors in the catalina.out file:

(See attached add19139Template.txt for output)

If I try to "Add sample metadata" for the 19139 schema I get the
following in the catalina.out file:

(See attached add19139SampleMetadata.txt for output)

and the message:

(See attached Screenshot.png for Error Message Box)

Have I broken my Postgis database? Can I fix it somehow? I don't want to
lose all the services metadata and harvesting configuration that I have
in the database.

Thanks.

John Hockaday

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________ GeoNetwork-users mailing list GeoNetwork-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geonetwork-users GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

Hi all,

I have found mention of the "Timer already cancelled" error at URL:

http://osdir.com/ml/users/2010-07/msg01393.html

which says to

'Remove "timeBetweenEvictionRunsMillis" attribute, or set it to "-1".'

which I have done in
the /geonetwork/webapps/geonetwork/WEB-INF/config.xml file. This didn't
fix the problem but I have noticed the following errors in the
catalina.out file:

...

2012-05-31 17:18:01,736 INFO [jeeves.engine] - Adding resource :
main-db
2012-05-31 17:18:01,740 WARN [jeeves.dbmspool] - Using transaction
isolation setting SERIALIZABLE
31/05/2012 5:18:01 PM org.geotools.data.postgis.PostgisDBInfo <init>
SEVERE: ERROR: function postgis_version() does not exist
  Hint: No function matches the given name and argument types. You might
need to add explicit type casts.
  Position: 8
2012-05-31 17:18:02,114 INFO [jeeves.engine] - Initializing
services...

...

2012-05-31 17:18:02,582 INFO [jeeves.engine] - Adding service : csw
2012-05-31 17:18:02,583 WARN [jeeves.engine] - Raised exception while
registering service. Skipped.
2012-05-31 17:18:02,583 WARN [jeeves.engine] - Service : csw
2012-05-31 17:18:02,583 WARN [jeeves.engine] - Package :
org.fao.geonet
2012-05-31 17:18:02,583 WARN [jeeves.engine] - Exception :
java.lang.ClassNotFoundException:
org.fao.geonet.services.main.CswDispatcher
2012-05-31 17:18:02,583 WARN [jeeves.engine] - Message :
org.fao.geonet.services.main.CswDispatcher
2012-05-31 17:18:02,584 WARN [jeeves.engine] - Stack :
java.lang.ClassNotFoundException:
org.fao.geonet.services.main.CswDispatcher
        at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
        at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at
jeeves.server.dispatchers.ServiceManager.buildService(ServiceManager.java:210)
        at
jeeves.server.dispatchers.ServiceManager.addService(ServiceManager.java:173)
        at
jeeves.server.JeevesEngine.initServices(JeevesEngine.java:582)
        at
jeeves.server.JeevesEngine.loadConfigFile(JeevesEngine.java:300)
        at
jeeves.server.JeevesEngine.loadConfigFile(JeevesEngine.java:317)
        at jeeves.server.JeevesEngine.init(JeevesEngine.java:152)
        at
jeeves.server.sources.http.JeevesServlet.init(JeevesServlet.java:76)
        at javax.servlet.GenericServlet.init(GenericServlet.java:212)
        at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206)
        at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
        at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)

...

2012-05-31 17:18:06,667 DEBUG [jeeves] - Adding xml to /summary/def
2012-05-31 17:18:08,321 WARN [geonetwork.spatial] - Failure to make
_writer, maybe a problem but might also not be an issue:<error
id="error">
  <message />
  <class>NullPointerException</class>
  <stack>
    <at class="org.fao.geonet.kernel.search.spatial.SpatialIndexWriter"
file="SpatialIndexWriter.java" line="129" method="&lt;init&gt;" />
    <at class="org.fao.geonet.kernel.search.SearchManager$Spatial"
file="SearchManager.java" line="1412" method="createWriter" />
    <at class="org.fao.geonet.kernel.search.SearchManager$Spatial"
file="SearchManager.java" line="1390" method="&lt;init&gt;" />
    <at class="org.fao.geonet.kernel.search.SearchManager"
file="SearchManager.java" line="373" method="&lt;init&gt;" />
    <at class="org.fao.geonet.Geonetwork" file="Geonetwork.java"
line="339" method="start" />
    <at class="jeeves.server.JeevesEngine" file="JeevesEngine.java"
line="525" method="initAppHandler" />
    <at class="jeeves.server.JeevesEngine" file="JeevesEngine.java"
line="161" method="init" />
    <at class="jeeves.server.sources.http.JeevesServlet"
file="JeevesServlet.java" line="76" method="init" />
    <at class="javax.servlet.GenericServlet" file="GenericServlet.java"
line="212" method="init" />
    <at class="org.apache.catalina.core.StandardWrapper"
file="StandardWrapper.java" line="1206" method="loadServlet" />
    <skip>...</skip>
  </stack>
</error>
2012-05-31 17:18:08,321 ERROR [geonetwork.spatial] - Unable to call
reset on Spatial writer: null
java.lang.NullPointerException
        at org.fao.geonet.kernel.search.SearchManager
$Spatial.createWriter(SearchManager.java:1419)
        at org.fao.geonet.kernel.search.SearchManager
$Spatial.<init>(SearchManager.java:1390)
        at
org.fao.geonet.kernel.search.SearchManager.<init>(SearchManager.java:373)
        at org.fao.geonet.Geonetwork.start(Geonetwork.java:339)
        at
jeeves.server.JeevesEngine.initAppHandler(JeevesEngine.java:525)
        at jeeves.server.JeevesEngine.init(JeevesEngine.java:161)
        at
jeeves.server.sources.http.JeevesServlet.init(JeevesServlet.java:76)
        at javax.servlet.GenericServlet.init(GenericServlet.java:212)
        at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206)
        at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
        at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
        at
org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
        at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:525)

...

2012-05-31 17:18:08,324 ERROR [geonetwork.index] - Rebuilding lucene
index
2012-05-31 17:18:08,612 INFO [jeeves.apphand] - - Access manager...
2012-05-31 17:18:08,620 INFO [jeeves.apphand] - - Xml serializer and
Data manager...
2012-05-31 17:18:08,646 WARN [geonetwork.settings] - Unable to find
Settings row for: system/site/svnUuid. Check settings table.
2012-05-31 17:18:09,308 WARN [geonetwork.svnmanager] - Recreating
subversion repository
at /data/jakarta/geonetwork-asdd/webapps/geonetwork/WEB-INF/data/metadata_subversion as previous repository was empty
2012-05-31 17:18:09,505 INFO [jeeves.apphand] - - Harvest manager...
2012-05-31 17:18:10,217 INFO [jeeves.apphand] - - Catalogue services
for the web...
2012-05-31 17:18:10,250 INFO [jeeves.apphand] - - Open Archive
Initiative (OAI-PMH) server...
2012-05-31 17:18:10,273 INFO [jeeves.apphand] - - Metadata
notifier ...
2012-05-31 17:18:10,273 INFO [jeeves.apphand] - Site ID is :
dd714eee-01f6-4d00-a84c-16a03a50a3f4
2012-05-31 17:18:10,277 INFO [jeeves.engine] - --- Handler started
---------------------------------------
2012-05-31 17:18:10,277 INFO [jeeves.engine] - Starting schedule
manager...
2012-05-31 17:18:10,278 INFO [jeeves.engine] - Memory used is :
-113902 Kb
2012-05-31 17:18:10,278 INFO [jeeves.engine] - Total memory is :
3728320 Kb
2012-05-31 17:18:10,278 INFO [jeeves.engine] - Startup time is : 8
(secs)
2012-05-31 17:18:10,278 INFO [jeeves.engine] - === System working

31/05/2012 5:18:10 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080

...

INFO: Server startup in 19261 ms
2012-05-31 17:18:19,551 ERROR [geonetwork.datamanager] - The metadata
document index with id=1 is corrupt/invalid - ignoring it. Error: null
java.lang.NullPointerException
        at
org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.<init>(SpatialIndexWriter.java:129)
        at org.fao.geonet.kernel.search.SearchManager
$Spatial.writerNoLocking(SearchManager.java:1529)
        at org.fao.geonet.kernel.search.SearchManager
$Spatial.writer(SearchManager.java:1515)
        at
org.fao.geonet.kernel.search.SearchManager.delete(SearchManager.java:835)
        at
org.fao.geonet.kernel.search.SearchManager.buildIndexDocument(SearchManager.java:721)
        at
org.fao.geonet.kernel.search.SearchManager.index(SearchManager.java:639)
        at
org.fao.geonet.kernel.DataManager.indexMetadata(DataManager.java:524)
        at org.fao.geonet.kernel.DataManager
$IndexMetadataTask.run(DataManager.java:340)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Exception in thread "Timer-1" java.lang.NullPointerException
        at org.fao.geonet.kernel.search.SearchManager$Spatial
$Committer.run(SearchManager.java:1560)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)

...

Any hints on what to do to fix this would be greatly appreciated.

I'm running:

psql (PostgreSQL) 8.4.11
contains support for command-line editing

and it appears to have the 270 dagaa bs upgrades.

Thanks.

John H.

On Thu, 2012-05-31 at 14:30 +1000, john.hockaday wrote:

Hi All,

Sorry for cross posting.

I have tried to fix the "corrupt/invalid ignoring it. Error: Timer
already cancelled." error by doing the following:

sudo su - postgres
psql -d gndb
delete from metadatarating;
delete from validation;
delete from metadatacateg;
delete from operationallowed;
delete from metadata;

reindex database gndb force;

\q

I had to delete from the metadarating, validation, metadatacateg and
operationallowed because of links to the metadata table or each other.

I then start GN and tried to load just one services metadata record. The
catalina.out file showed this:

...

             &lt;/gmd:function&gt;&#xD;
            &lt;/gmd:CI_OnlineResource&gt;&#xD;
          &lt;/srv:connectPoint&gt;&#xD;
        &lt;/srv:SV_OperationMetadata&gt;&#xD;
      &lt;/srv:containsOperations&gt;&#xD;
    &lt;/srv:SV_ServiceIdentification&gt;&#xD;
  &lt;/gmd:identificationInfo&gt;&#xD;
&lt;/gmd:MD_Metadata&gt;</data>
  <group>11</group>
  <uuidAction>overwrite</uuidAction>
  <validate>on</validate>
  <file_type>single</file_type>
</request>
2012-05-31 14:13:41,911 ERROR [geonetwork.datamanager] - The metadata
document index with id=1 is corrupt/invalid - ignoring it. Error: null
java.lang.NullPointerException
        at
org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.<init>(SpatialIndexWriter.java:129)
        at org.fao.geonet.kernel.search.SearchManager
$Spatial.writerNoLocking(SearchManager.java:1529)
        at org.fao.geonet.kernel.search.SearchManager
$Spatial.writer(SearchManager.java:1515)
        at
org.fao.geonet.kernel.search.SearchManager.delete(SearchManager.java:835)
        at
org.fao.geonet.kernel.search.SearchManager.buildIndexDocument(SearchManager.java:721)
        at
org.fao.geonet.kernel.search.SearchManager.index(SearchManager.java:639)
        at
org.fao.geonet.kernel.DataManager.indexMetadata(DataManager.java:524)
        at org.fao.geonet.kernel.DataManager
$IndexMetadataTask.run(DataManager.java:340)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
2012-05-31 14:13:41,913 INFO [jeeves.service] - -> dispatching to
output for : metadata.insert.paste
2012-05-31 14:13:41,929 INFO [jeeves.service] - -> transforming
with
stylesheet : /data/jakarta/geonetwork-asdd/webapps/geonetwork/xsl/metadata-insert-results.xsl
2012-05-31 14:13:41,957 ERROR [geonetwork.datamanager] - The metadata
document index with id=1 is corrupt/invalid - ignoring it. Error: null
java.lang.NullPointerException
        at
org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.<init>(SpatialIndexWriter.java:129)
        at org.fao.geonet.kernel.search.SearchManager
$Spatial.writerNoLocking(SearchManager.java:1529)
        at org.fao.geonet.kernel.search.SearchManager
$Spatial.writer(SearchManager.java:1515)
        at
org.fao.geonet.kernel.search.SearchManager.delete(SearchManager.java:835)
        at
org.fao.geonet.kernel.search.SearchManager.buildIndexDocument(SearchManager.java:721)
        at
org.fao.geonet.kernel.search.SearchManager.index(SearchManager.java:639)
        at
org.fao.geonet.kernel.DataManager.indexMetadata(DataManager.java:524)
        at org.fao.geonet.kernel.DataManager
$IndexMetadataTask.run(DataManager.java:340)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
2012-05-31 14:13:42,854 INFO [jeeves.service] - -> end
transformation for : metadata.insert.paste
2012-05-31 14:13:42,854 INFO [jeeves.service] - -> output ended
for : metadata.insert.paste
2012-05-31 14:13:42,855 INFO [jeeves.service] - -> dispatch ended
for : metadata.insert.paste
Exception in thread "Timer-1" java.lang.NullPointerException
        at org.fao.geonet.kernel.search.SearchManager$Spatial
$Committer.run(SearchManager.java:1560)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)
2012-05-31 14:14:03,028 INFO [jeeves.request] -

2012-05-31 14:14:03,028 INFO [jeeves.request] - HTML Request (from
175.107.172.1) : /geonetwork/srv/en/metadata.show
2012-05-31 14:14:03,028 DEBUG [jeeves.request] - Method : GET
2012-05-31 14:14:03,028 DEBUG [jeeves.request] - Content type : null
2012-05-31 14:14:03,029 DEBUG [jeeves.request] - Accept :
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
2012-05-31 14:14:03,029 DEBUG [jeeves.request] - Session id is
C8678D2BE6E8F6FA3D2238FB96A32FAB
2012-05-31 14:14:03,029 INFO [jeeves.service] - Dispatching :
metadata.show
2012-05-31 14:14:03,029 DEBUG [jeeves.service] - -> parameters are :
<request>
  <id>1</id>
</request>
2012-05-31 14:14:03,118 INFO [jeeves.service] - -> dispatching to
output for : metadata.show
2012-05-31 14:14:03,129 ERROR [geonetwork.datamanager] - The metadata
document index with id=1 is corrupt/invalid - ignoring it. Error: Timer
already cancelled.
java.lang.IllegalStateException: Timer already cancelled.
        at java.util.Timer.sched(Timer.java:354)
        at java.util.Timer.schedule(Timer.java:170)
        at org.fao.geonet.kernel.search.SearchManager
$Spatial.writer(SearchManager.java:1514)
        at
org.fao.geonet.kernel.search.SearchManager.delete(SearchManager.java:835)
2012-05-31 14:14:03,129 INFO [jeeves.webapp.metadata.show] - Creating
default metadata tab
        at
org.fao.geonet.kernel.search.SearchManager.buildIndexDocument(SearchManager.java:721)
        at
org.fao.geonet.kernel.search.SearchManager.index(SearchManager.java:639)
        at
org.fao.geonet.kernel.DataManager.indexMetadata(DataManager.java:524)
2012-05-31 14:14:03,130 INFO [jeeves.webapp.metadata.show] - Creating
default metadata position
        at org.fao.geonet.kernel.DataManager
$IncreasePopularityTask.run(DataManager.java:3168)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
2012-05-31 14:14:03,137 DEBUG [jeeves.service] - Log search in asynch
mode - start.
2012-05-31 14:14:03,141 DEBUG [jeeves.service] - Log search in asynch
mode - end.
2012-05-31 14:14:03,162 DEBUG [jeeves.service] - Log search in asynch
mode - start.
2012-05-31 14:14:03,162 DEBUG [jeeves.service] - Log search in asynch
mode - end.
2012-05-31 14:14:03,169 DEBUG [jeeves.service] - Log search in asynch
mode - start.
2012-05-31 14:14:03,171 DEBUG [jeeves.service] - Log search in asynch
mode - end.
2012-05-31 14:14:03,259 INFO [jeeves.service] - -> transforming
with
stylesheet : /data/jakarta/geonetwork-asdd/webapps/geonetwork/xsl/metadata-show.xsl
2012-05-31 14:14:06,893 INFO [jeeves.service] - -> end
transformation for : metadata.show
2012-05-31 14:14:06,893 INFO [jeeves.service] - -> output ended
for : metadata.show
2012-05-31 14:14:06,893 INFO [jeeves.service] - -> dispatch ended
for : metadata.show

Where should I look next to fix this problem? Why does the "Timer
already cancelled" error keep on coming up when I have cleared all the
metadata and relations from the postgis database?

Any help would be much appreciated.

Thanks.

John H.

On Wed, 2012-05-30 at 17:19 +1000, john.hockaday wrote:
> Hi All,
>
> I have GN 2.7 snapshot. I have managed to get the system setup but when
> I do a search for metadata I get zero results. This also applies when I
> am logged in as 'admin'.
>
> I tried to create "New metadata" but I am told "No templates available,
> import templates first". If I then go back and select a template in the
> pick list eg. 'anzmeta' then select "Add templates"
>
> I saw Andrea Peri's post in the archives about copying
> WEB-INF/data/config
>
> into the
> DATA_DIRECTORY/config
>
> but I don't have those directories.
>
> I get the following in the catalina.out file when I try to load the
> anzmeta template:
>
> (See attached addAnzmetaTemplate.txt for output)
>
> I still get the same error when I select "New metadata"
>
> If I select 19139 metadata schema and then select "Add template" I get
> the follow errors in the catalina.out file:
>
> (See attached add19139Template.txt for output)
>
> If I try to "Add sample metadata" for the 19139 schema I get the
> following in the catalina.out file:
>
> (See attached add19139SampleMetadata.txt for output)
>
> and the message:
>
> (See attached Screenshot.png for Error Message Box)
>
> Have I broken my Postgis database? Can I fix it somehow? I don't want to
> lose all the services metadata and harvesting configuration that I have
> in the database.
>
> Thanks.
>
> John Hockaday
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________ GeoNetwork-users mailing list GeoNetwork-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geonetwork-users GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
GeoNetwork-users mailing list
GeoNetwork-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

Hi Jesse,

Thanks for coming to the rescue. Please see in line answers below:

On Thu, 2012-05-31 at 10:44 +0200, Jesse Eichar wrote:

Hi John

Have you tested with psql that postgis is correctly configured in the
database?

How do I do that? If I psql -d asdddb I get the following:

psql (8.4.11)
Type "help" for help.

Does that mean that I haven't got a postgis capability in my asdddb
(GeoNetwork) database?

What driver are you using for your database in the config.xml?

The entry is in the prod-site-config-overrides.xml file:

<file name=".*WEB-INF/config\.xml">
                <replaceXML xpath="resources">
                        <resource enabled="true">
                                <name>main-db</name>

<provider>jeeves.resources.dbms.ApacheDBCPool</p
rovider>
                                <config>
                                <user>asdddb</user>
                                <password>secret</password>

<driver>org.postgis.DriverWrapper</driver>

<url>jdbc:postgresql_postGIS://localhost:5432/as
dddb</url>
                                <poolSize>30</poolSize>
                                </config>
                        </resource>
                </replaceXML>
        </file>

The entry in the config-overrides.xml file is:

<overrides>
        <override></override>
        <override>/WEB-INF/config-overrides-prod.xml</override>
        <override></override>
</overrides>

This latter entry hopefully calls the postgis database in the
config-overrides-prod.xml file?

Thanks.

John

Jesse

On Thu, May 31, 2012 at 9:54 AM, john.hockaday
<john.hockaday@anonymised.com> wrote:
        Hi all,
        
        I have found mention of the "Timer already cancelled" error at
        URL:
        
        http://osdir.com/ml/users/2010-07/msg01393.html
        
        which says to
        
        'Remove "timeBetweenEvictionRunsMillis" attribute, or set it
        to "-1".'
        
        which I have done in
        the /geonetwork/webapps/geonetwork/WEB-INF/config.xml file.
         This didn't
        fix the problem but I have noticed the following errors in the
        catalina.out file:
        
        ...
        
        2012-05-31 17:18:01,736 INFO [jeeves.engine] - Adding
        resource :
        main-db
        2012-05-31 17:18:01,740 WARN [jeeves.dbmspool] - Using
        transaction
        isolation setting SERIALIZABLE
        31/05/2012 5:18:01 PM org.geotools.data.postgis.PostgisDBInfo
        <init>
        SEVERE: ERROR: function postgis_version() does not exist
         Hint: No function matches the given name and argument types.
        You might
        need to add explicit type casts.
         Position: 8
        2012-05-31 17:18:02,114 INFO [jeeves.engine] - Initializing
        services...
        
        ...
        
        2012-05-31 17:18:02,582 INFO [jeeves.engine] - Adding
        service : csw
        2012-05-31 17:18:02,583 WARN [jeeves.engine] - Raised
        exception while
        registering service. Skipped.
        2012-05-31 17:18:02,583 WARN [jeeves.engine] - Service :
        csw
        2012-05-31 17:18:02,583 WARN [jeeves.engine] - Package :
        org.fao.geonet
        2012-05-31 17:18:02,583 WARN [jeeves.engine] - Exception :
        java.lang.ClassNotFoundException:
        org.fao.geonet.services.main.CswDispatcher
        2012-05-31 17:18:02,583 WARN [jeeves.engine] - Message :
        org.fao.geonet.services.main.CswDispatcher
        2012-05-31 17:18:02,584 WARN [jeeves.engine] - Stack :
        java.lang.ClassNotFoundException:
        org.fao.geonet.services.main.CswDispatcher
               at
        org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
               at
        org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
               at java.lang.Class.forName0(Native Method)
               at java.lang.Class.forName(Class.java:169)
               at
        jeeves.server.dispatchers.ServiceManager.buildService(ServiceManager.java:210)
               at
        jeeves.server.dispatchers.ServiceManager.addService(ServiceManager.java:173)
               at
        jeeves.server.JeevesEngine.initServices(JeevesEngine.java:582)
               at
        jeeves.server.JeevesEngine.loadConfigFile(JeevesEngine.java:300)
               at
        jeeves.server.JeevesEngine.loadConfigFile(JeevesEngine.java:317)
               at
        jeeves.server.JeevesEngine.init(JeevesEngine.java:152)
               at
        jeeves.server.sources.http.JeevesServlet.init(JeevesServlet.java:76)
               at
        javax.servlet.GenericServlet.init(GenericServlet.java:212)
               at
        org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206)
               at
        org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
               at
        org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
        
        ...
        
        2012-05-31 17:18:06,667 DEBUG [jeeves] - Adding xml
        to /summary/def
        2012-05-31 17:18:08,321 WARN [geonetwork.spatial] - Failure
        to make
        _writer, maybe a problem but might also not be an issue:<error
        id="error">
         <message />
         <class>NullPointerException</class>
         <stack>
           <at
        class="org.fao.geonet.kernel.search.spatial.SpatialIndexWriter"
        file="SpatialIndexWriter.java" line="129"
        method="&lt;init&gt;" />
           <at class="org.fao.geonet.kernel.search.SearchManager
        $Spatial"
        file="SearchManager.java" line="1412" method="createWriter" />
           <at class="org.fao.geonet.kernel.search.SearchManager
        $Spatial"
        file="SearchManager.java" line="1390" method="&lt;init&gt;" />
           <at class="org.fao.geonet.kernel.search.SearchManager"
        file="SearchManager.java" line="373" method="&lt;init&gt;" />
           <at class="org.fao.geonet.Geonetwork"
        file="Geonetwork.java"
        line="339" method="start" />
           <at class="jeeves.server.JeevesEngine"
        file="JeevesEngine.java"
        line="525" method="initAppHandler" />
           <at class="jeeves.server.JeevesEngine"
        file="JeevesEngine.java"
        line="161" method="init" />
           <at class="jeeves.server.sources.http.JeevesServlet"
        file="JeevesServlet.java" line="76" method="init" />
           <at class="javax.servlet.GenericServlet"
        file="GenericServlet.java"
        line="212" method="init" />
           <at class="org.apache.catalina.core.StandardWrapper"
        file="StandardWrapper.java" line="1206"
        method="loadServlet" />
           <skip>...</skip>
         </stack>
        </error>
        2012-05-31 17:18:08,321 ERROR [geonetwork.spatial] - Unable to
        call
        reset on Spatial writer: null
        java.lang.NullPointerException
               at org.fao.geonet.kernel.search.SearchManager
        $Spatial.createWriter(SearchManager.java:1419)
               at org.fao.geonet.kernel.search.SearchManager
        $Spatial.<init>(SearchManager.java:1390)
               at
        org.fao.geonet.kernel.search.SearchManager.<init>(SearchManager.java:373)
               at org.fao.geonet.Geonetwork.start(Geonetwork.java:339)
               at
        jeeves.server.JeevesEngine.initAppHandler(JeevesEngine.java:525)
               at
        jeeves.server.JeevesEngine.init(JeevesEngine.java:161)
               at
        jeeves.server.sources.http.JeevesServlet.init(JeevesServlet.java:76)
               at
        javax.servlet.GenericServlet.init(GenericServlet.java:212)
               at
        org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206)
               at
        org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
               at
        org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
               at
        org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
               at
        org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
               at
        org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
               at
        org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
               at
        org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
               at
        org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
               at
        org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
               at
        org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
               at
        org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
               at
        org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
               at
        org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
               at
        org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
               at
        org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
               at
        org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
               at
        org.apache.catalina.core.StandardService.start(StandardService.java:525)
        
        ...
        
        2012-05-31 17:18:08,324 ERROR [geonetwork.index] - Rebuilding
        lucene
        index
        2012-05-31 17:18:08,612 INFO [jeeves.apphand] - - Access
        manager...
        2012-05-31 17:18:08,620 INFO [jeeves.apphand] - - Xml
        serializer and
        Data manager...
        2012-05-31 17:18:08,646 WARN [geonetwork.settings] - Unable
        to find
        Settings row for: system/site/svnUuid. Check settings table.
        2012-05-31 17:18:09,308 WARN [geonetwork.svnmanager] -
        Recreating
        subversion repository
        at /data/jakarta/geonetwork-asdd/webapps/geonetwork/WEB-INF/data/metadata_subversion as previous repository was empty
        2012-05-31 17:18:09,505 INFO [jeeves.apphand] - - Harvest
        manager...
        2012-05-31 17:18:10,217 INFO [jeeves.apphand] - - Catalogue
        services
        for the web...
        2012-05-31 17:18:10,250 INFO [jeeves.apphand] - - Open
        Archive
        Initiative (OAI-PMH) server...
        2012-05-31 17:18:10,273 INFO [jeeves.apphand] - - Metadata
        notifier ...
        2012-05-31 17:18:10,273 INFO [jeeves.apphand] - Site ID is :
        dd714eee-01f6-4d00-a84c-16a03a50a3f4
        2012-05-31 17:18:10,277 INFO [jeeves.engine] - --- Handler
        started
        ---------------------------------------
        2012-05-31 17:18:10,277 INFO [jeeves.engine] - Starting
        schedule
        manager...
        2012-05-31 17:18:10,278 INFO [jeeves.engine] - Memory used
        is :
        -113902 Kb
        2012-05-31 17:18:10,278 INFO [jeeves.engine] - Total memory
        is :
        3728320 Kb
        2012-05-31 17:18:10,278 INFO [jeeves.engine] - Startup time
        is : 8
        (secs)
        2012-05-31 17:18:10,278 INFO [jeeves.engine] - === System
        working
        =========================================
        31/05/2012 5:18:10 PM org.apache.coyote.http11.Http11Protocol
        start
        INFO: Starting Coyote HTTP/1.1 on http-8080
        
        ...
        
        INFO: Server startup in 19261 ms
        2012-05-31 17:18:19,551 ERROR [geonetwork.datamanager] - The
        metadata
        document index with id=1 is corrupt/invalid - ignoring it.
        Error: null
        java.lang.NullPointerException
               at
        org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.<init>(SpatialIndexWriter.java:129)
               at org.fao.geonet.kernel.search.SearchManager
        $Spatial.writerNoLocking(SearchManager.java:1529)
               at org.fao.geonet.kernel.search.SearchManager
        $Spatial.writer(SearchManager.java:1515)
               at
        org.fao.geonet.kernel.search.SearchManager.delete(SearchManager.java:835)
               at
        org.fao.geonet.kernel.search.SearchManager.buildIndexDocument(SearchManager.java:721)
               at
        org.fao.geonet.kernel.search.SearchManager.index(SearchManager.java:639)
               at
        org.fao.geonet.kernel.DataManager.indexMetadata(DataManager.java:524)
               at org.fao.geonet.kernel.DataManager
        $IndexMetadataTask.run(DataManager.java:340)
               at java.util.concurrent.ThreadPoolExecutor
        $Worker.runTask(ThreadPoolExecutor.java:886)
               at java.util.concurrent.ThreadPoolExecutor
        $Worker.run(ThreadPoolExecutor.java:908)
               at java.lang.Thread.run(Thread.java:662)
        Exception in thread "Timer-1" java.lang.NullPointerException
               at org.fao.geonet.kernel.search.SearchManager$Spatial
        $Committer.run(SearchManager.java:1560)
               at java.util.TimerThread.mainLoop(Timer.java:512)
               at java.util.TimerThread.run(Timer.java:462)
        
        ...
        
        Any hints on what to do to fix this would be greatly
        appreciated.
        
        I'm running:
        
        psql (PostgreSQL) 8.4.11
        contains support for command-line editing
        
         and it appears to have the 270 dagaa bs upgrades.
        
        Thanks.
        
        John H.
        
        On Thu, 2012-05-31 at 14:30 +1000, john.hockaday wrote:
        > Hi All,
        >
        > Sorry for cross posting.
        >
        > I have tried to fix the "corrupt/invalid ignoring it. Error:
        Timer
        > already cancelled." error by doing the following:
        >
        > sudo su - postgres
        > psql -d gndb
        > delete from metadatarating;
        > delete from validation;
        > delete from metadatacateg;
        > delete from operationallowed;
        > delete from metadata;
        >
        > reindex database gndb force;
        >
        > \q
        >
        >
        > I had to delete from the metadarating, validation,
        metadatacateg and
        > operationallowed because of links to the metadata table or
        each other.
        >
        > I then start GN and tried to load just one services metadata
        record. The
        > catalina.out file showed this:
        >
        > ...
        >
        > &lt;/gmd:function&gt;&#xD;
        > &lt;/gmd:CI_OnlineResource&gt;&#xD;
        > &lt;/srv:connectPoint&gt;&#xD;
        > &lt;/srv:SV_OperationMetadata&gt;&#xD;
        > &lt;/srv:containsOperations&gt;&#xD;
        > &lt;/srv:SV_ServiceIdentification&gt;&#xD;
        > &lt;/gmd:identificationInfo&gt;&#xD;
        > &lt;/gmd:MD_Metadata&gt;</data>
        > <group>11</group>
        > <uuidAction>overwrite</uuidAction>
        > <validate>on</validate>
        > <file_type>single</file_type>
        > </request>
        > 2012-05-31 14:13:41,911 ERROR [geonetwork.datamanager] - The
        metadata
        > document index with id=1 is corrupt/invalid - ignoring it.
        Error: null
        > java.lang.NullPointerException
        > at
        >
        org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.<init>(SpatialIndexWriter.java:129)
        > at org.fao.geonet.kernel.search.SearchManager
        > $Spatial.writerNoLocking(SearchManager.java:1529)
        > at org.fao.geonet.kernel.search.SearchManager
        > $Spatial.writer(SearchManager.java:1515)
        > at
        >
        org.fao.geonet.kernel.search.SearchManager.delete(SearchManager.java:835)
        > at
        >
        org.fao.geonet.kernel.search.SearchManager.buildIndexDocument(SearchManager.java:721)
        > at
        >
        org.fao.geonet.kernel.search.SearchManager.index(SearchManager.java:639)
        > at
        >
        org.fao.geonet.kernel.DataManager.indexMetadata(DataManager.java:524)
        > at org.fao.geonet.kernel.DataManager
        > $IndexMetadataTask.run(DataManager.java:340)
        > at java.util.concurrent.ThreadPoolExecutor
        > $Worker.runTask(ThreadPoolExecutor.java:886)
        > at java.util.concurrent.ThreadPoolExecutor
        > $Worker.run(ThreadPoolExecutor.java:908)
        > at java.lang.Thread.run(Thread.java:662)
        > 2012-05-31 14:13:41,913 INFO [jeeves.service] - ->
        dispatching to
        > output for : metadata.insert.paste
        > 2012-05-31 14:13:41,929 INFO [jeeves.service] - ->
        transforming
        > with
        >
        stylesheet : /data/jakarta/geonetwork-asdd/webapps/geonetwork/xsl/metadata-insert-results.xsl
        > 2012-05-31 14:13:41,957 ERROR [geonetwork.datamanager] - The
        metadata
        > document index with id=1 is corrupt/invalid - ignoring it.
        Error: null
        > java.lang.NullPointerException
        > at
        >
        org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.<init>(SpatialIndexWriter.java:129)
        > at org.fao.geonet.kernel.search.SearchManager
        > $Spatial.writerNoLocking(SearchManager.java:1529)
        > at org.fao.geonet.kernel.search.SearchManager
        > $Spatial.writer(SearchManager.java:1515)
        > at
        >
        org.fao.geonet.kernel.search.SearchManager.delete(SearchManager.java:835)
        > at
        >
        org.fao.geonet.kernel.search.SearchManager.buildIndexDocument(SearchManager.java:721)
        > at
        >
        org.fao.geonet.kernel.search.SearchManager.index(SearchManager.java:639)
        > at
        >
        org.fao.geonet.kernel.DataManager.indexMetadata(DataManager.java:524)
        > at org.fao.geonet.kernel.DataManager
        > $IndexMetadataTask.run(DataManager.java:340)
        > at java.util.concurrent.ThreadPoolExecutor
        > $Worker.runTask(ThreadPoolExecutor.java:886)
        > at java.util.concurrent.ThreadPoolExecutor
        > $Worker.run(ThreadPoolExecutor.java:908)
        > at java.lang.Thread.run(Thread.java:662)
        > 2012-05-31 14:13:42,854 INFO [jeeves.service] - -> end
        > transformation for : metadata.insert.paste
        > 2012-05-31 14:13:42,854 INFO [jeeves.service] - ->
        output ended
        > for : metadata.insert.paste
        > 2012-05-31 14:13:42,855 INFO [jeeves.service] - ->
        dispatch ended
        > for : metadata.insert.paste
        > Exception in thread "Timer-1" java.lang.NullPointerException
        > at org.fao.geonet.kernel.search.SearchManager
        $Spatial
        > $Committer.run(SearchManager.java:1560)
        > at java.util.TimerThread.mainLoop(Timer.java:512)
        > at java.util.TimerThread.run(Timer.java:462)
        > 2012-05-31 14:14:03,028 INFO [jeeves.request] -
        > ==========================================================
        > 2012-05-31 14:14:03,028 INFO [jeeves.request] - HTML
        Request (from
        > 175.107.172.1) : /geonetwork/srv/en/metadata.show
        > 2012-05-31 14:14:03,028 DEBUG [jeeves.request] - Method
          : GET
        > 2012-05-31 14:14:03,028 DEBUG [jeeves.request] - Content
        type : null
        > 2012-05-31 14:14:03,029 DEBUG [jeeves.request] - Accept
          :
        > text/html,application/xhtml
        +xml,application/xml;q=0.9,*/*;q=0.8
        > 2012-05-31 14:14:03,029 DEBUG [jeeves.request] - Session id
        is
        > C8678D2BE6E8F6FA3D2238FB96A32FAB
        > 2012-05-31 14:14:03,029 INFO [jeeves.service] -
        Dispatching :
        > metadata.show
        > 2012-05-31 14:14:03,029 DEBUG [jeeves.service] - ->
        parameters are :
        > <request>
        > <id>1</id>
        > </request>
        > 2012-05-31 14:14:03,118 INFO [jeeves.service] - ->
        dispatching to
        > output for : metadata.show
        > 2012-05-31 14:14:03,129 ERROR [geonetwork.datamanager] - The
        metadata
        > document index with id=1 is corrupt/invalid - ignoring it.
        Error: Timer
        > already cancelled.
        > java.lang.IllegalStateException: Timer already cancelled.
        > at java.util.Timer.sched(Timer.java:354)
        > at java.util.Timer.schedule(Timer.java:170)
        > at org.fao.geonet.kernel.search.SearchManager
        > $Spatial.writer(SearchManager.java:1514)
        > at
        >
        org.fao.geonet.kernel.search.SearchManager.delete(SearchManager.java:835)
        > 2012-05-31 14:14:03,129 INFO [jeeves.webapp.metadata.show]
        - Creating
        > default metadata tab
        > at
        >
        org.fao.geonet.kernel.search.SearchManager.buildIndexDocument(SearchManager.java:721)
        > at
        >
        org.fao.geonet.kernel.search.SearchManager.index(SearchManager.java:639)
        > at
        >
        org.fao.geonet.kernel.DataManager.indexMetadata(DataManager.java:524)
        > 2012-05-31 14:14:03,130 INFO [jeeves.webapp.metadata.show]
        - Creating
        > default metadata position
        > at org.fao.geonet.kernel.DataManager
        > $IncreasePopularityTask.run(DataManager.java:3168)
        > at java.util.concurrent.ThreadPoolExecutor
        > $Worker.runTask(ThreadPoolExecutor.java:886)
        > at java.util.concurrent.ThreadPoolExecutor
        > $Worker.run(ThreadPoolExecutor.java:908)
        > at java.lang.Thread.run(Thread.java:662)
        > 2012-05-31 14:14:03,137 DEBUG [jeeves.service] - Log search
        in asynch
        > mode - start.
        > 2012-05-31 14:14:03,141 DEBUG [jeeves.service] - Log search
        in asynch
        > mode - end.
        > 2012-05-31 14:14:03,162 DEBUG [jeeves.service] - Log search
        in asynch
        > mode - start.
        > 2012-05-31 14:14:03,162 DEBUG [jeeves.service] - Log search
        in asynch
        > mode - end.
        > 2012-05-31 14:14:03,169 DEBUG [jeeves.service] - Log search
        in asynch
        > mode - start.
        > 2012-05-31 14:14:03,171 DEBUG [jeeves.service] - Log search
        in asynch
        > mode - end.
        > 2012-05-31 14:14:03,259 INFO [jeeves.service] - ->
        transforming
        > with
        >
        stylesheet : /data/jakarta/geonetwork-asdd/webapps/geonetwork/xsl/metadata-show.xsl
        > 2012-05-31 14:14:06,893 INFO [jeeves.service] - -> end
        > transformation for : metadata.show
        > 2012-05-31 14:14:06,893 INFO [jeeves.service] - ->
        output ended
        > for : metadata.show
        > 2012-05-31 14:14:06,893 INFO [jeeves.service] - ->
        dispatch ended
        > for : metadata.show
        >
        >
        > Where should I look next to fix this problem? Why does the
        "Timer
        > already cancelled" error keep on coming up when I have
        cleared all the
        > metadata and relations from the postgis database?
        >
        > Any help would be much appreciated.
        >
        > Thanks.
        >
        >
        > John H.
        >
        > On Wed, 2012-05-30 at 17:19 +1000, john.hockaday wrote:
        > > Hi All,
        > >
        > > I have GN 2.7 snapshot. I have managed to get the system
        setup but when
        > > I do a search for metadata I get zero results. This also
        applies when I
        > > am logged in as 'admin'.
        > >
        > > I tried to create "New metadata" but I am told "No
        templates available,
        > > import templates first". If I then go back and select a
        template in the
        > > pick list eg. 'anzmeta' then select "Add templates"
        > >
        > > I saw Andrea Peri's post in the archives about copying
        > > WEB-INF/data/config
        > >
        > > into the
        > > DATA_DIRECTORY/config
        > >
        > > but I don't have those directories.
        > >
        > > I get the following in the catalina.out file when I try to
        load the
        > > anzmeta template:
        > >
        > > (See attached addAnzmetaTemplate.txt for output)
        > >
        > > I still get the same error when I select "New metadata"
        > >
        > > If I select 19139 metadata schema and then select "Add
        template" I get
        > > the follow errors in the catalina.out file:
        > >
        > > (See attached add19139Template.txt for output)
        > >
        > > If I try to "Add sample metadata" for the 19139 schema I
        get the
        > > following in the catalina.out file:
        > >
        > > (See attached add19139SampleMetadata.txt for output)
        > >
        > > and the message:
        > >
        > > (See attached Screenshot.png for Error Message Box)
        > >
        > > Have I broken my Postgis database? Can I fix it somehow? I
        don't want to
        > > lose all the services metadata and harvesting
        configuration that I have
        > > in the database.
        > >
        > > Thanks.
        > >
        > > John Hockaday
        > >
        > >
        ------------------------------------------------------------------------------
        > > Live Security Virtual Conference
        > > Exclusive live event will cover all the ways today's
        security and
        > > threat landscape has changed and how IT managers can
        respond. Discussions
        > > will include endpoint security, mobile security and the
        latest in malware
        > > threats.
        http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
        > > _______________________________________________
        GeoNetwork-users mailing list
        GeoNetwork-users@lists.sourceforge.net
        https://lists.sourceforge.net/lists/listinfo/geonetwork-users
        GeoNetwork OpenSource is maintained at
        http://sourceforge.net/projects/geonetwork
        >
        >
        >
        ------------------------------------------------------------------------------
        > Live Security Virtual Conference
        > Exclusive live event will cover all the ways today's
        security and
        > threat landscape has changed and how IT managers can
        respond. Discussions
        > will include endpoint security, mobile security and the
        latest in malware
        > threats.
        http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
        > _______________________________________________
        > GeoNetwork-users mailing list
        > GeoNetwork-users@lists.sourceforge.net
        >
        https://lists.sourceforge.net/lists/listinfo/geonetwork-users
        > GeoNetwork OpenSource is maintained at
        http://sourceforge.net/projects/geonetwork
        
        ------------------------------------------------------------------------------
        Live Security Virtual Conference
        Exclusive live event will cover all the ways today's security
        and
        threat landscape has changed and how IT managers can respond.
        Discussions
        will include endpoint security, mobile security and the latest
        in malware
        threats.
        http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
        _______________________________________________
        GeoNetwork-devel mailing list
        GeoNetwork-devel@lists.sourceforge.net
        https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
        GeoNetwork OpenSource is maintained at
        http://sourceforge.net/projects/geonetwork

Aha!

That gave the following error:

ERROR: function st_centroid(unknown) does not exist
LINE 1: SELECT ST_AsText(ST_Centroid('MULTIPOINT ( -1 0, -1 2, -1 3,...
                         ^
HINT: No function matches the given name and argument types. You might
need to add explicit type casts.

So that means that the 'asdddb' database is not a postgis database. Can
I turn it into one using some postgis and GeoNetwork psql commands or do
I need to rebuild it yet again?

Thanks for helping.

John H.

On Fri, 2012-06-01 at 09:12 +0200, Jesse Eichar wrote:

On Fri, Jun 1, 2012 at 6:44 AM, john.hockaday
<john.hockaday@anonymised.com> wrote:
        Hi Jesse,
        
        Thanks for coming to the rescue. Please see in line answers
        below:
        
        On Thu, 2012-05-31 at 10:44 +0200, Jesse Eichar wrote:
        > Hi John
        >
        >
        > Have you tested with psql that postgis is correctly
        configured in the
        > database?
        >
        
        How do I do that? If I psql -d asdddb I get the following:
        
        psql (8.4.11)
        Type "help" for help.
        
        Does that mean that I haven't got a postgis capability in my
        asdddb
        (GeoNetwork) database?
        
I usually login and perform a postgis query like:

SELECT ST_AsText(ST_Centroid('MULTIPOINT ( -1 0, -1 2, -1 3, -1 4, -1
7, 0 1, 0 3, 1 1, 2 0, 6 0, 7 8, 9 8, 10 6 )'));

If that works then you know postgis is installed.

        >
        > What driver are you using for your database in the
        config.xml?
        >
        
        The entry is in the prod-site-config-overrides.xml file:
        
         <file name=".*WEB-INF/config\.xml">
                       <replaceXML xpath="resources">
                               <resource enabled="true">
                                       <name>main-db</name>
        
        <provider>jeeves.resources.dbms.ApacheDBCPool</p
        rovider>
                                       <config>
                                       <user>asdddb</user>
                                       <password>secret</password>
        
        <driver>org.postgis.DriverWrapper</driver>
        
        <url>jdbc:postgresql_postGIS://localhost:5432/as
        dddb</url>
                                       <poolSize>30</poolSize>
                                       </config>
                               </resource>
                       </replaceXML>
               </file>
        
        The entry in the config-overrides.xml file is:
        
        <overrides>
               <override></override>
               <override>/WEB-INF/config-overrides-prod.xml</override>
               <override></override>
        </overrides>
        
        This latter entry hopefully calls the postgis database in the
        config-overrides-prod.xml file?
        
That looks more or less correct. You should be able to see the which
overrides are used in the logs. Maybe you can verify that the
overrides are being used.

For these sorts of errors I like to open up a debug port to my server
and attach a debugger and step through the geonetwork initialization
process to find the locations of errors, what queries are failing
etc...

At the minimum increase the dbms logger to debug so you can see the
sql queries in the logs.

Jesse

Hi John

Have you tested with psql that postgis is correctly configured in the database?

What driver are you using for your database in the config.xml?

Jesse

On Thu, May 31, 2012 at 9:54 AM, john.hockaday <john.hockaday@anonymised.com> wrote:

Hi all,

I have found mention of the “Timer already cancelled” error at URL:

http://osdir.com/ml/users/2010-07/msg01393.html

which says to

‘Remove “timeBetweenEvictionRunsMillis” attribute, or set it to “-1”.’

which I have done in
the /geonetwork/webapps/geonetwork/WEB-INF/config.xml file. This didn’t
fix the problem but I have noticed the following errors in the
catalina.out file:

2012-05-31 17:18:01,736 INFO [jeeves.engine] - Adding resource :
main-db
2012-05-31 17:18:01,740 WARN [jeeves.dbmspool] - Using transaction
isolation setting SERIALIZABLE
31/05/2012 5:18:01 PM org.geotools.data.postgis.PostgisDBInfo
SEVERE: ERROR: function postgis_version() does not exist
Hint: No function matches the given name and argument types. You might
need to add explicit type casts.
Position: 8
2012-05-31 17:18:02,114 INFO [jeeves.engine] - Initializing
services…

2012-05-31 17:18:02,582 INFO [jeeves.engine] - Adding service : csw
2012-05-31 17:18:02,583 WARN [jeeves.engine] - Raised exception while
registering service. Skipped.
2012-05-31 17:18:02,583 WARN [jeeves.engine] - Service : csw
2012-05-31 17:18:02,583 WARN [jeeves.engine] - Package :
org.fao.geonet
2012-05-31 17:18:02,583 WARN [jeeves.engine] - Exception :
java.lang.ClassNotFoundException:
org.fao.geonet.services.main.CswDispatcher
2012-05-31 17:18:02,583 WARN [jeeves.engine] - Message :
org.fao.geonet.services.main.CswDispatcher
2012-05-31 17:18:02,584 WARN [jeeves.engine] - Stack :
java.lang.ClassNotFoundException:
org.fao.geonet.services.main.CswDispatcher
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at
jeeves.server.dispatchers.ServiceManager.buildService(ServiceManager.java:210)
at
jeeves.server.dispatchers.ServiceManager.addService(ServiceManager.java:173)
at
jeeves.server.JeevesEngine.initServices(JeevesEngine.java:582)
at
jeeves.server.JeevesEngine.loadConfigFile(JeevesEngine.java:300)
at
jeeves.server.JeevesEngine.loadConfigFile(JeevesEngine.java:317)
at jeeves.server.JeevesEngine.init(JeevesEngine.java:152)
at
jeeves.server.sources.http.JeevesServlet.init(JeevesServlet.java:76)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206)
at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)

2012-05-31 17:18:06,667 DEBUG [jeeves] - Adding xml to /summary/def
2012-05-31 17:18:08,321 WARN [geonetwork.spatial] - Failure to make
_writer, maybe a problem but might also not be an issue:

NullPointerException














2012-05-31 17:18:08,321 ERROR [geonetwork.spatial] - Unable to call
reset on Spatial writer: null
java.lang.NullPointerException
at org.fao.geonet.kernel.search.SearchManager
$Spatial.createWriter(SearchManager.java:1419)
at org.fao.geonet.kernel.search.SearchManager
$Spatial.(SearchManager.java:1390)
at
org.fao.geonet.kernel.search.SearchManager.(SearchManager.java:373)
at org.fao.geonet.Geonetwork.start(Geonetwork.java:339)
at
jeeves.server.JeevesEngine.initAppHandler(JeevesEngine.java:525)
at jeeves.server.JeevesEngine.init(JeevesEngine.java:161)
at
jeeves.server.sources.http.JeevesServlet.init(JeevesServlet.java:76)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206)
at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at
org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
at
org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at
org.apache.catalina.core.StandardService.start(StandardService.java:525)

2012-05-31 17:18:08,324 ERROR [geonetwork.index] - Rebuilding lucene
index
2012-05-31 17:18:08,612 INFO [jeeves.apphand] - - Access manager…
2012-05-31 17:18:08,620 INFO [jeeves.apphand] - - Xml serializer and
Data manager…
2012-05-31 17:18:08,646 WARN [geonetwork.settings] - Unable to find
Settings row for: system/site/svnUuid. Check settings table.
2012-05-31 17:18:09,308 WARN [geonetwork.svnmanager] - Recreating
subversion repository
at /data/jakarta/geonetwork-asdd/webapps/geonetwork/WEB-INF/data/metadata_subversion as previous repository was empty
2012-05-31 17:18:09,505 INFO [jeeves.apphand] - - Harvest manager…
2012-05-31 17:18:10,217 INFO [jeeves.apphand] - - Catalogue services
for the web…
2012-05-31 17:18:10,250 INFO [jeeves.apphand] - - Open Archive
Initiative (OAI-PMH) server…
2012-05-31 17:18:10,273 INFO [jeeves.apphand] - - Metadata
notifier …
2012-05-31 17:18:10,273 INFO [jeeves.apphand] - Site ID is :
dd714eee-01f6-4d00-a84c-16a03a50a3f4
2012-05-31 17:18:10,277 INFO [jeeves.engine] - — Handler started

2012-05-31 17:18:10,277 INFO [jeeves.engine] - Starting schedule
manager…
2012-05-31 17:18:10,278 INFO [jeeves.engine] - Memory used is :
-113902 Kb
2012-05-31 17:18:10,278 INFO [jeeves.engine] - Total memory is :
3728320 Kb
2012-05-31 17:18:10,278 INFO [jeeves.engine] - Startup time is : 8
(secs)
2012-05-31 17:18:10,278 INFO [jeeves.engine] - === System working

31/05/2012 5:18:10 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080

INFO: Server startup in 19261 ms
2012-05-31 17:18:19,551 ERROR [geonetwork.datamanager] - The metadata
document index with id=1 is corrupt/invalid - ignoring it. Error: null
java.lang.NullPointerException
at
org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.(SpatialIndexWriter.java:129)
at org.fao.geonet.kernel.search.SearchManager
$Spatial.writerNoLocking(SearchManager.java:1529)
at org.fao.geonet.kernel.search.SearchManager
$Spatial.writer(SearchManager.java:1515)
at
org.fao.geonet.kernel.search.SearchManager.delete(SearchManager.java:835)
at
org.fao.geonet.kernel.search.SearchManager.buildIndexDocument(SearchManager.java:721)
at
org.fao.geonet.kernel.search.SearchManager.index(SearchManager.java:639)
at
org.fao.geonet.kernel.DataManager.indexMetadata(DataManager.java:524)
at org.fao.geonet.kernel.DataManager
$IndexMetadataTask.run(DataManager.java:340)
at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Exception in thread “Timer-1” java.lang.NullPointerException
at org.fao.geonet.kernel.search.SearchManager$Spatial
$Committer.run(SearchManager.java:1560)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)

Any hints on what to do to fix this would be greatly appreciated.

I’m running:

psql (PostgreSQL) 8.4.11
contains support for command-line editing

and it appears to have the 270 dagaa bs upgrades.

Thanks.

John H.

On Thu, 2012-05-31 at 14:30 +1000, john.hockaday wrote:

Hi All,

Sorry for cross posting.

I have tried to fix the “corrupt/invalid ignoring it. Error: Timer
already cancelled.” error by doing the following:

sudo su - postgres
psql -d gndb
delete from metadatarating;
delete from validation;
delete from metadatacateg;
delete from operationallowed;
delete from metadata;

reindex database gndb force;

\q

I had to delete from the metadarating, validation, metadatacateg and
operationallowed because of links to the metadata table or each other.

I then start GN and tried to load just one services metadata record. The
catalina.out file showed this:

</gmd:function>
</gmd:CI_OnlineResource>
</srv:connectPoint>
</srv:SV_OperationMetadata>
</srv:containsOperations>
</srv:SV_ServiceIdentification>
</gmd:identificationInfo>
</gmd:MD_Metadata>
11
overwrite
on
<file_type>single</file_type>

2012-05-31 14:13:41,911 ERROR [geonetwork.datamanager] - The metadata
document index with id=1 is corrupt/invalid - ignoring it. Error: null
java.lang.NullPointerException
at
org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.(SpatialIndexWriter.java:129)
at org.fao.geonet.kernel.search.SearchManager
$Spatial.writerNoLocking(SearchManager.java:1529)
at org.fao.geonet.kernel.search.SearchManager
$Spatial.writer(SearchManager.java:1515)
at
org.fao.geonet.kernel.search.SearchManager.delete(SearchManager.java:835)
at
org.fao.geonet.kernel.search.SearchManager.buildIndexDocument(SearchManager.java:721)
at
org.fao.geonet.kernel.search.SearchManager.index(SearchManager.java:639)
at
org.fao.geonet.kernel.DataManager.indexMetadata(DataManager.java:524)
at org.fao.geonet.kernel.DataManager
$IndexMetadataTask.run(DataManager.java:340)
at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
2012-05-31 14:13:41,913 INFO [jeeves.service] - → dispatching to
output for : metadata.insert.paste
2012-05-31 14:13:41,929 INFO [jeeves.service] - → transforming
with
stylesheet : /data/jakarta/geonetwork-asdd/webapps/geonetwork/xsl/metadata-insert-results.xsl
2012-05-31 14:13:41,957 ERROR [geonetwork.datamanager] - The metadata
document index with id=1 is corrupt/invalid - ignoring it. Error: null
java.lang.NullPointerException
at
org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.(SpatialIndexWriter.java:129)
at org.fao.geonet.kernel.search.SearchManager
$Spatial.writerNoLocking(SearchManager.java:1529)
at org.fao.geonet.kernel.search.SearchManager
$Spatial.writer(SearchManager.java:1515)
at
org.fao.geonet.kernel.search.SearchManager.delete(SearchManager.java:835)
at
org.fao.geonet.kernel.search.SearchManager.buildIndexDocument(SearchManager.java:721)
at
org.fao.geonet.kernel.search.SearchManager.index(SearchManager.java:639)
at
org.fao.geonet.kernel.DataManager.indexMetadata(DataManager.java:524)
at org.fao.geonet.kernel.DataManager
$IndexMetadataTask.run(DataManager.java:340)
at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
2012-05-31 14:13:42,854 INFO [jeeves.service] - → end
transformation for : metadata.insert.paste
2012-05-31 14:13:42,854 INFO [jeeves.service] - → output ended
for : metadata.insert.paste
2012-05-31 14:13:42,855 INFO [jeeves.service] - → dispatch ended
for : metadata.insert.paste
Exception in thread “Timer-1” java.lang.NullPointerException
at org.fao.geonet.kernel.search.SearchManager$Spatial
$Committer.run(SearchManager.java:1560)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
2012-05-31 14:14:03,028 INFO [jeeves.request] -

2012-05-31 14:14:03,028 INFO [jeeves.request] - HTML Request (from
175.107.172.1) : /geonetwork/srv/en/metadata.show
2012-05-31 14:14:03,028 DEBUG [jeeves.request] - Method : GET
2012-05-31 14:14:03,028 DEBUG [jeeves.request] - Content type : null
2012-05-31 14:14:03,029 DEBUG [jeeves.request] - Accept :
text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
2012-05-31 14:14:03,029 DEBUG [jeeves.request] - Session id is
C8678D2BE6E8F6FA3D2238FB96A32FAB
2012-05-31 14:14:03,029 INFO [jeeves.service] - Dispatching :
metadata.show
2012-05-31 14:14:03,029 DEBUG [jeeves.service] - → parameters are :

1

2012-05-31 14:14:03,118 INFO [jeeves.service] - → dispatching to
output for : metadata.show
2012-05-31 14:14:03,129 ERROR [geonetwork.datamanager] - The metadata
document index with id=1 is corrupt/invalid - ignoring it. Error: Timer
already cancelled.
java.lang.IllegalStateException: Timer already cancelled.
at java.util.Timer.sched(Timer.java:354)
at java.util.Timer.schedule(Timer.java:170)
at org.fao.geonet.kernel.search.SearchManager
$Spatial.writer(SearchManager.java:1514)
at
org.fao.geonet.kernel.search.SearchManager.delete(SearchManager.java:835)
2012-05-31 14:14:03,129 INFO [jeeves.webapp.metadata.show] - Creating
default metadata tab
at
org.fao.geonet.kernel.search.SearchManager.buildIndexDocument(SearchManager.java:721)
at
org.fao.geonet.kernel.search.SearchManager.index(SearchManager.java:639)
at
org.fao.geonet.kernel.DataManager.indexMetadata(DataManager.java:524)
2012-05-31 14:14:03,130 INFO [jeeves.webapp.metadata.show] - Creating
default metadata position
at org.fao.geonet.kernel.DataManager
$IncreasePopularityTask.run(DataManager.java:3168)
at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
2012-05-31 14:14:03,137 DEBUG [jeeves.service] - Log search in asynch
mode - start.
2012-05-31 14:14:03,141 DEBUG [jeeves.service] - Log search in asynch
mode - end.
2012-05-31 14:14:03,162 DEBUG [jeeves.service] - Log search in asynch
mode - start.
2012-05-31 14:14:03,162 DEBUG [jeeves.service] - Log search in asynch
mode - end.
2012-05-31 14:14:03,169 DEBUG [jeeves.service] - Log search in asynch
mode - start.
2012-05-31 14:14:03,171 DEBUG [jeeves.service] - Log search in asynch
mode - end.
2012-05-31 14:14:03,259 INFO [jeeves.service] - → transforming
with
stylesheet : /data/jakarta/geonetwork-asdd/webapps/geonetwork/xsl/metadata-show.xsl
2012-05-31 14:14:06,893 INFO [jeeves.service] - → end
transformation for : metadata.show
2012-05-31 14:14:06,893 INFO [jeeves.service] - → output ended
for : metadata.show
2012-05-31 14:14:06,893 INFO [jeeves.service] - → dispatch ended
for : metadata.show

Where should I look next to fix this problem? Why does the “Timer
already cancelled” error keep on coming up when I have cleared all the
metadata and relations from the postgis database?

Any help would be much appreciated.

Thanks.

John H.

On Wed, 2012-05-30 at 17:19 +1000, john.hockaday wrote:

Hi All,

I have GN 2.7 snapshot. I have managed to get the system setup but when
I do a search for metadata I get zero results. This also applies when I
am logged in as ‘admin’.

I tried to create “New metadata” but I am told “No templates available,
import templates first”. If I then go back and select a template in the
pick list eg. ‘anzmeta’ then select “Add templates”

I saw Andrea Peri’s post in the archives about copying
WEB-INF/data/config

into the
DATA_DIRECTORY/config

but I don’t have those directories.

I get the following in the catalina.out file when I try to load the
anzmeta template:

(See attached addAnzmetaTemplate.txt for output)

I still get the same error when I select “New metadata”

If I select 19139 metadata schema and then select “Add template” I get
the follow errors in the catalina.out file:

(See attached add19139Template.txt for output)

If I try to “Add sample metadata” for the 19139 schema I get the
following in the catalina.out file:

(See attached add19139SampleMetadata.txt for output)

and the message:

(See attached Screenshot.png for Error Message Box)

Have I broken my Postgis database? Can I fix it somehow? I don’t want to
lose all the services metadata and harvesting configuration that I have
in the database.

Thanks.

John Hockaday


Live Security Virtual Conference
Exclusive live event will cover all the ways today’s security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________ GeoNetwork-users mailing list GeoNetwork-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geonetwork-users GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork


Live Security Virtual Conference
Exclusive live event will cover all the ways today’s security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/


GeoNetwork-users mailing list
GeoNetwork-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork


Live Security Virtual Conference
Exclusive live event will cover all the ways today’s security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/


GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

On Fri, Jun 1, 2012 at 6:44 AM, john.hockaday <john.hockaday@anonymised.com> wrote:

Hi Jesse,

Thanks for coming to the rescue. Please see in line answers below:

On Thu, 2012-05-31 at 10:44 +0200, Jesse Eichar wrote:

Hi John

Have you tested with psql that postgis is correctly configured in the
database?

How do I do that? If I psql -d asdddb I get the following:

psql (8.4.11)
Type “help” for help.

Does that mean that I haven’t got a postgis capability in my asdddb
(GeoNetwork) database?

I usually login and perform a postgis query like:

SELECT ST_AsText(ST_Centroid(‘MULTIPOINT ( -1 0, -1 2, -1 3, -1 4, -1 7, 0 1, 0 3, 1 1, 2 0, 6 0, 7 8, 9 8, 10 6 )’));

If that works then you know postgis is installed.

What driver are you using for your database in the config.xml?

The entry is in the prod-site-config-overrides.xml file:

main-db

jeeves.resources.dbms.ApacheDBCPool</p
rovider>

asdddb
secret

org.postgis.DriverWrapper

jdbc:postgresql_postGIS://localhost:5432/as
dddb
30



The entry in the config-overrides.xml file is:

/WEB-INF/config-overrides-prod.xml

This latter entry hopefully calls the postgis database in the
config-overrides-prod.xml file?

That looks more or less correct. You should be able to see the which overrides are used in the logs. Maybe you can verify that the overrides are being used.

For these sorts of errors I like to open up a debug port to my server and attach a debugger and step through the geonetwork initialization process to find the locations of errors, what queries are failing etc…

At the minimum increase the dbms logger to debug so you can see the sql queries in the logs.

Jesse

Indeed you need to add postgis.

I “think” you can just do the following:

createlang plpgsql [yourdatabase]

(don’t worry if it says it is installed already)

psql -d [yourdatabase] -f postgis.sql

psql -d [yourdatabase] -f spatial_ref_sys.sql

(replace postgis.sql and spatial_ref_sys with the full paths to those files)

If you get errors with the psql commands you need to recreate your database doing these steps and THEN restore the dump into the database. I would restore the dump with psql -f … not pg_restore because I think pg_restore might scrub the database before restore where psql -f… does not and thus leaves the postgis stuff alone.

Jesse

On Sat, Jun 2, 2012 at 4:01 AM, john.hockaday <john.hockaday@anonymised.com> wrote:

Aha!

That gave the following error:

ERROR: function st_centroid(unknown) does not exist
LINE 1: SELECT ST_AsText(ST_Centroid('MULTIPOINT ( -1 0, -1 2, -1 3,…
^
HINT: No function matches the given name and argument types. You might

need to add explicit type casts.

So that means that the ‘asdddb’ database is not a postgis database. Can
I turn it into one using some postgis and GeoNetwork psql commands or do
I need to rebuild it yet again?

Thanks for helping.

John H.

On Fri, 2012-06-01 at 09:12 +0200, Jesse Eichar wrote:

On Fri, Jun 1, 2012 at 6:44 AM, john.hockaday
<john.hockaday@anonymised.com> wrote:
Hi Jesse,

Thanks for coming to the rescue. Please see in line answers
below:

On Thu, 2012-05-31 at 10:44 +0200, Jesse Eichar wrote:

Hi John

Have you tested with psql that postgis is correctly
configured in the
database?

How do I do that? If I psql -d asdddb I get the following:

psql (8.4.11)
Type “help” for help.

Does that mean that I haven’t got a postgis capability in my
asdddb
(GeoNetwork) database?

I usually login and perform a postgis query like:

SELECT ST_AsText(ST_Centroid(‘MULTIPOINT ( -1 0, -1 2, -1 3, -1 4, -1
7, 0 1, 0 3, 1 1, 2 0, 6 0, 7 8, 9 8, 10 6 )’));

If that works then you know postgis is installed.

What driver are you using for your database in the
config.xml?

The entry is in the prod-site-config-overrides.xml file:

main-db

jeeves.resources.dbms.ApacheDBCPool</p
rovider>

asdddb
secret

org.postgis.DriverWrapper

jdbc:postgresql_postGIS://localhost:5432/as
dddb
30



The entry in the config-overrides.xml file is:

/WEB-INF/config-overrides-prod.xml

This latter entry hopefully calls the postgis database in the
config-overrides-prod.xml file?

That looks more or less correct. You should be able to see the which
overrides are used in the logs. Maybe you can verify that the
overrides are being used.

For these sorts of errors I like to open up a debug port to my server
and attach a debugger and step through the geonetwork initialization
process to find the locations of errors, what queries are failing
etc…

At the minimum increase the dbms logger to debug so you can see the
sql queries in the logs.

Jesse