Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

javax.el.ELException: /dataset.xhtml #{DatasetPage.sizeOfDatasetOrig}: java.lang.NullPointerException #7663

Closed
lmaylein opened this issue Mar 8, 2021 · 25 comments

Comments

@lmaylein
Copy link
Contributor

lmaylein commented Mar 8, 2021

Some of the datasets in our Dataverse installation (v5.3) cannot be accessed. The message is "Internal Server Error - An unexpected error was encountered, no more information is available."

Example: https://heidata.uni-heidelberg.de/dataset.xhtml?persistentId=doi:10.11588/data/10015

This error message can be found in server.log:


[2021-03-08T17:41:59.065+0100] [Payara 5.2020.7] [SEVERE] [] [javax.enterprise.resource.webcontainer.jsf.application] [tid: _ThreadID=109 _ThreadName=http-thread-pool::jk-connector(5)] [timeMillis: 1615221719065] [levelValue: 1000] [[
  Error Rendering View[/dataset.xhtml]
javax.el.ELException: /dataset.xhtml @165,125 value="#{DatasetPage.sizeOfDatasetOrig}": java.lang.NullPointerException
	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:77)
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:170)
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:157)
	at javax.faces.component.UIParameter.getValue(UIParameter.java:113)
	at com.sun.faces.renderkit.html_basic.OutputMessageRenderer.encodeEnd(OutputMessageRenderer.java:79)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:595)
	at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:88)
	at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:70)
	at org.primefaces.component.commandlink.CommandLinkRenderer.encodeEnd(CommandLinkRenderer.java:142)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:595)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:286)
	at com.sun.faces.renderkit.html_basic.PassthroughRenderer.encodeChildren(PassthroughRenderer.java:80)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:566)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:278)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:283)
	at com.sun.faces.renderkit.html_basic.PassthroughRenderer.encodeChildren(PassthroughRenderer.java:80)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:566)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:278)
	at com.sun.faces.renderkit.html_basic.PassthroughRenderer.encodeChildren(PassthroughRenderer.java:80)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:566)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:278)
	at com.sun.faces.renderkit.html_basic.PassthroughRenderer.encodeChildren(PassthroughRenderer.java:80)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:566)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1647)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1650)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:152)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:566)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1647)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1650)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1650)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:468)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:170)
	at org.ocpsoft.rewrite.faces.RewriteViewHandler.renderView(RewriteViewHandler.java:196)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:132)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:132)
	at org.omnifaces.viewhandler.OmniViewHandler.renderView(OmniViewHandler.java:121)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:102)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:76)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:199)
	at javax.faces.webapp.FacesServlet.executeLifecyle(FacesServlet.java:708)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:451)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1636)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:331)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:211)
	at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter(TyrusServletFilter.java:282)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:253)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:211)
	at org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:226)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:253)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:211)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:757)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:577)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:158)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:371)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:520)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:217)
	at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:182)
	at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:156)
	at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:218)
	at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:95)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:260)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:177)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:109)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:88)
	at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:53)
	at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:524)
	at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:89)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:94)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:33)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:114)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:569)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:549)
	at java.lang.Thread.run(Thread.java:748)
Caused by: javax.el.ELException: java.lang.NullPointerException
	at javax.el.BeanELResolver.getValue(BeanELResolver.java:304)
	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:156)
	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:184)
	at com.sun.el.parser.AstValue.getValue(AstValue.java:114)
	at com.sun.el.parser.AstValue.getValue(AstValue.java:177)
	at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:183)
	at org.jboss.weld.module.web.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:73)
	... 76 more
Caused by: java.lang.NullPointerException
	at edu.harvard.iq.dataverse.dataset.DatasetUtil.getDownloadSize(DatasetUtil.java:473)
	at edu.harvard.iq.dataverse.DatasetPage.getSizeOfDatasetOrig(DatasetPage.java:2959)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at javax.el.BeanELResolver.getValue(BeanELResolver.java:299)
	... 83 more
]]

[2021-03-08T17:41:59.075+0100] [Payara 5.2020.7] [WARNING] [] [javax.enterprise.web] [tid: _ThreadID=109 _ThreadName=http-thread-pool::jk-connector(5)] [timeMillis: 1615221719075] [levelValue: 900] [[
  StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception
java.lang.NullPointerException
	at edu.harvard.iq.dataverse.dataset.DatasetUtil.getDownloadSize(DatasetUtil.java:473)
	at edu.harvard.iq.dataverse.DatasetPage.getSizeOfDatasetOrig(DatasetPage.java:2959)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at javax.el.BeanELResolver.getValue(BeanELResolver.java:299)
	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:156)
	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:184)
	at com.sun.el.parser.AstValue.getValue(AstValue.java:114)
	at com.sun.el.parser.AstValue.getValue(AstValue.java:177)
	at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:183)
	at org.jboss.weld.module.web.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:73)
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:170)
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:157)
	at javax.faces.component.UIParameter.getValue(UIParameter.java:113)
	at com.sun.faces.renderkit.html_basic.OutputMessageRenderer.encodeEnd(OutputMessageRenderer.java:79)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:595)
	at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:88)
	at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:70)
	at org.primefaces.component.commandlink.CommandLinkRenderer.encodeEnd(CommandLinkRenderer.java:142)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:595)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:286)
	at com.sun.faces.renderkit.html_basic.PassthroughRenderer.encodeChildren(PassthroughRenderer.java:80)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:566)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:278)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:283)
	at com.sun.faces.renderkit.html_basic.PassthroughRenderer.encodeChildren(PassthroughRenderer.java:80)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:566)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:278)
	at com.sun.faces.renderkit.html_basic.PassthroughRenderer.encodeChildren(PassthroughRenderer.java:80)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:566)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:278)
	at com.sun.faces.renderkit.html_basic.PassthroughRenderer.encodeChildren(PassthroughRenderer.java:80)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:566)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1647)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1650)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:152)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:566)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1647)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1650)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1650)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:468)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:170)
	at org.ocpsoft.rewrite.faces.RewriteViewHandler.renderView(RewriteViewHandler.java:196)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:132)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:132)
	at org.omnifaces.viewhandler.OmniViewHandler.renderView(OmniViewHandler.java:121)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:102)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:76)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:199)
	at javax.faces.webapp.FacesServlet.executeLifecyle(FacesServlet.java:708)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:451)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1636)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:331)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:211)
	at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter(TyrusServletFilter.java:282)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:253)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:211)
	at org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:226)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:253)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:211)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:757)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:577)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:158)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:371)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:520)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:217)
	at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:182)
	at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:156)
	at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:218)
	at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:95)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:260)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:177)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:109)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:88)
	at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:53)
	at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:524)
	at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:89)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:94)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:33)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:114)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:569)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:549)
	at java.lang.Thread.run(Thread.java:748)
]]

@pdurbin
Copy link
Member

pdurbin commented Mar 8, 2021

@lmaylein thanks for opening this issue. I suspect it may be fixed by pull request #7581, which has been merged and will be included in the next release (probably 5.4).

@djbrooke
Copy link
Contributor

djbrooke commented Mar 8, 2021

Thanks @pdurbin, you beat me to it.

@lmaylein, in the meantime, you should be able to resolve this by using the existing Redetect File Size endpoint described in the release notes here:

https://github.com/IQSS/dataverse/blob/develop/doc/release-notes/7205-orig-file-size.md

I'll close this, as we suspect this is fixed, but please let us know if there are any questions!

@djbrooke djbrooke closed this as completed Mar 8, 2021
@lmaylein
Copy link
Contributor Author

lmaylein commented Mar 9, 2021

I first tried it as described here: https://guides.dataverse.org/en/latest/api/native-api.html#datafile-integrity

If I use the localhost address, I have to call CURL with the --insecure parameter (because the hostname of the certificate does not match).

This is the corresponding api response:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://heidata.uni-heidelberg.deapi/admin/datafiles/integrity/fixmissingoriginalsizes">here</a>.</p>
</body></html>

Surprisingly, the call works via the official domain name, which should not be the case according to the documentation:

[dataverse@heidata ~]$ curl https://heidata.uni-heidelberg.de/api/admin/datafiles/integrity/fixmissingoriginalsizes
{"status":"OK","data":{"message":"Found 36 tabular files with missing original sizes.  Kicking off an async job that will repair the files in the background."}}

Even though I called this a few hours ago, this record is still not working:

https://heidata.uni-heidelberg.de/dataset.xhtml?persistentId=doi:10.11588/data/10015

@pdurbin
Copy link
Member

pdurbin commented Mar 12, 2021

I'm reopening this issue because @lmaylein asked me to.

It seems like the focus is now on how to use the Datafile Integrity API.

@pdurbin pdurbin reopened this Mar 12, 2021
@lmaylein
Copy link
Contributor Author

I think that calling the API worked. But unfortunately that did not fix the problem.

@lmaylein
Copy link
Contributor Author

Okay. I found warnings in server.log that seem to come from the Datafile Integrity API. Unfortunately, it cannot be corrected in this way.

[2021-03-25T13:23:28.867+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675008867] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=125, datatable id=1): Aux file does not exist.]]

[2021-03-25T13:23:29.896+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675009896] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=145, datatable id=3): Aux file does not exist.]]

[2021-03-25T13:23:30.907+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675010907] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=146, datatable id=4): Aux file does not exist.]]

[2021-03-25T13:23:31.932+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675011932] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=184, datatable id=5): Aux file does not exist.]]

[2021-03-25T13:23:32.942+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675012942] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=185, datatable id=6): Aux file does not exist.]]

[2021-03-25T13:23:33.953+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675013953] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=186, datatable id=7): Aux file does not exist.]]

[2021-03-25T13:23:34.983+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675014983] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=196, datatable id=8): Aux file does not exist.]]

[2021-03-25T13:23:36.001+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675016001] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=201, datatable id=10): Aux file does not exist.]]

[2021-03-25T13:23:37.020+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675017020] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=205, datatable id=11): Aux file does not exist.]]

[2021-03-25T13:23:38.037+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675018037] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=221, datatable id=14): Aux file does not exist.]]

[2021-03-25T13:23:39.050+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675019050] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=223, datatable id=15): Aux file does not exist.]]

[2021-03-25T13:23:40.063+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675020063] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=229, datatable id=16): Aux file does not exist.]]

[2021-03-25T13:23:41.081+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675021081] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=231, datatable id=17): Aux file does not exist.]]

[2021-03-25T13:23:42.096+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675022096] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=251, datatable id=18): Aux file does not exist.]]

[2021-03-25T13:23:43.104+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675023104] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=252, datatable id=19): Aux file does not exist.]]

[2021-03-25T13:23:44.118+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675024118] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=253, datatable id=20): Aux file does not exist.]]

[2021-03-25T13:23:45.138+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675025138] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=267, datatable id=21): Aux file does not exist.]]

[2021-03-25T13:23:46.162+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675026162] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=270, datatable id=22): Aux file does not exist.]]

[2021-03-25T13:23:47.179+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675027179] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=271, datatable id=23): Aux file does not exist.]]

[2021-03-25T13:23:48.217+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675028217] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=298, datatable id=24): Aux file does not exist.]]

[2021-03-25T13:23:49.226+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675029226] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=299, datatable id=25): Aux file does not exist.]]

[2021-03-25T13:23:50.250+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675030250] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=301, datatable id=26): Aux file does not exist.]]

[2021-03-25T13:23:51.266+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675031266] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=319, datatable id=27): Aux file does not exist.]]

[2021-03-25T13:23:52.274+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675032274] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=320, datatable id=28): Aux file does not exist.]]

[2021-03-25T13:23:53.291+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675033291] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=396, datatable id=29): Aux file does not exist.]]

[2021-03-25T13:23:54.310+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675034310] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=468, datatable id=32): Aux file does not exist.]]

[2021-03-25T13:23:55.328+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675035328] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=469, datatable id=33): Aux file does not exist.]]

[2021-03-25T13:23:56.344+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675036344] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=495, datatable id=34): Aux file does not exist.]]

[2021-03-25T13:23:57.361+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675037361] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=521, datatable id=35): Aux file does not exist.]]

[2021-03-25T13:23:58.384+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675038384] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=525, datatable id=36): Aux file does not exist.]]

[2021-03-25T13:23:59.400+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675039400] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=556, datatable id=37): Aux file does not exist.]]

[2021-03-25T13:24:00.417+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675040417] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=588, datatable id=38): Aux file does not exist.]]

[2021-03-25T13:24:01.424+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675041424] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=589, datatable id=39): Aux file does not exist.]]

[2021-03-25T13:24:02.441+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675042441] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=604, datatable id=40): Aux file does not exist.]]

[2021-03-25T13:24:03.456+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675043456] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=642, datatable id=41): Aux file does not exist.]]

[2021-03-25T13:24:04.481+0100] [Payara 5.2020.7] [WARNING] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675044481] [levelValue: 900] [[
  Exception class java.io.FileNotFoundException caught trying to look up the size of the saved original; (datafile id=689, datatable id=42): Aux file does not exist.]]

[2021-03-25T13:24:05.482+0100] [Payara 5.2020.7] [INFO] [] [edu.harvard.iq.dataverse.ingest.IngestServiceBean] [tid: _ThreadID=262 _ThreadName=__ejb-thread-pool15] [timeMillis: 1616675045482] [levelValue: 800] [[
  Finished repairing tabular data files that were missing the original file sizes.]]

@pdurbin
Copy link
Member

pdurbin commented Mar 25, 2021

datafile id=205

This file definitely seems to be absent. If you go to https://heidata.uni-heidelberg.de/file.xhtml?fileId=205 and try to download the original SPSS binary, it fails. (This is one of the files in the dataset you linked above: https://heidata.uni-heidelberg.de/dataset.xhtml?persistentId=doi:10.11588/data/10015 ).

@lmaylein
Copy link
Contributor Author

This is, how it looks like in database and filesystem:

dvndb=# select * from datafile where id = 205;
 id  | checksumtype |          checksumvalue           |        contenttype        | filesize | ingeststatus | name | previous
datafileid | restricted | rootdatafileid | prov_entityname 
-----+--------------+----------------------------------+---------------------------+----------+--------------+------+---------
-----------+------------+----------------+-----------------
 205 | MD5          | 7ea6fc831f0ce9622bd5f5be73de2313 | text/tab-separated-values |   135848 |              |      |         
           | f          |             -1 |

dvndb=# select * from filemetadata where datafile_id = 205;
  id  |    description     | directorylabel |      label      | restricted | version | datafile_id | datasetversion_id | prov_freefor
m 
------+--------------------+----------------+-----------------+------------+---------+-------------+-------------------+-------------
--
 1574 | Original SPSS file |                | master data.tab | f          |       1 |         205 |               204 | 
  525 | Original SPSS file |                | master data.tab | f          |       1 |         205 |                65 | 
  233 | Original SPSS file |                | master data.tab | f          |       1 |         205 |                16 | 
  228 | Original SPSS file |                | master data.tab | f          |       1 |         205 |                21 | 
(4 rows)

-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007 135848 Jul 30  2014 103
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007 130451 Jul 30  2014 _103
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007 280365 Nov 10  2015 103.D03
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007 266641 Jul 30  2014 104
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007 783101 Jul 30  2014 105
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007   2579 Nov 27  2019 export_Datacite.cached
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007   9497 Nov 27  2019 export_dataverse_json.cached
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007   2661 Nov 27  2019 export_dcterms.cached
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007  12672 Nov 27  2019 export_ddi.cached
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007  41935 Oct 29  2014 export_ddi.xml
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007  21785 Nov 27  2019 export_html.cached
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007   1404 Oct 29  2014 export_marc
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007   4505 Nov 27  2019 export_oai_datacite.cached
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007   1801 Nov 27  2019 export_oai_dc.cached
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007   2777 Oct 29  2014 export_oai_dc.xml
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007   4768 Nov 27  2019 export_oai_ddi.cached
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007   7354 Nov 27  2019 export_OAI_ORE.cached
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007   2936 Nov 27  2019 export_schema.org.cached

This is one of our first data publications (using Dataverse 3.x). I wonder about the file names. With newer publications the file names in the file system consist of hash values.

@lmaylein
Copy link
Contributor Author

It seems that only datasets that already existed in version 3.x are affected.

@djbrooke
Copy link
Contributor

Thanks @lmaylein for the details, we'll need to take a deeper look.

@lmaylein
Copy link
Contributor Author

lmaylein commented Apr 6, 2021

In addition: This is what the entry in dvobjects looks like.

dvndb=# select * from dvobject where dtype = 'DataFile' and identifier = 'data/10015/BZO17M';
 id  |  dtype   |     createdate      | indextime |    modificationtime     | permissionindextime | permissionmodificationtime | previewi
mageavailable |   publicationdate   | creator_id | owner_id | releaseuser_id | storageidentifier | authority |   globalidcreatetime    | 
identifierregistered |    identifier     | protocol 
-----+----------+---------------------+-----------+-------------------------+---------------------+----------------------------+---------
--------------+---------------------+------------+----------+----------------+-------------------+-----------+-------------------------+-
---------------------+-------------------+----------
 205 | DataFile | 2014-07-30 14:23:19 |           | 2017-04-06 08:53:41.102 |                     |                            |         
              | 2014-07-30 02:00:00 |            |       42 |                | file://103        | 10.11588  | 2020-03-31 13:47:59.413 | 
t                    | data/10015/BZO17M | doi
(1 row)

Is there anything else I could test?
It seems to only affect tabular data ingested files.
This is another file of the same dataset which works without any problems:
https://heidata.uni-heidelberg.de/file.xhtml?fileId=206

@lmaylein
Copy link
Contributor Author

Is there anything else I can contribute? Is there any hope that the upgrade to version 5.4 will solve the problem?

@pdurbin
Copy link
Member

pdurbin commented Apr 22, 2021

@lmaylein file://103 means that Dataverse expects there to be a file on disk with a filename of "103". This would be inside the directory for the dataset. I noticed a "103" in your output above:

-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007 135848 Jul 30 2014 103

@lmaylein
Copy link
Contributor Author

@pdurbin Yes, that's right. The file is there.

@lmaylein
Copy link
Contributor Author

@pdurbin It is notable that the problem probably only occurs with tabular ingested files.

@qqmyers
Copy link
Member

qqmyers commented Apr 23, 2021

A guess: In v4.x and 5.x original files are assumed to have the name of the original file appended with ".orig", e.g.:

178fa386d3a-838d2b08ec8a
178fa386d3a-838d2b08ec8a.orig

Do your orig files have a different naming convention coming from 3.x and therefore aren't being found?

@lmaylein
Copy link
Contributor Author

You can find the contents of the directory above (#7663 (comment)). The files were named this way by 3.x. A file named *.orig does not exist.

@lmaylein
Copy link
Contributor Author

Should I try to rename the files manually? If so, which file name should I choose? Does it have to be a hash value, as with newer datasets?

@pdurbin
Copy link
Member

pdurbin commented May 20, 2021

The file names need to match whatever is in the database. No, it shouldn't need to be a hash value.

@lmaylein
Copy link
Contributor Author

@pdurbin: Thank you very much...

cp 103.D03 103.orig

=> Download from https://heidata.uni-heidelberg.de/file.xhtml?fileId=205 works :-)

And after calling the "Datafile Integrity" api
https://heidata.uni-heidelberg.de/dataset.xhtml?persistentId=doi:10.11588/data/10015
no longer produces an error.

Then I would now rename the other files manually. But what can I do in this case?

-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007  129874 Aug 12  2014 _197
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007   37274 Dec  9  2015 197.D04
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007  500993 Aug 12  2014 198
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007  540393 Aug 12  2014 _198
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007 1186477 Dec  9  2015 198.D03
-rw-r--r-- 1 BWSERVICESAD\fm370_s4 BWSERVICESAD\sd17c007  112798 Dec  9  2015 198.D04

How to rename 198.D03 and 198.D04? If necessary, I can find out which is the original file via the checksum. But what is hiding behind the other file?

Can you explain me the old scheme of file names (from version 3.x)?

@pdurbin
Copy link
Member

pdurbin commented May 20, 2021

@lmaylein great questions. I didn't have enough time in DVN 3.x to know the file naming conventions. I'll ask around a bit.

@landreev
Copy link
Contributor

landreev commented May 20, 2021

@lmaylein

cp 103.D03 103.orig

actually, no, I don't think that's correct. It is the saved original of an ingested tabular file that used to be stored with the "_" prefix.
So you want to do this:
mv _103 103.orig

I'm trying to remember when we made that change, and which release note the instructions would be in...

@landreev
Copy link
Contributor

OK, the change was made in v4.2.2: https://github.com/IQSS/dataverse/releases/tag/v4.2.2

From the "Post-deployment tasks" in the upgrade instruction, above:

2. The following shell script needs to be run in your files directory:

(the script simply renames any legacy "saved original files", with the filenames like _filename, as filename.orig)

  #!/bin/sh

  find . -type f | while read file
  do
    origfile=`echo $file | sed 's:[^/]*$:_&:'`
    if [ -f "$origfile" ]
    then
       /bin/mv -f $origfile $file".orig" 
    fi
  done

@landreev
Copy link
Contributor

landreev commented May 20, 2021

As for the remaining legacy files, the ones with the .D0* extensions - it is pretty safe to ignore them. Those used to be automatically-generated and cached format conversions, supported by the old DVN. They are not used by Dataverse in its current form.

@lmaylein
Copy link
Contributor Author

I had already suspected that I had overlooked an update step some time ago, but had only checked the first versions of 4.x. Many thanks for your help.

IQSS/dataverse (TO BE RETIRED / DELETED in favor of project 34) automation moved this from Up Next 🛎 to Done 🚀 May 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

No branches or pull requests

5 participants