[Go-essp-tech] unable to unpublish and publish the datasets @ NCI gateway

Muhammad Atif muhammad.atif at anu.edu.au
Mon Jan 2 21:30:29 MST 2012


Hi,

I am having couple of strange errors while publishing the data on NCI 
gateway.  Hoping someone could help me/guide me out of this mess :(
There are two distinct issues, I am starting one email thread for each.

While trying to publish new version of the dataset, we decided to remove 
the previous version from the gateway completely.

However, we are not able to unpublish few datasets from our gateway. 
After going through the unpublish steps (logs provided towards the end 
of this email), esglist_datasets has an entry in the database of 
"DELETE_DATASET_FAILED".

Following is an example of one such case. The same happens if we try to 
unpublish output2 part of it.

*cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1 
*

/[root at esgnode1 tmp]# esgunpublish --skip-thredds 
cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1 
/

INFO 2012-01-03 13:58:09,122 Deleting 
cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1
WARNING 2012-01-03 13:58:09,376 Deletion/retraction failed for dataset 
cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1 
with message: Java ServiceException: The persistent 
identifier=cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1 
does not correspond to a dataset at 
sgf.gateway.service.security.impl.acegi.AcegiCatalogAccessDecisionVoter.vote(AcegiCatalogAccessDecisionVoter.java:74)
INFO 2012-01-03 13:58:09,443 Result: UNSUCCESSFUL

/[root at esgnode1 tmp]# esgunpublish --skip-thredds 
cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1 
/

INFO 2012-01-03 14:05:29,441 Deleting THREDDS catalog: 
/data/esg-node/tds-content/thredds/esgcet/9/cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1.v20111221.xml
INFO 2012-01-03 14:05:29,663 Writing THREDDS ESG master catalog 
/data/esg-node/tds-content/thredds/esgcet/catalog.xml
INFO 2012-01-03 14:05:31,133 Reinitializing THREDDS server
Traceback (most recent call last):
File "/usr/local/cdat/bin/esgunpublish", line 5, in <module>
pkg_resources.run_script('esgcet==2.8.4', 'esgunpublish')
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 489, in 
run_script
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 1207, in 
run_script
File 
"/usr/local/cdat/lib/python2.6/site-packages/esgcet-2.8.4-py2.6.egg/EGG-INFO/scripts/esgunpublish", 
line 221, in <module>
main(sys.argv[1:])
File 
"/usr/local/cdat/lib/python2.6/site-packages/esgcet-2.8.4-py2.6.egg/EGG-INFO/scripts/esgunpublish", 
line 184, in main
result = deleteDatasetList(datasetNames, Session, gatewayOp, thredds, 
las, deleteDset, deleteAll=deleteAll, republish=republish)
File 
"/usr/local/cdat/lib/python2.6/site-packages/esgcet-2.8.4-py2.6.egg/esgcet/publish/unpublish.py", 
line 272, in deleteDatasetList
result = reinitializeThredds()

File 
"/usr/local/cdat/lib/python2.6/site-packages/esgcet-2.8.4-py2.6.egg/esgcet/publish/thredds.py", 
line 1041, in reinitializeThredds
raise ESGPublishError("Error reinitializing the THREDDS Data Server: 
Fatal error: %s\n%s"%(errorMessage, str(result)))
esgcet.exceptions.ESGPublishError: Error reinitializing the THREDDS Data 
Server: Fatal error: **Fatal: InvCatalogFactory.readXML failed
Catalog init catalog.xml

[2012-01-03T03:05:33GMT]

/[root at esgnode1 tmp]# esgunpublish --database-delete 
cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1 
/

INFO 2012-01-03 14:19:12,597 Deleting 
cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1

WARNING 2012-01-03 14:19:12,778 Deletion/retraction failed for dataset 
cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1 
with message: Java ServiceException: The persistent 
identifier=cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1 
does not correspond to a dataset at 
sgf.gateway.service.security.impl.acegi.AcegiCatalogAccessDecisionVoter.vote(AcegiCatalogAccessDecisionVoter.java:74)
INFO 2012-01-03 14:19:12,822 Result: UNSUCCESSFUL
INFO 2012-01-03 14:19:12,864 Writing THREDDS ESG master catalog 
/data/esg-node/tds-content/thredds/esgcet/catalog.xml
INFO 2012-01-03 14:19:13,395 Reinitializing THREDDS server

Traceback (most recent call last):
   File "/usr/local/cdat/bin/esgunpublish", line 5, in <module>
     pkg_resources.run_script('esgcet==2.8.4', 'esgunpublish')
   File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 489, in 
run_script
   File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 1207, in 
run_script
   File 
"/usr/local/cdat/lib/python2.6/site-packages/esgcet-2.8.4-py2.6.egg/EGG-INFO/scripts/esgunpublish", 
line 221, in <module>
     main(sys.argv[1:])
   File 
"/usr/local/cdat/lib/python2.6/site-packages/esgcet-2.8.4-py2.6.egg/EGG-INFO/scripts/esgunpublish", 
line 184, in main
     result = deleteDatasetList(datasetNames, Session, gatewayOp, 
thredds, las, deleteDset, deleteAll=deleteAll, republish=republish)
   File 
"/usr/local/cdat/lib/python2.6/site-packages/esgcet-2.8.4-py2.6.egg/esgcet/publish/unpublish.py", 
line 272, in deleteDatasetList
     result = reinitializeThredds()
   File 
"/usr/local/cdat/lib/python2.6/site-packages/esgcet-2.8.4-py2.6.egg/esgcet/publish/thredds.py", 
line 1041, in reinitializeThredds
     raise ESGPublishError("Error reinitializing the THREDDS Data 
Server: Fatal error: %s\n%s"%(errorMessage, str(result)))
esgcet.exceptions.ESGPublishError: Error reinitializing the THREDDS Data 
Server: Fatal error: **Fatal:  InvCatalogFactory.readXML failed
Catalog init catalog.xml
[2012-01-03T04:19:34GMT]


In short, if I delete output1 and output2 of the dataset, they are not 
completely removed from the database; e.g.
[root at esgnode1 esgcet]# esglist_datasets cmip5 | grep 
".historicalAnt.mon.atmos.Amon.r1i1p1"
| 3296 | 
cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1            
| cmip5   | CSIRO-Mk3-6-0 | historicalAnt     | r1i1p1   | False   | 
None           | output1    | mon            | atmos   | Amon       | 
r1i1p1   | CSIRO-QCCCE | 2012-01-03 15:23:09 | DELETE_DATASET_FAILED | 
cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0    | 20111221 | 
cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1.v20111221            
| None    |
| 4093 | 
cmip5.output2.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1            
| cmip5   | CSIRO-Mk3-6-0 | historicalAnt     | r1i1p1   | False   | 
None           | output2    | mon            | atmos   | Amon       | 
r1i1p1   | CSIRO-QCCCE | 2012-01-03 15:28:35 | DELETE_DATASET_FAILED | 
cmip5.output2.CSIRO-QCCCE.CSIRO-Mk3-6-0    | 20111221 | 
cmip5.output2.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1.v20111221            
| None    |


*If we try to publish the data, we get the following error:*


INFO       2011-12-29 22:56:49,305 Publishing: 
cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1, 
parent = cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0
INFO       2011-12-29 22:56:49,738   Result: PROCESSING
INFO       2011-12-29 22:56:52,817   Result: UNSUCCESSFUL
WARNING    2011-12-29 22:56:52,995 Publication failed for dataset 
cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1 
with message: Publishing operation description.   THREDDS catalog: 
http://esgnode1.nci.org.au/thredds/esgcet/8/cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1.v20111221.xml
         Overwrite mode: ALWAYS_UPDATE
Completed.

Publishing task description.    THREDDS catalog: 
http://esgnode1.nci.org.au/thredds/esgcet/8/cmip5.output1.CSIRO-QCCCE.CSIRO-Mk3-6-0.historicalAnt.mon.atmos.Amon.r1i1p1.v20111221.xml
         Parent: CSIRO-Mk3-6-0 model CMIP5 output1 data
         Overwrite mode: ALWAYS_UPDATE
  org.springframework.dao.DataIntegrityViolationException: Could not 
execute JDBC batch update; SQL [insert into metadata.file_access_point 
(version, path, full_access_url, data_access_capability_id, 
logical_file_id, file_name, storage_type_id, id) values (?, ?, ?, ?, ?, 
?, ?, ?)]; constraint [null]; nested exception is 
org.hibernate.exception.ConstraintViolationException: Could not execute 
JDBC batch update
         at 
org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:637)
         at 
org.springframework.orm.hibernate3.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:793)
         at 
org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:664)
         at 
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
         at 
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
         at 
org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:147)
         at 
sgf.gateway.metadata.ingestor.impl.TransactionalMetadataIngestorImpl.ingest(TransactionalMetadataIngestorImpl.java:66)
         at 
sgf.gateway.metadata.complete.thredds.PublishingTaskImpl.handleExecuteInternal(PublishingTaskImpl.java:137)
         at 
sgf.gateway.metadata.complete.AbstractPublishingTask.execute(AbstractPublishingTask.java:60)
         at 
sgf.gateway.metadata.complete.service.impl.PublishingOperationExectionServiceImpl$CallableTaskWrapper.call(PublishingOperationExectionServiceImpl.java:75)
         at 
sgf.gateway.metadata.complete.service.impl.PublishingOperationExectionServiceImpl$CallableTaskWrapper.call(PublishingOperationExectionServiceImpl.java:54)
         at 
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
         at java.util.concurrent.FutureTask.run(FutureTask.java:166)
         at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
         at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
         at java.lang.Thread.run(Thread.java:636)
Caused by: org.hibernate.exception.ConstraintViolationException: Could 
not execute JDBC batch update
         at 
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94)
         at 
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
         at 
org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
         at 
org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:114)
         at 
org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:109)
         at 
org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:244)
         at 
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2252)
         at 
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2688)
         at 
org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79)
         at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
         at 
org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
         at 
org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
         at 
org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
         at 
org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
         at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
         at 
org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
         at 
org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
         at 
org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:656)
         ... 13 more
Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into 
metadata.file_access_point (version, path, full_access_url, 
data_access_capability_id, logical_file_id, file_name, storage_type_id, 
id) values (0, 
/cmip5/output/CSIRO-QCCCE/CSIRO-Mk3-6-0/historicalAnt/mon/atmos/Amon/r1i1p1/v20110518/cl/, 
gsiftp://esgnode1.nci.org.au:2812//cmip5/output/CSIRO-QCCCE/CSIRO-Mk3-6-0/historicalAnt/mon/atmos/Amon/r1i1p1/v20110518/cl/cl_Amon_CSIRO-Mk3-6-0_historicalAnt_r1i1p1_185001-186912.nc, 
a1c5b092-59cd-11e0-8e0a-00c0f03d5b7c, 
315871ae-3214-11e1-b652-00c0f03d5b7c, 
cl_Amon_CSIRO-Mk3-6-0_historicalAnt_r1i1p1_185001-186912.nc, 0, 
f0ccdc7c-11d9-444a-b749-76167dece157) was aborted.  Call 
getNextException to see the cause.
         at 
org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2537)
         at 
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1328)
         at 
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:351)
         at 
org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2674)
         at 
org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
         at 
org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
         at 
org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
         at 
org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
         ... 28 more

Any pointers/help is welcome. I can provide the logs if these are cryptic.

Regards,


-- 
Muhammad Atif
ANU Supercomputer Facility      NCI National Facility
Leonard Huxley, Mills Road      Room 318, Bldg # 56
Australian National University  Ph:  +61 2 6125 5031
Canberra, ACT 0200, Australia   M:   0430 393863
CRICOS Provider #00120C         http://anusf.anu.edu.au

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/go-essp-tech/attachments/20120103/90b176f3/attachment-0001.html 


More information about the GO-ESSP-TECH mailing list