2017-03-23 6 views
1

私は、DSpaceのパッケージャでコミュニティを復元しようとしている私は、DSpaceのパッケージャ-r -s -k -a -t AIP</p> <p>このエラーを返すとコミュニティを復元しようとしている

This may take a while, please check your logs for ongoing status while we process each package. org.dspace.content.crosswalk.MetadataValidationException: Bad number value in PREMIS object/objectCharacteristics/size: 2237780334 at org.dspace.content.crosswalk.PREMISCrosswalk.ingest(PREMISCrosswalk.java:122) at org.dspace.content.crosswalk.PREMISCrosswalk.ingest(PREMISCrosswalk.java:88) at org.dspace.content.packager.METSManifest.crosswalkXmd(METSManifest.java:1193) at org.dspace.content.packager.METSManifest.crosswalkBitstream(METSManifest.java:1310) at org.dspace.content.packager.AbstractMETSIngester.addBitstreams(AbstractMETSIngester.java:814) at org.dspace.content.packager.AbstractMETSIngester.ingestObject(AbstractMETSIngester.java:494) at org.dspace.content.packager.AbstractMETSIngester.ingest(AbstractMETSIngester.java:228) at org.dspace.content.packager.AbstractPackageIngester.ingestAll(AbstractPackageIngester.java:145) at org.dspace.content.packager.AbstractPackageIngester.ingestAll(AbstractPackageIngester.java:195) at org.dspace.content.packager.AbstractPackageIngester.ingestAll(AbstractPackageIngester.java:195) at org.dspace.app.packager.Packager.ingest(Packager.java:515) at org.dspace.app.packager.Packager.main(Packager.java:427) 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 org.dspace.app.launcher.ScriptLauncher.runOneCommand(ScriptLauncher.java:226) at org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:78) Caused by: java.lang.NumberFormatException: For input string: "2237780334" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:583) at java.lang.Integer.parseInt(Integer.java:615) at org.dspace.content.crosswalk.PREMISCrosswalk.ingest(PREMISCrosswalk.java:112) ... 17 more org.dspace.content.crosswalk.MetadataValidationException: Bad number value in PREMIS object/objectCharacteristics/size: 2237780334

方法をこれを解決するには? Integer.parseIntはNumberFormatExceptionがスローになる数は、整数ロングに収まらなくなり

https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/content/crosswalk/PREMISCrosswalk.java

答えて

2

。基本的にオブジェクトは大きすぎて、実際のビットストリームに対して宣言されたサイズをチェックすることはできません。コードはバグです:Bitstream.getSizeはlongを返します。これは単なる数十億分の十分な大きさであり、Longと比較されるべきです。 PREMISCrosswalkはLong.parseLongを使用すべきです。上記のスタックトレースを含むhttps://jira.duraspace.org/に問題を提出するか、この質問にリンクしてください。この問題を私たちの注意を引くことに感謝します。

ご希望の場合、あなたはそれが重要だったので、単一の行(PREMISCrosswalk.java:112)は

long ssize = Long.parseLong(ssize); 
+1

int size = Integer.parseInt(ssize); 

からそれを変えることにパッチを適用することにより、この問題を乗り越えることができるはずですシステム内の状況に依存し、システムが利用不可能になることによって時間内にコミュニティを復元する必要が生じました。私はファイルのバックアップを終了し、私は正常に復元されたそれを削除しました。私は新しいバックアップシミュレーションを行い、それをコミュニティに戻して問題を報告しようとします。 –

関連する問題