[GeoNetwork-users] XML metadata services

Hi,

I am trying to use the xml metadata services to load / update over 10,000 metadata records with version 2.6.1 on Jetty.

It works really well for the first 75 records (< 3 seconds per update) then slows down for the next 75 and then crawls for the next 25 until I get a Out of Memory Error: Java heap space.

Does anyone have an idea for a fix?

Methods used:
xml.user.login
xml.search
Then either
metadata.insert
Or
metadata.update (yes this can be used, but I loop through version numbers until the correct one is found, resets to 1 after a server restart)
Then
xml.user.logout

Any help would be appreciated.

Also, validation does not seem to work with the XML services, but the records validate with a batch import.

Jamie

James Rupert
Natural Resources Canada | Ressources naturelles Canada
Earth Sciences Sector | Secteur des sciences de la Terre
Mapping and Information Branch / Direction de l'information et de la cartographie
Data Management Division / Division de la gestion des données
601 Booth Street | 601 Rue Booth
Ottawa, Ontario
K1A 0E8
Rupert@anonymised.com
Telephone | Téléphone 613-992-6433
Facsimile | Télécopieur 613-944-6749
Government of Canada | Gouvernement du Canada

Hi Jamie

Didn't try to load such amount of metadata records using the method
described by you. But some alternatives that I think can work better:

* Metadata batch import from Administration page.
* CSW transaction interface: I think can work better than at least
metadata.update, that is not very user friendly to use directly.

Regards,
Jose García

On Tue, Dec 21, 2010 at 8:16 PM, Rupert, James <
James.Rupert@anonymised.com> wrote:

Hi,

I am trying to use the xml metadata services to load / update over 10,000
metadata records with version 2.6.1 on Jetty.

It works really well for the first 75 records (< 3 seconds per update)
then slows down for the next 75 and then crawls for the next 25 until I get
a Out of Memory Error: Java heap space.

Does anyone have an idea for a fix?

Methods used:
xml.user.login
xml.search
Then either
metadata.insert
Or
metadata.update (yes this can be used, but I loop through version numbers
until the correct one is found, resets to 1 after a server restart)
Then
xml.user.logout

Any help would be appreciated.

Also, validation does not seem to work with the XML services, but the
records validate with a batch import.

Jamie

James Rupert
Natural Resources Canada | Ressources naturelles Canada
Earth Sciences Sector | Secteur des sciences de la Terre
Mapping and Information Branch / Direction de l'information et de la
cartographie
Data Management Division / Division de la gestion des données
601 Booth Street | 601 Rue Booth
Ottawa, Ontario
K1A 0E8
Rupert@anonymised.com
Telephone | Téléphone 613-992-6433
Facsimile | Télécopieur 613-944-6749
Government of Canada | Gouvernement du Canada

------------------------------------------------------------------------------
Forrester recently released a report on the Return on Investment (ROI) of
Google Apps. They found a 300% ROI, 38%-56% cost savings, and break-even
within 7 months. Over 3 million businesses have gone Google with Google
Apps:
an online email calendar, and document program that's accessible from your
browser. Read the Forrester report: http://p.sf.net/sfu/googleapps-sfnew
_______________________________________________
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 Jamie,

2010/12/21 Rupert, James <James.Rupert@anonymised.com>:

Hi,
I am trying to use the xml metadata services to load / update over 10,000 metadata records with version 2.6.1 on Jetty.

It works really well for the first 75 records (< 3 seconds per update) then slows down for the next 75 and then crawls for the next 25 until I get a Out of Memory Error: Java heap space.

Does anyone have an idea for a fix?

Looks strange, I have been using xml.user.login+metadata.insert
without any trouble from JMeter to load thousand of records and
without changing default jetty memory parameter:
http://www.neogeo-online.net/blog/archives/428/

Why are you using metadata.update instead of metadata.insert ?

For the out of memory error, you could increase the Xmx parameter in
startup script.

Cheers.

Francois

Methods used:
xml.user.login
xml.search
Then either
metadata.insert
Or
metadata.update (yes this can be used, but I loop through version numbers until the correct one is found, resets to 1 after a server restart)
Then
xml.user.logout

Any help would be appreciated.

Also, validation does not seem to work with the XML services, but the records validate with a batch import.

Jamie

James Rupert
Natural Resources Canada | Ressources naturelles Canada
Earth Sciences Sector | Secteur des sciences de la Terre
Mapping and Information Branch / Direction de l'information et de la cartographie
Data Management Division / Division de la gestion des données
601 Booth Street | 601 Rue Booth
Ottawa, Ontario
K1A 0E8
Rupert@anonymised.com
Telephone | Téléphone 613-992-6433
Facsimile | Télécopieur 613-944-6749
Government of Canada | Gouvernement du Canada

------------------------------------------------------------------------------
Forrester recently released a report on the Return on Investment (ROI) of
Google Apps. They found a 300% ROI, 38%-56% cost savings, and break-even
within 7 months. Over 3 million businesses have gone Google with Google Apps:
an online email calendar, and document program that's accessible from your
browser. Read the Forrester report: http://p.sf.net/sfu/googleapps-sfnew
_______________________________________________
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 Francois,

The reason for using metadata.update is that the metadata record may already exist. If it doesn't then I use metadata.insert.
The metadata that I am using could have 3000 updates a day. If I used metadata.delete and then a metadata.insert, I may run out of unique ID's in a few years. Metadata.update keeps the same ID.

The issue with using batch import is that I would have to separate all the metadata into categories and do multiple batches. Batch import only allows one category to be selected.

By using XML services I can also metadata.admin to set the allowed operations, i.e. set a public view on insert. Therefore I can automate almost all aspects of the metadata management.

Would moving to Tomcat help?

Jamie

-----Original Message-----
From: Francois Prunayre [mailto:fx.prunayre@anonymised.com]
Sent: December 22, 2010 05:35
To: Rupert, James
Cc: geonetwork-users@lists.sourceforge.net
Subject: Re: [GeoNetwork-users] XML metadata services

Hi Jamie,

2010/12/21 Rupert, James <James.Rupert@anonymised.com>:

Hi,
I am trying to use the xml metadata services to load / update over 10,000 metadata records with version 2.6.1 on Jetty.

It works really well for the first 75 records (< 3 seconds per update) then slows down for the next 75 and then crawls for the next 25 until I get a Out of Memory Error: Java heap space.

Does anyone have an idea for a fix?

Looks strange, I have been using xml.user.login+metadata.insert without any trouble from JMeter to load thousand of records and without changing default jetty memory parameter:
http://www.neogeo-online.net/blog/archives/428/

Why are you using metadata.update instead of metadata.insert ?

For the out of memory error, you could increase the Xmx parameter in startup script.

Cheers.

Francois

Methods used:
xml.user.login
xml.search
Then either
metadata.insert
Or
metadata.update (yes this can be used, but I loop through version
numbers until the correct one is found, resets to 1 after a server
restart) Then
xml.user.logout

Any help would be appreciated.

Also, validation does not seem to work with the XML services, but the records validate with a batch import.

Jamie

James Rupert
Natural Resources Canada | Ressources naturelles Canada Earth
Sciences Sector | Secteur des sciences de la Terre Mapping and
Information Branch / Direction de l'information et de la cartographie
Data Management Division / Division de la gestion des données
601 Booth Street | 601 Rue Booth
Ottawa, Ontario
K1A 0E8
Rupert@anonymised.com
Telephone | Téléphone 613-992-6433
Facsimile | Télécopieur 613-944-6749
Government of Canada | Gouvernement du Canada

----------------------------------------------------------------------
-------- Forrester recently released a report on the Return on
Investment (ROI) of Google Apps. They found a 300% ROI, 38%-56% cost
savings, and break-even within 7 months. Over 3 million businesses
have gone Google with Google Apps:
an online email calendar, and document program that's accessible from
your browser. Read the Forrester report:
http://p.sf.net/sfu/googleapps-sfnew
_______________________________________________
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

Dear Jamie,

I have a question to you because I'm working on metadata.insert.

1. How did you implement metadata.insert? Did you use curl? If so, could you
please show me the example of curl script when you used metadata.insert?

2. When you used metadata.insert, did you use path to the metadata or
metadata itself? I couldn't find any post variable of the path to the
metadata.

It would be really appreciated if you let me know any answer.

JK.

--
View this message in context: http://osgeo-org.1803224.n2.nabble.com/XML-metadata-services-tp5857610p6310806.html
Sent from the GeoNetwork users mailing list archive at Nabble.com.