[Dspace-general] {Disarmed} non-unique handle keys

Saeed Moaddeli s.moaddeli at gmail.com
Sun Jan 3 09:48:05 EST 2010


Dear Christophe;
Thank you so much. You spotted the problem. I fixed the problem using a
short command to set the current value of the sequence to a number bigger
than the current maximum handle. *SELECT setval('public.handle_seq', 5100,
true);*
but this is a bug, isn't it? I didn't do anything strange and this happened!
It may happen to many other who want to migrate their items from one
repository to another for any reason ( say backup or mirror) and preserve
the handles.
I think this must be resolved in future releases. what do you think?
Thanks again and happy new year!
SM

Saeed Moaddeli
IT Department
Encyclopaedia of Iranian Architectural History
No.2175 Valiasr Ave. Tehran 1511913511, Iran
Tel: +98 (21) 88728125-7 W3: http://eiah.org


On Sun, Jan 3, 2010 at 2:01 PM, Christophe Dupriez <
christophe.dupriez at destin.be> wrote:

> Hi Saeed,
>
> I think this may be caused by the "sequence" in PostgreSQL out of sync.
> If you carefuly examine it using the PgAdmin III software, you will find in
> your database, Schema public, Sequences, handle_seq, Properties:Current
> Value
> This CurrentValue must be equal to the latest handle created in the handle
> table.
> This can be checked by the SQL script:
> SELECT max(handle_id)   FROM handle;
>
> Good luck!
>
> Christophe
>
> Saeed Moaddeli a écrit :
>
>> Hi,
>> I have faced the following error after installing a fresh DSpace and
>> importing 2-3 thousands items into the repository. I wanted to preserve the
>> handles for the imported items so I removed the URI element from
>> dublin_core.xml file and just kept the handle file for each exported
>> package. The Import process completed successfully with no problem.
>> I put some wok-flows on my collections and started to submit items
>> manually. The submission completes and the item gets in to the related
>> work-flow. The internal system error shows up when the collection admin
>> presses the button for sending the item in to the repository.
>> The weird thing is after this error; the user's workspace is empty without
>> any messages or anything, empty at all.
>> I tried to find the cause of this error but found nothing. I need to
>> resolve this ASAP because this is a production repository. I looked in to
>> the database and noticed that unlike my other DSpace installation, the
>> handle_id (item internal ID) and and the second part of the handle in the
>> "handle" table are not the same. I am not sure whether this may be the
>> problem or not.
>> I am looking forward for all comments and solutions,
>> Bests,
>> Saeed
>>
>> *here is the Error:*
>>
>> 2010-01-01 16:10:26,958 WARN  org.dspace.app.webui.servlet.DSpaceServlet @
>> saeed at repo-ei.org:session_id=8472C2F50C508757D5E2DB93E432DB7A:ip_addr=*MailScanner
>> warning: numerical links are often malicious:* 192.168.123.156 <
>> http://192.168.123.156>:*database_error:org.postgresql.util.PSQLException:
>> ERROR: duplicate key violates unique constraint "handle_handle_key"*
>> org.postgresql.util.PSQLException: ERROR: duplicate key violates unique
>> constraint "handle_handle_key"
>>        at
>> org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1512)
>>        at
>> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1297)
>>        at
>> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
>>        at
>> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:430)
>>        at
>> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:346)
>>        at
>> org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:300)
>>        at
>> org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)
>>        at
>> org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)
>>        at
>> org.dspace.storage.rdbms.DatabaseManager.execute(DatabaseManager.java:1301)
>>        at
>> org.dspace.storage.rdbms.DatabaseManager.update(DatabaseManager.java:657)
>>        at
>> org.dspace.handle.HandleManager.createHandle(HandleManager.java:174)
>>        at org.dspace.content.InstallItem.installItem(InstallItem.java:110)
>>        at org.dspace.content.InstallItem.installItem(InstallItem.java:72)
>>        at
>> org.dspace.workflow.WorkflowManager.archive(WorkflowManager.java:650)
>>        at
>> org.dspace.workflow.WorkflowManager.doState(WorkflowManager.java:604)
>>        at
>> org.dspace.workflow.WorkflowManager.advance(WorkflowManager.java:369)
>>        at
>> org.dspace.app.webui.servlet.MyDSpaceServlet.processPerformTask(MyDSpaceServlet.java:442)
>>        at
>> org.dspace.app.webui.servlet.MyDSpaceServlet.doDSPost(MyDSpaceServlet.java:131)
>>        at
>> org.dspace.app.webui.servlet.DSpaceServlet.processRequest(DSpaceServlet.java:147)
>>        at
>> org.dspace.app.webui.servlet.DSpaceServlet.doPost(DSpaceServlet.java:105)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>>        at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>>        at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>>        at
>> org.dspace.app.webui.filter.RegisteredOnlyFilter.doFilter(RegisteredOnlyFilter.java:98)
>>        at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>>        at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>>        at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>>        at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
>>        at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>>        at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>>        at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>>        at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
>>        at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
>>        at
>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>>        at
>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>>        at
>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>>        at
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
>>        at java.lang.Thread.run(Thread.java:595)
>>
>> Saeed Moaddeli
>> IT Department
>> Encyclopaedia of Iranian Architectural History
>> No.2175 Valiasr Ave. Tehran 1511913511, Iran
>> Tel: +98 (21) 88728125-7 W3: http://eiah.org
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Dspace-general mailing list
>> Dspace-general at mit.edu
>> http://mailman.mit.edu/mailman/listinfo/dspace-general
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.mit.edu/pipermail/dspace-general/attachments/20100103/64a0f160/attachment.htm


More information about the Dspace-general mailing list