Details
-
Bug
-
Resolution: Unresolved
-
Low
-
None
-
6.2.7
-
6.02
-
4
-
Severity 3 - Minor
-
1
-
Description
When I try to import an issue with 2 attachments and when these 2 attachments have the same name, JSON importer fails whereas the import is successful with the CSV importer.
Example of the attachment part in JSON:
"attachments" : [
,
{ "name" : "Doc1.docx", "attacher" : "zgraignic", "created" : "2014-07-22T06:55:37.253+0000", "uri" : "file://TeamPulse-attachment-707.docx" }],
Example of the attachment part in CSV:
id;Type;Status;summary;attachment1;attachment2
1;Bug;CLOSED;Summary;"2014-04-30 13:51;zgraignic;Doc1.docx;file://TeamPulse-attachment-598.docx";"2014-05-30 13:51;zgraignic;Doc1.docx;file://TeamPulse-attachment-707.docx"
The exception in the log is the following:
2014-07-23 14:36:09,204 ERROR - Failed to attach attachments to issue TODIMP-6
com.atlassian.jira.plugins.importer.external.ExternalException: com.atlassian.jira.web.util.AttachmentException: Could not move (or copy) attachment from C:\Users\zgraignic\Desktop\atlassian-jira-6.2.7\atlassian-jira-6.2.7-standalone\temp\temporary-jira-importer-attachment-copy-4851771988392712779.tmp to D:\Dev\apps\JIRA_HOME\data\attachments\TODIMP\TODIMP-6\12155: java.io.IOException: File C:\Users\zgraignic\Desktop\atlassian-jira-6.2.7\atlassian-jira-6.2.7-standalone\temp\temporary-jira-importer-attachment-copy-4851771988392712779.tmp does not exist
at com.atlassian.jira.plugins.importer.imports.importer.impl.ExternalUtils.attachFile(ExternalUtils.java:354)
at com.atlassian.jira.plugins.importer.imports.importer.impl.DefaultJiraDataImporter.createIssue(DefaultJiraDataImporter.java:1010)
at com.atlassian.jira.plugins.importer.imports.importer.impl.DefaultJiraDataImporter.importIssues(DefaultJiraDataImporter.java:830)
at com.atlassian.jira.plugins.importer.imports.importer.impl.DefaultJiraDataImporter.doImport(DefaultJiraDataImporter.java:400)
at com.atlassian.jira.plugins.importer.imports.importer.impl.ImporterCallable.call(ImporterCallable.java:26)
at com.atlassian.jira.plugins.importer.imports.importer.impl.ImporterCallable.call(ImporterCallable.java:15)
at com.atlassian.jira.task.TaskManagerImpl$TaskCallableDecorator.call(TaskManagerImpl.java:374)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at com.atlassian.jira.task.ForkedThreadExecutor$ForkedRunnableDecorator.run(ForkedThreadExecutor.java:250)
at java.lang.Thread.run(Thread.java:744)
Caused by: com.atlassian.jira.web.util.AttachmentException: Could not move (or copy) attachment from C:\Users\zgraignic\Desktop\atlassian-jira-6.2.7\atlassian-jira-6.2.7-standalone\temp\temporary-jira-importer-attachment-copy-4851771988392712779.tmp to D:\Dev\apps\JIRA_HOME\data\attachments\TODIMP\TODIMP-6\12155: java.io.IOException: File C:\Users\zgraignic\Desktop\atlassian-jira-6.2.7\atlassian-jira-6.2.7-standalone\temp\temporary-jira-importer-attachment-copy-4851771988392712779.tmp does not exist
at com.atlassian.jira.issue.managers.DefaultAttachmentManager.createAttachmentOnDisk(DefaultAttachmentManager.java:524)
at com.atlassian.jira.issue.managers.DefaultAttachmentManager.createAttachment(DefaultAttachmentManager.java:459)
at com.atlassian.jira.issue.managers.DefaultAttachmentManager.createAttachmentBean(DefaultAttachmentManager.java:423)
at com.atlassian.jira.issue.managers.DefaultAttachmentManager.createAttachment(DefaultAttachmentManager.java:393)
at com.atlassian.jira.issue.managers.DefaultAttachmentManager.createAttachment(DefaultAttachmentManager.java:417)
at com.atlassian.jira.issue.managers.DefaultAttachmentManager.createAttachment(DefaultAttachmentManager.java:405)
at sun.reflect.GeneratedMethodAccessor1819.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129)
at com.sun.proxy.$Proxy329.createAttachment(Unknown Source)
at sun.reflect.GeneratedMethodAccessor1819.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)
at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy965.createAttachment(Unknown Source)
at com.atlassian.jira.plugins.importer.imports.importer.impl.ExternalUtils.attachFile(ExternalUtils.java:338)
When logging the java file activity, it appears that the JSON importer is using the same temporary file for both attachments whereas it uses different temporary files when the 2 attachments on the same issue have different names (i.e. Doc1.docx and Doc2.docx).
Attachments
Issue Links
- was cloned as
-
JIM-1373 Loading...